Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 类的继承和扩展之间有什么区别?_Javascript_Ecmascript 6 - Fatal编程技术网

Javascript 类的继承和扩展之间有什么区别?

Javascript 类的继承和扩展之间有什么区别?,javascript,ecmascript-6,Javascript,Ecmascript 6,我找了很长一段时间,我觉得有点复杂。类的继承和扩展之间有什么区别 我的问题是在读了这篇文章之后产生的,我使用了extends语法,所以它让我感到好奇 扩展类 class A { a = 2; constructor(x) { this.a = x; } } class B extends A { } 类继承 class A { a = 4; A(x) { a = x; } drive() {

我找了很长一段时间,我觉得有点复杂。类的继承和扩展之间有什么区别

我的问题是在读了这篇文章之后产生的,我使用了
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" )
    }
}
继承
类时,我可以使用
构造函数
?或者
在扩展类时命名构造函数

使用
super
inherited
有什么区别

扩展类时可以使用继承的
语法吗?

我读到
super
是子类的构造函数引用其父类的构造函数的直接方式。

inherits
在ES6中不是关键字。在
声明的那个位置,只有
扩展
是有效的,您有一个语法错误


也不是
a=4或继承的:drive()
。您在书中甚至明确指出“对于继承的类,考虑这松散的伪代码(发明的语法)

inherits
在ES6中不是一个关键字。在
声明的那个位置,只有
扩展
是有效的,您有一个语法错误


也不是
a=4或继承的:drive()
。您在书中甚至明确指出“对于继承的类,考虑这松散的伪代码(发明的语法)

继承指的是派生类(子类)和基类(父类)之间的关系。根据可访问性级别,派生类可以在基类中使用某些方法和字段


扩展可与继承互换,通常在java中使用(因为java中继承的语法是关键字extends。在C#中,它是冒号:

继承指派生类(子类)和基类(父类)之间的关系)。派生类可以根据可访问性级别在基类中使用某些方法和字段


扩展可以与继承互换,通常在java中使用(因为java中继承的语法是关键字extends。在C#中,它是冒号:

据我所知
继承
在ES6中不是关键字…!?继承中没有提到
继承
(名词,不是关键字)是一个概念。
extends
(ES6关键字)是该概念的一个实现。当一个类
扩展另一个类
时,它继承了它的属性…据我所知
inherits
在ES6中不是关键字…!?在继承(名词,非关键字)中没有提到
inherits
是一个概念。
extends
(ES6关键字)是该概念的一个实现。当一个类
扩展另一个类时,它将继承其属性…问题是关于特定的ES6语法。这不回答问题。问题是关于特定的ES6语法。这不回答问题。