核心提示:首先明白TypeScipt是js的超集。我们所用Ts的语法最后还是会被转换成Js0 安装$ npm install -g typescript然后使用 tsc 命令 将.ts 文件 编译成.js文件e...
首先明白TypeScipt是js的超集。我们所用Ts的语法最后还是会被转换成Js
0 安装
$ npm install -g typescript
然后使用 tsc 命令 将.ts 文件 编译成.js文件
eg:
tsc test.ts
1 声明变量时同时写明数据类型
1.1 数字
var numT : number = 6
1.2 字符串
var strT : string = ‘hello’
1.3 数组
var arrT : number[] = [1,2,3]
1.4 布尔值
var flag : boolean = false;
1.5 元组
var tupleT : [string , number];
tupleT=[‘hello’ , 100]
1.6 枚举
enum Color {red = 1,green,yellow}
var c=Color.red
1.7 Any (用于不定的变量类型)
var anyT : any = 4
1.8 Void (空返回)
function test() : void { console.log(1) }
2 类与继承
class people{ name:string; age:number; sex:string; private word:string; constructor (name:string,sex:string,age:number){ this.name=name; this.sex=sex; this.age=age; this.word='321'; } say(){ console.log(`private word is ${this.word} my name is ${this.name}, sex is ${this.sex}, ${this.age} years old`); } } var t=new people('haohao','man',1); console.log(t.name); t.say(); class hero extends people{ constructor (name:string,sex:string,age:number){ super(name,sex,age); } fly(){ console.log("I CAN FLY"); } } var h=new hero("X","unkonw",100); h.say(); h.fly();
3 接口
interface heroSkill{ power:number } function kill(Mypower:heroSkill){ console.log(Mypower.power); } let hs={power:111}; kill(hs);
4 可迭代性
for..of 与 for..in 语句
for..in迭代的是对象的 键 的列表,而for..of则迭代对象的键对应的值。
ps:当一个对象实现了Symbol.iterator属性时,我们认为它是可迭代的。 一些内置的类型如Array,Map,Set,String,Int32Array,Uint32Array等都已经实现了各自的Symbol.iterator。 对象上的Symbol.iterator函数负责返回供迭代的值。
let list = ['a','b','c']; for(let i in list){ console.log(i); } for(let i of list){ console.log(i) }
5 枚举
5.1 反向映射
enum test{A} let a = test.A; let aName=test[test.A]; console.log(aName);