理解class
只要接触过一门面向对象语言,如Java、C#等,就不会对class感到陌生,其有个响亮的名号:类。它是编程的宠儿,聚万千宠爱于一身,于是其能够开枝散叶,结婚生子,即为继承。但是对于JavaScript开发者来说,class还只是刚刚被实现的东东,当年为了构建一个形似class的东东需要这样做:
function Animal (power, speed) {
this.power = power;
this.speed = speed;
}
Animal.prototype.run = function() {
// 具体实现
}
var tiger = new Animal(2000, 1000);
tiger.run();
而如今有了更骚气的走位:
// ES6语法
class Animal {
constructor(power, speed) {
this.power = power;
this.speed = speed;
}
run() {
// 具体实现
}
}
let tiger = new Animal(2000, 1000); // ES6中使用var声明变量已经成为过去式
tiger.run();
// TypeScript
class Animal {
// ES6中不能如此定义变量
power = 0;
speed = 0;
constructor(power, spe