Sou*_*wal 6 javascript ecmascript-6 es6-class
我们如何将es6类方法填充到ES5中?
我正在读一本书,它说的如下:
class Ninja {
constructor(name) {
this.name = name;
}
swingSword() {
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
是相同的
function Ninja(name) {
this.name = name;
}
Ninja.prototype.swingSword = function() {
return true;
};
Run Code Online (Sandbox Code Playgroud)
我只是想问为什么我们在原型上添加swingSword而不是在构造函数中?
因为函数应该在对象上,而不是在原型链上.
我是对还是错?
它应该在原型上,方法不是每个实例的数据。无法想到任何以这种方式实现它的语言,类的整个思想是拥有一整类具有相同方法集的对象。
如果将其放入构造函数内,则它将是使用构造函数创建的每个实例的唯一函数。例如,每个“方法”有 1000 个对象 == 1000 个函数。
归档时间: |
|
查看次数: |
1377 次 |
最近记录: |