<aside> ⚠️ 需要注意的是,虽然js大体上是面向对象的,但js并不是严格意义上的面向对象语言。js并没有像c一样的类存在,js的class关键字只是一种语法糖而已。

</aside>

在ES5,通常会定义一个构造函数 constructor,然后使用 new 关键字来实例化一个对象

var SpaceShuttle = function(targetPlanet){
  this.targetPlanet = targetPlanet;
}
var zeus = new SpaceShuttle('Jupiter');

class 语法只是简单地替换了构造函数 constructor 的写法:

class SpaceShuttle {
  constructor(targetPlanet) {
    this.targetPlanet = targetPlanet;
  }
}
const zeus = new SpaceShuttle('Jupiter');