【发布时间】:2017-05-02 00:42:28
【问题描述】:
我正在学习 JavaScript 的第 3 天。我遇到了这段代码:
class B {
constructor(name) {
this.name = name;
}
printn() {
return this.name;
}
}
class A extends B {
constructor(name, age) {
super(name);
this._age = age;
}
get age() {
return this._age;
}
printName(){
return super.printn();
}
}
let c = new A("Testing", "37");
Console.log(c.printn());
谁能解释这段代码的作用。什么是构造函数和 super() 关键字?我相信他们是为了继承?我用谷歌找到了一些 tuts 但这似乎是最简单的例子,而且几乎没有解释。
我无法让这段代码工作。
【问题讨论】:
-
“我无法让这段代码工作。” – 为什么不呢?有什么问题?至于问题的“这是做什么的”部分......这是非常基本的OOP,之前肯定已经解释过很多次了。您是如何学习 Javascript 的?也许您需要更结构化的课程/教程/书籍。如果您处于一般编程的第 3 天(?),那么是的,OOP 可能有点早解决。如果您提出这些真正应该以结构化方式介绍给您的零碎问题,对您或这里的任何人都不会有成效。
-
我推荐阅读 eloquentjavascript.net 和 github.com/getify/You-Dont-Know-JS(技术性更强但非常好)来学习 JavaScript。
标签: javascript class inheritance ecmascript-6 super