TypeScript类型系统基础——类型检查
类型检查是检查程序中类型约束是否正确的过程。类型检查既可以在程序编译时进行,即静态类型检查;也可以在程序运行时进行,即动态类型检查。TypeScript 支持静态类型检查,JavaScript 支持动态类型检查。
为了满足不同用户的需求,TypeScript 提供了 两种 静态类型检查模式:
-
- 非严格类型检查(默认方式)
- 严格类型检查
1.1、非严格类型检查
在非严格模式下,TypeScript 的类型检查相对较为宽松。如果你为变量声明了一个类型,但赋值给了另一种类型,TypeScript 可能会允许这样的操作,而不会抛出错误。此外,非严格模式还允许某些在严格模式下会被认为是错误的操作。
let num: number = "hello"; // 在非严格模式下,这不会引发错误
2.2、严格模式
相比之下,严格模式的类型检查更为严格。如果你为变量声明了一个类型,但赋值给了另一种类型,TypeScript 将抛出错误。这有助于在编译阶段捕获更多的类型错误,从而提高代码的质量。
要启用严格模式,你需要在你的tsconfig.json
文件中设置"strict": true
。这将会启用一系列严格的类型检查选项,包括noImplicitAny
、strictNullChecks
、strictFunctionTypes
和strictBindCallApply
等。
let num: number = "hello"; // 在严格模式下,这会引发错误
在这个例子中,我们声明了一个类型为number
的变量num
,但我们试图将一个字符串"hello"
赋值给它。在严格模式下,TypeScript 会抛出错误,因为这个赋值操作违反了变量的类型约束。
使用严格模式可以帮助你编写更可靠、更易于维护的代码,因为它能够在编译阶段捕获更多的类型错误。然而,这也可能需要你投入更多的时间来处理类型错误和进行类型注解。
标签:TypeScript,入门,错误,检查,模式,严格,类型 From: https://www.cnblogs.com/zuoyang/p/17740547.html