以下内容是基于文档摘抄重点
一、基础类型
typescript基础类型有一下几种
-
布尔值boolean
-
数字number
-
字符串string
-
数组,有两种标识方式
let list:number[]=[1,2]或者使用数组泛型Array<元素类型>let list:Array<number>=[1,2] -
元组(tuple), 元组类型允许标识一个已知元素数量和类型的数组,各元素类型不必相同。如
let x:[string,number]=['a',1] -
枚举(enum), 枚举类型是对javascript标准数据类型的一个补充
-
any, any类型允许赋值任意类型的值,同时在他上面也可以调用任意的方法,对应的object类型也可以赋值任意数值,但是他不能调用这个类型上面的方法,即便他有这些方法
let notSure:any=4 notSure.toFixed();//ok let prettySure:object=4; prettySure.toFixed(); //error -
Void,和any相反,他标识没有任何类型,比如函数没有返回值是,返回值得类型就是void,void类型只能被赋值为undefined或者null
functionwarnUser():void{ } -
undefined
-
null
-
never 表示哪些永不存在的值得类型,例如哪些总是会抛出异常或者根本不会返回值得函数表单时的返回值类型,他可以被赋值给任意类型,但出了never本身外,不能被赋值其他任意类型
-
object 表示非原始类型
类型断言
通过类型断言可以告诉编译器,你知道自己在做什么,不需要进行特殊的数据检查和解构。类型断言只在编译阶段起作用。有两种写法
// 尖括号语法
let someValue:any="this is a";
let strLength:number=(<string>someValue).length;
// as语法
let someValue:any="this is a";
let strLength:number=(someValue as string).length;
jsx中,只允许as语法