TypeScript显式类型
在ts里,如果在严格模式下我们没有person和date进行类型限制,那么它将会报错。我们必须对类型进行手动定义,这个就叫做显式类型,我们必须严格按照定义对传入的参数类型进行限制,,如图我们定义的是一个string和一个Date类型,那么我们传入的参数格式就必须是string类型的参数和Date类型的参数。
在非严格模式下,如果我们不对参数的类型进行限制,那么TypeScript也会自动的对参数类型进行识别和定义,我们称之为上下文类型。
let msg='hello world' //会自动分配为string类型; msg=1;// 此时我们对参数赋值为数字将会报错.
降级编译
我们知道并不是所有的浏览器都支持ES6的此时我们就需要降级编译了。我们可以在tsconfig.json里面配置"target":"es5",通常情况下ts默认是以es3为目标的。
严格模式
"strict":true,我们可以通过配置tsconfig.json里的这个配置项来控制是否开启严格模式,在严格模式下你必须定义变量的显示类型,函数返回值的类型等等,虽然严格模式会导致更多的工作,但是从代码可维护性的长远目光来看这一切都是值得的。
TypeScript常见类型
string number boolean 元组 枚举 any never null undefined symbol
- string类型定义:
let str:string='hello world' - number类型定义:
let num:number=100 - boolean类型定义:
let bool:boolean=false - arr类型定义:
let arr:number[]=[1,2,3,4]或者let Array<number>=[1,2,3,4](泛型写法) - any:
let obj:any={x:0,y:1}any将禁用关于该变量的任何类型检查,不建议随便这么做 - 元组:
let arr3:[string,number];arr3=['a',12] - 枚举:
enum Color {Red,Blue,Yellow}