这章节主要讲述的是ts和js的区别和一些其他用法,对于新手学习ts的同学来说是不错的选择哦
1,变量声明(声明基本类型的数据),变量声明完成后,后续在重新赋值时如果类型不正确是会报错的,这里要注意下
声明数字类型
let num:number = 123
声明字符串类型:
let str:string = ”123“
声明布尔类型
let b:boolean =true //只能赋值true或者 false
声明undefined
let un:undefined = unidefinde //只能赋值undefined
声明null类型的数据
let nu:null = null //只能赋值null
声明any。这里相当于关闭了类型检测,后续对变量进行赋值时不管如何赋值都不会提示
let an:any = "12asda" //赋值关闭类型检测,没有实际意义。如果赋值时都用any的话,不如直接用js来写代码,这点需要注意!!!
2,声明联合类型数据,联合类型就是我们规定变量类型时,不只规定一种类型,可以规定多种
let arr:number | string = ”123“ //表示即可以赋值number类型的数据也可以赋值string类型的数据
3,声明引用类型的数据(数组)
声明数组1,
let arr :number[]=[1,2,3,4] //arr是变量名称,number是数组里的数据格式,number后面就是我们的数据类型
声明数组2:
let arr :string[]=[”123“] //arr是变量名称,string是数组里的数据格式,string后面就是我们的数据类型
。。。。数据类型可以定义各种类型的数据
4,声明引用类型的数据(对象)
let obj:{name:string} ={name:"123"} //对象的key必须是name,value的值得是string,这里声明时规定
这里表示我们的对象里的值只有name,对对象里的数据个数和类型都做了限制,
可以用在创建变量时不做限制
let obj:{name:string,[propName:string]:any}, //对象里面必须要用name:string,其他数据不做限制,包括其他数据的多少和类型
5.多维数据类型定义
多维数据就是我们的数组套数组,数组套对象等
定义数组套数组
let a:number[][]=[[1,]] //number是我们数组里的数据类型,这里定义的是number,如果我们不做限制的话直接用any即可,number后面接的2个空数组,代表着我们是2维数组,数组里面套数组,最里层数组的数据必须是number
定义数组里面套对象
const ang :{"name":string}[]=[{name:"123"}] //数组里面套对象,对象的key必须是name,value必须是string类型的数据
6.函数类型的数据定义
let fn:()=>number=()=>{ return 123 }//定义一个函数fn,fn规定了返回值number
let fn=()=>{ return 123 } //定义了函数fn,没有规定返回值
let fn(a:number,b:string)=>number=>(1,"123")=>{return 123} //规定了传入2个参数,第一个参数是number类型的数据,第二个参数是string类型的参数, 同时规定必须要有返回值,返回值必须是number类型的数据