ts的数据类型,为了使编写的代码更规范,更有利于管理,增加了类型校验
可以用单引号’ ’ 双引号 " " 或者反引号
let heroName:string = "安其拉"true / false 不可以像js中用0、1代替
let isSingleDog:boolean = true; isSingleDog =false isSingleDog =1 //报错 Type 'number' is not assignable to type 'boolean'.这两种类型除了本身,没有其他值
let undf:undefined = undefined; let nl:null = null;定义一个数组,有两种方式: 1. let 数组名:类型[] =[值1,值2] 可以在元素类型后面接上 [],表示由此类型元素组成的一个数组:
let list: number[] = [1, 2, 3];2.let 数组名:Array<类型> =[值1,值2] 第二种方式是使用数组泛型,Array<元素类型>:
let list: Array<number> = [1, 2, 3];特点:类型限制 长度不限
访问元组中元素和长度
console.log(tup[0]) console.log(tup.length)特点:1规定元组长度 2.为每个元素规定类型
enum类型是对JavaScript标准数据类型的一个补充。 像C#等其它语言一样,使用枚举类型可以为一组数值赋予友好的名字。 声明语法:
enum 枚举名{ 枚举项1 =枚举值1 枚举项2 =枚举值2 }枚举项一般用英文或者数字 枚举值用整型数字,可以默认枚举值,编译时 自动加上 0,1,2,。。。
//1创建枚举 enum Gender{ Boy = 1, Girl = 2, Unknow=3 } console.log(Gender.Boy) //1 console.log(Gender.Girl)//2 console.log(Gender.Unknow)//3 //2使用枚举 let userSex:Gender =Gender.Boy console.log(userSex) if(userSex == Gender.Boy){ console.log('相等','是男的') }else{ console.log('不是男的 ',userSex) }如果没有为元素赋值,默认情况下,从0开始为元素编号,也就是下标
enum Gender2{ Boy , Girl , Unknow } console.log(Gender2.Boy) //0 console.log(Gender2.Girl) //1 console.log(Gender2.Unknow)//2any 任意类型,一般在获取DOM对象时使用。接收用户输入,或者第三方代码库时,也可以使用any
没有类型,一般用在没有返回值的函数
never不存在的值的类型,一般用于抛出异常 或无限循环的 函数返回类型 never是ts中的底部类型,所有类型都是never类型的父类,所以never类型值可以赋给任意类型的变量
如果变量的声明和初始化时在同一行,可以省略变量类型的声明
let hero='sting' hero=18 //报错,因为hero的类型被推断为string类型表示取值可以为多种类型中的一种 语法声明: let 变量名:变量类型1 | 变量类型2 = 值
let dogName :string|null =prompt('请输入狗狗名称') console.log('hello',dogName)