gpt4 book ai didi

javascript - 类的继承和扩展有什么区别?

转载 作者:行者123 更新时间:2023-11-30 09:53:02 27 4
gpt4 key购买 nike

我一直在寻找答案,但我觉得它有点复杂。类的继承和扩展有什么区别?

我的问题是在读完这篇文章后产生的ebook我使用的是 extends 语法,这让我很奇怪。

扩展类

class A {
a = 2;

constructor(x) {
this.a = x;
}
}

class B extends A {
}

类继承

class A {
a = 4;

A(x) {
a = x;
}

drive() {
output( "A" )
}
}
class B inherits A {
drive() {
inherited:drive()
output( "B" )
}
}

继承类时,我可以使用constructor吗?或 name constructor 扩展类时?

使用 superinherited 有什么区别?

我可以在扩展类时使用inherited 语法吗?我读到 super 是子类的构造函数引用其父类的构造函数的直接方式。

最佳答案

inherits 不是 ES6 中的关键字。在 class 声明的那个地方,只有 extends 是有效的,你有一个语法错误。

a = 4; 既不在类主体中,也不在 inherited:drive() 中。您在这本书中找到的部分甚至明确指出“考虑这个松散的伪代码(发明的语法)用于继承的类”。

关于javascript - 类的继承和扩展有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35337527/

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