ts数据类型
1.number 数字类型
let num1 : number = 6;
编译出来的是var num1 : number = 6;
2.string 字符串
let myName : string = 'Tom'
let temp: string = `hello, my name is ${myName}`
模板字符串,,反单引号加 ${}
3.void 空值
用于没有任何返回值的函数中
比如只是想打印一条消息或者弹出提醒的函数
function alertForm():void {
alert(‘11111111’)
}
4.null和undfined
let a : null = null;
let b : undfined = undfined;
null和undfined是所有类型的子类型,比如可以定义一个number类型的变量值为undfined。但是void不可以
5.any 任意值
在js中,定义变量时没有规定类型,赋值时可以随意更改类型。但是在Ts中是不允许的,如果想这样做,可以定义any类型,允许被赋值为任意类型。
let aaa : any = 'seven';
let aaa = 7;
如上改变了变量的类型也是可以的。
在任意值上访问任何属性都是允许的,可以认为,声明一个变量为任意值之后,对它的任何操作,返回的内容的类型都是任意值。
变量如果在声明的时候,没有指定其类型,也会被认为是any类型。
let something ;
let something = 'seven';
let something = 7 ;
如上是可以的,如果只是声明并没有赋值,可以认定为any类型,但是如
let something = 'seven';
let something = 7 ;
这种就会报错,因为Ts会认为此变量为string类型,所以不能再随意更改;这就是类型推断。
如果定义的时候没有赋值,不管之后有没有赋值,都会被推断成 any
类型而完全不被类型检查
类型断言??