xcatliu / typescript-tutorial

TypeScript 入门教程
https://ts.xcatliu.com
10.44k stars 1.33k forks source link

关于void、undefined以及null #123

Closed hu-qi closed 4 years ago

hu-qi commented 4 years ago

看到您有提及到Void、Undefined以及Null的一些区别 image

~~不过在我本地有些意外,编译没报错,但是vs code中的插件有提示错误信息,当前环境 是用的ts版本为3.8.3,TSLint拓展版本为1.2.3。~~ 应该是文件没保存的原因😂,已经get到Type 'void' is not assignable to type 'number'.

let U: undefined;
let num: number = U;  // 不能将类型“undefined”分配给类型“number”。ts(2322)
let V: void;
let _num: number = V;  // 不能将类型“void”分配给类型“number”。
let N: null;
let __num: number = N; // 不能将类型“null”分配给类型“number”。

image

还有个诡异的情况,上面代码 tslint插件提示 在赋值前使用了变量“N”image

最后还是没能理解到void、undefined以及null其中的奥妙😂

hu-qi commented 4 years ago

崩溃了 😂