所以我有一个类和另一个扩展第一个类的类。 我想知道是否可以从 JavaScript 中的第一个类提升扩展类。
class Class1 {
constructor(data) {
this.var1 = data.var1
this.var2 = data.var2
}
}
class Class2 extends Class1 {
constructor(o) {
this = o
this.var3 = '!!!'
}
}
const o = new Class1({var1: 'HELLO', var2: 'WORLD'})
const o2 = new Class2(o)
console.log(o2.var1)
console.log(o2.var2)
我知道 this = o
会抛出错误。但是有没有一种方法可以完成任务,而不必将旧对象中的每个字段分配给新对象?
最佳答案
您可以使用super()
函数:
class Class1 {
constructor(data) {
this.var1 = data.var1
this.var2 = data.var2
}
}
class Class2 extends Class1 {
constructor(o) {
super(o)
this.var3 = '!!!'
}
}
const o = new Class1({var1: 'HELLO', var2: 'WORLD'})
const o2 = new Class2(o)
console.log(o2.var1) // -> HELLO
console.log(o2.var2) // -> WORLD
有关 super()
的更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/super
关于javascript - 在 JavaScript 中提升对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48407553/