typeScript 数据类型
为了让程序有价值,我们需要能够处理最简单的数据单元:数字,字符串,结构体,布尔值等。 TypeScript支持与JavaScript几乎相同的数据类型,此外还提供了实用的枚举类型方便我们使用。
布尔值
let isDone : boolean = false;
数字
let num : number = 10;
字符串
let username : string = 'hello';
数组
let list: number[] = [1,2,3];
let list1:Array<string> = ['1']
元组 Tuple
元组类型允许一个已知元素数量和类型的数组, 各元素的类型不必相同。
// 声明一个元组
let arr:[string, number];
arr = ['12',12]
枚举
enum 类型是对javaScript 标准数据类型的一个补充。 使用枚举类型可以为一组数值赋予友好的名字
any
有时候 , 我们会想要为那些在编译阶段还不清楚类型的变量指定一个类型。 那么我们可以使用 any 类型来标记这些变量
let notSure : any = '2'
notSure = 1;
let list: any[] = [1,'2',false]
void
某种角度上来说 , void 类型像是与 any 类型想反 ,它表示满意如何类型。当一个函数没有返回值时 ,你通常见到其返回值类型是 void
function hello():void{
console.log('hello')
}
null 和 undefined
ts 里 , undefined 和 null 两者各自有自己的类型分别叫做 undefined 和 null
let u : undefined = undefined;
let n : null = null;
never
never 类型表示的是那些永不存在的值的类型。
object
object 表示非原始类型 , 它就是除了 number , string , boolean , symbol ,null 或 undefined 之外的类型
let o : object = {
name : '1'
}
类型断言
有时候你会遇到这样的情况 , 你会比 ts 更了就某个值的详细详细。 通常这会发生在你清除地知道一个实体具有比它现有类型更确切的类型。
类型断言就好比其他语言中的强制类型转换
let some : any = 1;
let len : number = (<string>some).length;
let l : number = (some as string).length;