如何复制Javascript构造函数&;具有类语法的原型对象
我有一个相当简单的容器示例,它将一个值隐藏起来,并允许您单独对其进行操作 出于我自己的兴趣,我已经将这个对象的基本结构从.prototype转换为类语法。但是这个例子使用了一个时髦的方法来创建这个对象的新实例,我不知道如何在类语法中复制它(参见下面的代码) 这将转换为(类语法): 我认为问题在于“of”方法只是作为助手绑定到“Container”的单个原始实例上,这样就不必每次都编写此类的实例时都编写“new”。但我不知道如何用类语法复制这样的绑定如何复制Javascript构造函数&;具有类语法的原型对象,javascript,class,prototype,Javascript,Class,Prototype,我有一个相当简单的容器示例,它将一个值隐藏起来,并允许您单独对其进行操作 出于我自己的兴趣,我已经将这个对象的基本结构从.prototype转换为类语法。但是这个例子使用了一个时髦的方法来创建这个对象的新实例,我不知道如何在类语法中复制它(参见下面的代码) 这将转换为(类语法): 我认为问题在于“of”方法只是作为助手绑定到“Container”的单个原始实例上,这样就不必每次都编写此类的实例时都编写“new”。但我不知道如何用类语法复制这样的绑定 从类自己的方法之一实例化自己的类是不可能的吗?
从类自己的方法之一实例化自己的类是不可能的吗?只需将函数声明为
static
class Container {
constructor(x) {
this.val = x
}
map(f) {
return Container.of(f(this.val))
}
static of(x) { // ????????
return new Container(x)
}
}
工作得很好。谢谢,这是我收到的最快最有效的回复。
class Container {
constructor(x) {
this.val = x
}
map(f) {
return Container.of(f(this.val))
}
of = (x) => { // ????????
return new Container(x)
}
}
class Container {
constructor(x) {
this.val = x
}
map(f) {
return Container.of(f(this.val))
}
static of(x) { // ????????
return new Container(x)
}
}