08-类即函数
9.2.3 类即函数
在ES6引入关键字 class 之前,要创建一个类,需要创建一个函数充当类的构造方法。虽然 class 的语法更加直观,但JavaScript底层的实现方式并没有发生变化( class 只是增加了一些语法糖),所以JavaScript中类的表示很重要 。
类实际上就是函数。在ES5中,会这样编写 Car 类:
function Car(make, model) {
this.make = make;
this.model = model;
this._userGears = ['P', 'N', 'R', 'D'];
this._userGear = this.userGears[0];
}
当然也可以在ES6中做这件事:结果完全一样(稍后会讲具体怎么做)。可以尝试使用两种方式来验证它。
class Es6Car {} // 简单起见,这里省略了构造器
function Es5Car {}
> typeof Es6Car // "function"
> typeof Es5Car // "function"
所以ES6中并没有什么新东西,仅仅是多出了一些更易用的新语法。