【发布时间】:2019-01-27 12:24:56
【问题描述】:
如何将以下代码转换为 ES6 类:
var Mergesort = (function() {
function Mergesort(){}
Object.define(Mergesort.prototype,'readOnlyMethod',{
value:function(){/*DO SOMETHING, RETURN SOME VAL*/},
configurable:false,
writable:false,
enumerable:false
});
return Mergesort;
})()
【问题讨论】:
-
为什么不保留该代码?
-
这主要是一种常规方法,除了
writable: false, configurable: false。你真的需要那个吗? (如果是这样,它与 ES6 的类的prototype和函数的prototype的工作方式完全相同。) -
应该是
Object.defineProperty? -
@TomasKatz 这通常不被视为“设计模式”。请解释你编写这种不常见的 ES5 代码的动机,以便我们可以建议使用
class语法的解决方案,以保持对这个想法的忠诚。 -
别无礼。请务必理解澄清请求,如果您想要一个可能更准确的答案,请依次回答。
标签: javascript ecmascript-6 ecmascript-5