文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
原始类型
number / string / boolean / null / undefined / symbol / bigint
const name: string = 'wangxiaobia';
const age: number = 18;
const male: boolean = false;
const undef: undefined = undefined;
const nul: null = null;
const bigIntVar1: bigint = 9007199254740991n;
const symbolVar: symbol = Symbol('unique');
null 和 undefined
null 与 undefined 都是有具体意义的类型。在没有开启 strictNullChecks 检查的情况下,会被视作其他类型的子类型,比如 string 类型会被认为包含了 null 与 undefined 类型:
const temp1: null = null;
const temp2: undefined = undefined;
const temp3: string = null;
const temp4: string = undefined;
void
描述一个内部没有 return,或没有显示 return 一个值的函数的返回值。
function func1 () {};
function func2 () { return };
function func3 () {
return undefined;
}
func1 与 func2 的返回值类型会被隐式推导为 void,显式返回了 undefined 值的 func3 其返回值类型被推导为了 undefined。但在实际的代码执行中,func1 与 func2 的返回值均是 undefined。
虽然 func3 的返回值类型会被推导为 undefined,但仍可以使用 void 类型进行标注,因为在类型层面 func1、func2、func3 都表示“没有返回一个有意义的值”。
void 表示一个空类型,而 null 与 undefined 都是一个具有意义的实际类型。而 undefined(null) 能够被赋值给 void 类型的变量,但需要在关闭 strictNullChecks 配置的情况下才能成立。
const voidVar1: void = null;
const voidVar2: void = undefined;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论