ES6_用类定义构造函数
在ES5中,我们通常定义构造函数,并使用new关键字实例化对象。
var SpaceShuttle = function(targetPlanet){ this.targetPlanet = targetPlanet; } var zeus = new SpaceShuttle('Jupiter');
ES6提供了使用class关键字创建对象的新语法。注意,类语法只是语法,而不是面向对象范例的基于类的完整实现,这与Java、Python、Ruby等语言不同。
类语法简单替换了以上构造函数的创建:
class SpaceShuttle { constructor(targetPlanet) { this.targetPlanet = targetPlanet; } } const zeus = new SpaceShuttle('Jupiter');
class关键字声明了一个新函数,其中添加了constructor构造器(构造函数) ,当使用new创建新对象时,将调用此构造函数。
注意,按照惯例,ES6类名应使用大写驼峰字母(即大驼峰原则),如上面使用的SpaceShuttle。
构造函数方法是用于创建和初始化以类创建的对象的特殊方法。(The constructor method is a special method for creating and initializing an object created with a class. You will learn more about it in the Object Oriented Programming section of the JavaScript Algorithms And Data Structures Certification.)
再看一个例子:
class Vegetable { constructor(name){ this.name=name; } } const carrot = new Vegetable('carrot'); console.log(carrot.name); // carrot
。。。