TypeScript的数据类型
布尔类型(boolean)
let b:boolean = true;
or
let b:boolean = false;
数字类型(number)
let num:number = 123;
字符串类型(string)
let str:string = 'hello ts';
数组类型(array)
有两种定义方式
// 第一种
// 定义数字类型数组
let numArr:number[] = [1, 2, 3, 4, 5];
// 定义字符串类型数组
let strArr:string[] = ['a', 'b', 'c'];
// 第二种
// 定义数字类型数组
let numArr:Array<number> = [1, 2, 3, 4];
// 定义字符串类型数组
let strArr:Array<string> = ['a', 'b', 'c'];
//任意类型数组
let anyArr:Array<any> = [{num: 1}, {str: '1'}];
元组类型(tuple)
元组其实也是数组的一种
不同的是,数组要么是纯数字,要么纯字符串等
元组可以混合使用,只要一一对应就行
let tup:[string, number, boolean] = ['str', 12, true];
枚举类型(enum)
enum Flag {success = 1, error = -1};
let f:Flag = Flag.success;
任意类型(any)
let an:any = 123;
an = 'hello ts';
// any的一种用法
let oBox:any = document.getElementById('box');
oBox.style.color = 'red';
null和undefined
// 一个元素可以设置多个类型
let n: number | undefined;
console.log(n); // undefined
n = 1;
console.log(n); // 1
void类型
表示没有任意类型
通常用于方法
// 在方法没有返回值的情况下
function run():void {
console.log(run);
}
// 返回一个数字
function getnum():number {
return 123;
}
never类型
声明never的变量只能被never类型赋值
表示从来不会出现的值
// 比如抛出一个异常
let a:never;
a = (() => {
throw new Error('错误')
})()