ES6 Javascript类 - 为现有函数定义类方法

时间:2015-10-10 10:56:06

标签: javascript class prototype ecmascript-6

在es5中,您可以通过将原型设置为现有函数来实现,但是如何使用ES6类进行此操作

//// ES5
function existingFn = function () {
    // does something
};

function MyClass () {
    // constructor stuff
};

MyClass.prototype.newFn = function () {
    // …
};

MyClass.prototype.existingFn = existingFn;

//// ES6
class MyClass {
    constructor() {}

    newFn() {
        // …
    }

    // ???????
    // existingFn = existingFn
    // ???????
}

2 个答案:

答案 0 :(得分:1)

ECMA-Script 6类语法是常规原型系统的语法糖:

class A {

}

// This is still possible!
A.prototype.doStuff = function() {

};

var existingFn = function() {};

A.prototype.existingFn = existingFn;

var instance = new A();
instance.existingFn();

答案 1 :(得分:0)

" Es6 way"定义属性是使用构造函数

class MyClass {
  constructor() {
    this.existingFn = existingFn;
  }
}