TypeScript 教程

浏览6968
更新时间2025-08-12

类型:any

any 是一种禁用类型检查并实际上允许使用所有类型的类型。

下面的例子没有使用 any,将会抛出一个错误:

没有 any 的例子

let u = true;
u = "string"; // 错误:类型 'string' 不能分配给类型 'boolean'。
Math.round(u); // 错误:类型为 'boolean' 的参数不能分配给类型为 'number' 的参数。

将特殊类型 any 设置为 true 会禁用类型检查:

带有 any 的例子

let v: any = true;
v = "string"; // 没有错误,因为它可以是 “any” 类型
Math.round(v); // 没有错误,因为它可以是 “any” 类型

由于 any 禁用了类型检查,因此它可以作为一种有用的方法来解决错误,但 TypeScript 将无法提供类型安全性,而且依赖类型数据的工具(如自动完成)将无法工作。请记住,应该不惜 “任何” 代价避免使用它......

类型:unknown

unknown 是一种与 any 类似但更安全的替代方案。

TypeScript 将阻止使用 unknown 类型,如下面的例子所示:

let w: unknown = 1;
w = "string"; // no error
w = {
  runANonExistentMethod: () => {
    console.log("I think therefore I am");
  }
} as { runANonExistentMethod: () => void}
// 当我们不知道类型时,如何避免下面注释掉的代码出现错误?
// w.runANonExistentMethod(); // Error: Object is of type 'unknown'.
if(typeof w === 'object' && w !== null) {
  (w as { runANonExistentMethod: Function }).runANonExistentMethod();
}
// 尽管我们必须多次转换,但我们可以在 if 中进行检查以确保我们的类型安全,并进行更安全的转换

将上面的例子与之前的带有 any 的例子进行比较。

当您不知道要键入的数据类型时,最好使用 unknown。要稍后添加类型,您需要进行类型转换。

类型转换是当我们使用 “as” 关键字来说属性或变量是属于转换后的类型时。

类型:never

never 在定义时实际上会抛出一个错误。

let x: never = true; // 错误:类型 'boolean' 不能分配给类型 'never'。

never 很少使用,尤其是单独使用,其主要用途是在高级泛型中。

类型:undefined 和 null

undefined 和 null 是分别引用 JavaScript 原语 undefined 和 null 的类型。

let y: undefined = undefined;
let z: null = null;

除非在 tsconfig.json 文件中启用了 strictNullChecks,否则这些类型没有多大用处。

相关视频

更多

免费

前端入门_HTML5
初级前端入门_HTML5

64.8万次学习

收藏

免费

30分钟学会网站布局
初级30分钟学会网站布局

24.6万次学习

收藏

免费

CSS视频教程-玉女心经版
初级CSS视频教程-玉女心经版

41.1万次学习

收藏

免费

JavaScript极速入门_玉女心经系列
初级JavaScript极速入门_玉女心经系列

76.4万次学习

收藏

精品课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

65万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

41.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

76.8万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

64.2万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

24.4万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

36.3万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

133.5万人学习

热门下载

更多
phpStudy 2018最新版
phpStudy 2018最新版

集成PHP7,16种组合,超全大合集

下载

VC9 32位
VC9 32位

VC9 32位 phpstudy集成安装环境运行库

下载

VC11 32位
VC11 32位

VC11 32位 phpstudy集成安装环境运行库​

下载

php程序员工具箱完整版
php程序员工具箱完整版

程序员工具箱 v1.0 php集成环境

下载

VC14 32位
VC14 32位

VC14 32位 phpstudy安装环境运行库

下载

SublimeText3汉化版
SublimeText3汉化版

中文版,非常好用

下载

Notepad++ Windows版
Notepad++ Windows版

Notepad++ 8.9.7 Windows版官方安装包,适合 Windows 用户进行代码编辑、文本处理、语法高亮和插件扩展配置。

下载