gpt4 book ai didi

javascript - es5 中 ES6 方法(类)的等价物是什么?

转载 作者:数据小太阳 更新时间:2023-10-29 05:35:09 25 4
gpt4 key购买 nike

我们如何将 es6 类方法填充到 ES5 中?

我正在看一本书,上面写着以下内容:

class Ninja {
constructor(name) {
this.name = name;
}

swingSword() {
return true;
}
}

相同
function Ninja(name) {
this.name = name;
}

Ninja.prototype.swingSword = function() {
return true;
};

我只是问为什么我们要在原型(prototype)上而不是在构造函数中添加 swingSword?

因为函数应该在对象上,而不是在原型(prototype)链上。

我是对还是错?

最佳答案

它应该在原型(prototype)上,方法不是每个实例的数据。想不出有任何语言以这种方式实现它,类的整个思想就是拥有一整类具有相同方法集的对象。

如果将它放在构造函数中,它将是每个使用构造函数创建的实例的唯一函数。例如,每个“方法”有 1000 个对象 == 1000 个函数。

关于javascript - es5 中 ES6 方法(类)的等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40446888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com