常量断言(const assertion)是 TypeScript 中一种用于将一个表达式断言为一个字面量类型的方式。通过使用常量断言,开发者可以告诉 TypeScript 编译器,某个表达式的值在后续的代码中不会被修改,从而将其视为一个具体的字面量类型而非通用的类型。
以下是一个使用常量断言的例子:
let x = "Hello" as const;
let y: typeof x = "Hello"; // 正确,因为 x 的类型是 "Hello"
let z: typeof x = "Hi"; // 错误,因为 x 的类型是 "Hello",不能赋值为 "Hi"
在这个例子中,x
被使用常量断言 as const
,表示 x
的值在后续的代码中不会被修改。因此,x
被确定为字面量类型 "Hello"
,而不是通用的字符串类型。通过 typeof x
,我们可以使用 x
的确切类型来声明其他变量,从而确保类型的一致性。