TypeScript类型检查

类型检查是验证程序中类型约束是否正确的过程。类型检查既可以在程序编译时进行,即静态类型检查;也可以在程序运行时进行,即动态类型检查。TypeScript支持静态类型检查,JavaScript支持动态类型检查。

为了满足不同用户的需求,TypeScript提供了两种静态类型检查模式:

  • 非严格类型检查(默认方式)。
  • 严格类型检查。

非严格类型检查

非严格类型检查是TypeScript默认的类型检查模式。在该模式下,类型检查的规则相对宽松。例如,在非严格类型检查模式下不会对undefined值和null值做过多限制,允许将undefined值和null值赋值给string类型的变量。当进行JavaScript代码到TypeScript代码的迁移工作时,非严格类型检查是一个不错的选择,因为它能够让我们快速地完成迁移工作。

严格类型检查

该模式下的类型检查比较激进,会尽可能地发现代码中的错误。例如,在严格类型检查模式下不允许将undefined值和null值赋值给string类型的变量。启用严格类型检查模式能够最大限度地利用TypeScript静态类型检查带来的益处。从长远来讲,使用严格类型检查模式对提高代码质量更加有利,因此建议在新的工程中启用严格类型检查。

TypeScript提供了若干个与严格类型检查相关的编译选项,例如“--strictNullChecks”“--noImplicitAny”等。

在学习TypeScript语言的过程中,推荐启用所有严格类型检查编译选项。如果使用TypeScript官网提供的在线代码编辑器,那么这些严格类型检查编译选项是默认开启的。如果使用本地开发环境,那么可以在工程的tsconfig.json配置文件中启用“--strict”编译选项。示例如下:

{
    "compilerOptions": {
        "strict": true,
    }
}

此例中,将“--strict”编译选项设置为true将开启所有的严格类型检查编译选项。它包含了前面提到的“–strictNullChecks”和“–noImplicitAny”编译选项。

const coolcou: string = undefined;

console.log(coolcou);

运行结果:

TypeScript类型检查

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!