ES6中的6个基本数据类型和3个引用数据类型
基本数据类型
Boolean
Number
String
undefined
null
Symbol
引用数据类型
Object
Array
Function
TypeScript对ES6数据类型的扩展
可以分为以下6种
void
any
never
元组
枚举
高级类型
TypeScript中数据类型的声明
Boolean
let bool: boolean = true
Number
let num: number = 1
String
let str: string = 'hello'
Array
let arr1: number[] = [1, 2, 3, 1];
let arr2: Array<string> = ['1', '2', '4'];
Function
let fun1 = (x: number, y: number) => { // void 无返回值
x + y;
}
let fun2 = (x: number, y: number) => x + y; // 返回number
let fun3: (x: number, y: number) => number; // 返回number
fun3 = (a, b) => a * b;
Object
let obj: {x: number, y: number} = {x: 1, y: 2}
obj.x = 4;
console.log(obj.x) //4
Symbol
let s1: symbol = Symbol();
let s2 = Symbol();
console.log(s1 === s2) //false
undefined & null
// undefined null 只能等于自己 且在开启严格模式的情况下 不允许赋值给其他类型(虽然在js中默认undefined和unll是其他任何类型的子类型,但在ts中也不行)
let un: undefined = undefined;
let nu: null = null;
void
let noReturn = () => {} // 没有返回值的函数(隐式返回undefined)
never
// 永远不会有返回值的函数(不能正常结束的函数)
let error = () => {
throw new Error('error');
}
let endless = () => {
while(true) {}
}
any
// 兼容es6
let x;
x = 1;
x = "2"
let y: any = false;
x = 1;
x = "2"
联合类型
let ns: number | string = 1;
ns = '2' // 既可以是number也可以是string