Typescript–1节
为何选择Typescript
- Typecscript增加代码的可读性和可维护性
- Typescript非常包容
- Typescript拥有活跃的社区
安装使用Typescript
全局命令安装 cnpm install -g typescript
编译文件 tsc hellow.ts
约定文件以.ts为后缀,编写react时,以tsx为后缀
主流IDE都支持TS,包括代码补全、接口提示、定义跳转、重构
代码实例
hello.ts:
console.log("hellow word");
var a:string="1";
编译后的hello.js
console.log("hellow word");
var a = "1";
Typescript原始数据类型
string,number,boolean,null,underfinde,enum(枚举),symbol(符号)
空值一般采用void来表示,void可以表示变量,也可以表示函数返回值
代码实例:
编译前
var str:string="hello";
var num:number=1;
var flag:boolean=true;
var nul:null=null;
var callback=function():void{
//函数里不能写return
let a:number=222;
console.log(a);
}
编译后
var str = "hello";
var num = 1;
var flag = true;
var nul = null;
var callback = function () {
//函数里不能写return
var a = 222;
console.log(a);
};
Typescript中的任意值
- 任意值(Any)用来表示允许赋值为任意类型
- 声明一个变量为任意值后,对它的任何操作,返回的内容的类型都是任意值。
- 变量如果在声明的时候,未指定其类型,那么它会被识别为任意值类型。
代码实例:
编译前
var num2:any=1;
num2=true;
num2="2";
var num3;//没有赋值操作,就会被默认为任意值类型,等价于var num3:any;
num3=1;
num3="2";
num3=true;
编译后
var num2 = 1;
num2 = true;
num2 = "2";
var num3; //没有赋值操作,就会被默认为任意值类型,等价于var num3:any;
num3 = 1;
num3 = "2";
num3 = true;
Typescript中的类型推论
- Typescript会依照类型推论的规则推断出一个类型
- 如果定义的时候没有赋值,不管之后有没有赋值,都会被推断成any类型儿完全不被类型检查
代码实例:
编译前
var b=1;//给变量赋值初始值的时候,如果没有指定类型,根据初始值倒推类型
// b="2";
var c;//没有给b赋初始值,就是any,等价于var c:any
c=1;
c=true;
编译后
var b = 1; //给变量赋值初始值的时候,如果没有指定类型,根据初始值倒推类型
// b="2";
var c; //没有给b赋初始值,就是any,等价于var c:any
c = 1;
c = true;