布尔类型
使用构造函数Boolean创造的对象不是布尔值:
let createdBoolean: boolean = new Boolean(1)
new Boolean返回的是一个Boolean对象
let createdBoolran: Boolean = new Boolean(1)
let booleand: boolean = true;
let booleand2: boolean = Boolean(1)
void类型
void类型也可以定义undefined和null类型
let u: void = undefined
let n: void = null
开启了严格模式, null不能赋予void类型
any类型 unknown顶级类型
ts3.0中引入的unknown类型也被认为是top type,但他更安全,所有类型都可以分配给unknown
区别:
1.unknown可赋值的对象只有unknown 和any
let b: unknown = '123'
let a: any = '456'
a= b
2.any类型在对象没有这个属性的时候,获取是不会报错的
let obj: any = {b: 1}
obj.a
unknown是不能调用属性和方法
let obj: unknown = {b: 1, ccc:():number => 213}
obj.b
obj.ccc
5.数组类型
var arr: number[] = [1, 2, 3];
数组泛型
let arr; Array = [1, 2, 3, 4, 5]
接口表示数组
interface NumberArray {
}
//表示索引的类型是数字时,它的值必须是数组
let fibonaqie: NumberArray = [1, 1, 2, 3, 5];
多维数组
let data: number[][] = [[1,2], [3,4]]
any在数组中的应用
let lisr: any[] = ['test', 1]
arguments类数组
function Arr(...args: any): void {
console.log(arguments);
let arr:IArguments = arguments
}
Arr(111, 222, 333)
//其中IArugments是TypeScript中定义好了的类型
interface IArguments {
length: number;
callee: Function;
}