首先明白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);
后续会持续更新哦!