ES6 提供了一个新的创建对象的语法,使用关键字class
。
值得注意的是,class
只是一个语法糖,它并不像 Java、Python 或者 Ruby 这一类的语言一样,严格履行了面向对象的开发规范。
在 ES5 里面,我们通常会定义一个构造函数,然后使用 new
关键字来实例化一个对象:
var SpaceShuttle = function(targetPlanet){
this.targetPlanet = targetPlanet;
}
var zeus = new SpaceShuttle('Jupiter');
class
的语法只是简单地替换了构造函数的写法:
class SpaceShuttle {
constructor(targetPlanet){
this.targetPlanet = targetPlanet;
}
}
const zeus = new SpaceShuttle('Jupiter');
注意class
关键字声明了一个新的函数,并在其中添加了一个会在使用new
关键字创建新对象时调用的构造函数。