最近TypeScript大有席卷前端之势!angular,vue都在新版中用TypeScript进行了重构。看来还没怎么学透的vue又要再学一遍了。
稍在网上学了几节课,感觉TypeScript更像是和python、go这样的高级语言了,其语法规范也好多了,再也不像JavaScript那样很随意的语法。TypeScript的流行主要和两者正相关,一个是ES6, 一个是Node。ES6中有很多高级简便的用法,补充了很多JavaScript没有实现或是较弱的功能。再有就是有了Node,JavaScript就可以做为一种服务器语言来使用了。“一切能用JS做的都将归于JS!”
看几个例子:
let isDone: boolean = false;
let decLiteral: number = 6;
let hexLiteral: number = 0xf00d;
定义变量时使用:
和类型来定义,这和go语言类似了,加强了语言的规范性。
class Animal {
move(distanceInMeters: number = 0) {
console.log(`Animal moved ${distanceInMeters}m.`);
}
}
class Dog extends Animal {
bark() {
console.log('Woof! Woof!');
}
}
类的定义和继承。终于看到JS有class
这个熟悉的关键词了!它的语法和那些高级语言看齐了。联想起JavaScript中一堆什么同名函数,工厂函数,我真是泪流满面啊!有了新的语法,TypeScript的颜值就要高很多。
据称Vue3.0的新版中也将使用TypeScript重写,还是提前做些准备。不过,我其实也是大量在用ES6的东东,转变过来还是很容易的。