ts 提供数据类型:
boolean 布尔
number 数字
string 字符串
array 数组
tuple 元组:数组元素数据类型不同时,需要使用元组
enum 枚举
any 任意类型
void 没有任何类型
null 定义null,一般很少用
undefined 定义undefined,很少用
never 永不存在的值的类型
ts 定义数据:
定义并赋值:var [变量名] : [类型] = 值;
定义不赋值:var [变量名] : [类型];
对比 js
// boolean
var a = true;
var a: boolean = true;
// number
var b = 100;
var b: number = 100;
// string
var c = 'str';
var c: string = 'str';
// array
var d = [1,2,3];
var d1: number[] = [1, 2, 3]; //第一种方式
var d2: Array<number> = [1, 2, 3]; //第二种方式
// tuple
var e = ['asd', 23];
var e1: [string, number] = ['asd', 23];
// enum 没有初始化,默认初始化值为0,每项+1, 数值不能作为键名
enum f {
f1 = 1, // 1
f2, // 2
f3, // 3
f4 // 4
};
console.log(f['f3']); // 3
// any 表示允许赋值为任意类型,如果在声明的时候,未指定其类型未进行初始赋值,那么它会被识别为任意值类型
var g1:any = [];
var g2:any = {g21:1, g22:6};
// void 与any正好相反, 表示没有任何类型, 一般用于函数返回值
var fun = (): void => {
console.log('人间清醒');
}
fun()
// 声明void没什么用,只能为它赋予undefined和null(官网说null可以,试了下null会报错)
var h: void = undefined
// null 定义null值
var i: null = null
// undefined
var j: undefined = undefined
// never 永不存在的值的类型,never类型是那些总是会抛出异常或根本就不会有返回值的函数表达式或箭头函数表达式的返回值类型
function error(message: string): never {
throw new Error(message);
}