1、首先安装ts
npm install -g typescript
然后我们就可以使用:
tsc -v
//查看是否安装成功如果成功就可以打印出版本号
我的版本是4.5.5
然后我们创建个文件test.ts
然后我们在ts文件中写如下代码:
var hello = (name) => {
return "hello" + name;
};
hello('axin')
然后我们使用tsc命令运行:
tsc test.ts
然后我们会发现生成如下代码:
ES6转ES5其他没有什么区别
然后我们给函数参数设置类型大家就可以看到,编辑器有提示:
我设置的number类型,传的string类型,就会有红色虚线标识
然后我修改下:
这下就对了。
let isDone :boolean = true;
isDone = 1 //错误写法❌
//这样写就会报错,因为isDone为布尔类型不能用数字类型赋值
//接着如下
let age:number = 30;
let firstName:string = "axin";
let message:string = `hello,${firstName}`
let fun:undefined = undefined;
let filedValue:null= null;
//undefined类型跟null类型是所有类型的子类
//因此
let me:number = undefined; //这样不会报错
再比如我们不确定一个变量的类型那么我们该怎么声明呢?如下:
let notSure:any = 4;
notSure = "not at all";
notSure = true;
//当然这个类型最好少用,因为typescript是专门用来类型检查的,我们这样就失去了作用了。
let arrOfNumber:number[] = [1,2,3]
//这样的意思就是声明一个数字类型的数组,但是数组的项不允许出现除了number以外的其他类型,出现就会报错
然后我们写arrOfNumber就会出现数组的一些方法提示特别方便
只允许push约定的类型
接下来我们声明一个元组类型
let name:[string,number] = ['axin',18]
//多一项少一项以及类型错误都会报错
我们以上可以往里面push但是,也仅限于以上两种类型的一种才可以,否则报错。
元组类型
元组类型允许表示一个一直元素数量和类型的数组,个元素的类型不必相同
let user:[string,number] = ['axin',20]//正确
//但是我们写['axin','hao'] //这样就错了
user.push(true) //这样也是不对的,我们是可以push string以及number类型中的一种突破限制除了指定的类型外就会报错。
user.push(1);
user.push('b');//以上两种都可以