Ts中基础类型与进阶类型

54 阅读1分钟

布尔类型

使用构造函数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;

}