本文只是本人复习
原文来自--学习TypeScrip1(基础类型)_小满 typescript_小满zs的博客-CSDN博客
目录
TS是JS的超集,所以JS基础的类型都包含在内
1.JS的八种内置类型
let str: string = "jimmy";
let num: number = 24;
let bool: boolean = false;
let u: undefined = undefined;
let n: null = null;
let obj: object = {x: 1};
let big: bigint = 100n;
let sym: symbol = Symbol("me");
2.空值类型
JavaScript 没有空值(Void)的概念,在 TypeScript 中,可以用 void
表示没有任何返回值的函数
function voidFn(): void {
console.log('test void')
}
void
类型的用法,主要是用在我们不希望调用者关心函数返回值的情况下,比如通常的异步回调函数
void也可以定义undefined 和 null类型---undefined和null(需要关闭strict模式)
let u: void = undefined
let n: void = null;
3.Null和undefined类型
let u: undefined = undefined;//定义undefined
let n: null = null;//定义null
void 和 undefined 和 null 最大的区别
与 void
的区别是,undefined
和 null
是所有类型的子类型。就是说你可以把 null
和 undefined
赋值给其他类型(前提:关闭严格模式)
下面代码是将test void 类型赋值给 num2 string类型
//这样写会报错 void类型不可以分给其他类型
let test: void = undefined
let num2: string = "1"
num2 = test //报错:不能将类型“void”分配给类型“string”
null和undefine在关闭严格模式下,可以赋值给其他类型
//这样是没问题的
let test: null = null
let num2: string = "1"
num2 = test
//或者这样的
let test: undefined = undefined
let num2: string = "1"
num2 = test