供自己学习之用,原文链接: 学习TypeScrip1(基础类型)_小满zs的博客-CSDN博客
TS是JS的超集,所以JS基础的类型都包含在内。
起步安装:
npm install typescript -g
基础类型:Boolean, Number,String,null,undefined 以及ES6的Symbol 和 ES10 的BigInt.
1.字符串类型
字符串是使用String定义的:
let a: string = '123'
//普通声明
//也可以使用ES6的字符串模板
let str: string = `dddd&{a}`
2.数字类型
支持十六进制、十进制、八进制和二进制
let notAnumber: number = NaN; //Nan
let num: number = 123; //普通数字
let infinityNumber: number = Infinity; //无穷大
let decimal: number = 6; //十进制
let hex: number = 0xf00d; //十六进制
let binary: number = 0b1010; //二进制
let octal: number = 0o744; //八进制
3.布尔类型
注意:使用构造函数Boolean创造的对象不是布尔值。
let createdBoolean: boolean = new Boolean(1)
//这样会报错,因为事实上new Boolean()返回的是一个Boolean对象
let booleand: boolean = true; //可以直接使用布尔值
let booleand2: boolean = new Boolean(1); //也可以通过函数返回布尔值
4.空值类型
JavaScript没有空值(Void)的概念,再typescript中,可以使用 void 表示没有任何返回值的函数。
function voifFn(): void {
console.log('test void')
}
void类型的用法,主要是用在我们不希望调用者关心函数返回值的情况下,比如通常的异步回调函数。
void 也可以定义 undefined 和 null 类型
let u: void = undefined
let u: void = null
5.null 和 undefined 类型
let u: undefined = undefined; //定义undefined
let n: null = null; //定义null
void 和 undefined 和 null 最大的区别
与void 的区别是,undefined 和 null 是所有类型的子类型。
也就是说undefined类型的变量,可以赋值给string类型的变量:
//这样写会报错,void类型不可以分给其他类型
let test: void = undefined
let num2: string = '1'
num2 = test
//这样是没问题的
let test: null = null;
let num2: string = '1'
num2 = test
//或者这样
let test: undefined = undefined;
let num2: string = '1'
num2 = test
TIPS 注意:
如果你配置了tsconfig.js开启了严格模式:
{
"compilerOptions":{
"strict": true
}
}
null 不能 赋予 void 类型