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

标签 javascript class prototype ecmascript-6

在 es5 中,您可以通过为现有函数设置原型(prototype)来完成此操作,但如何使用 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
    // ???????
}

最佳答案

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

class A {

}

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

};

var existingFn = function() {};

A.prototype.existingFn = existingFn;

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

关于javascript - ES6 Javascript 类 - 为现有函数定义类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33053197/

相关文章:

class - 我需要拆分一个大的 DTO 吗?

c++ - 如何制作一个实例化类并将它们排序在地址列表中的循环?

C++ 子类中父类的数组

javascript - 在 node.js 中,如何以最轻量级的方式检查给定的一串代码在语法上是否正确?

javascript - 如何使用 CSS3 过渡让元素滑入?

javascript - 异步访问 DOM 元素而不挂起 UI

javascript - 扁平化 JSON 数据

javascript - 如何 Hook 库函数(Golden Layout)并调用其他方法

javascript - 在 Javascript 中,每个函数都可以被视为一个类的构造函数吗?

javascript - 覆盖/重写一个javascript库函数