为什么这会给我一个错误?问题出在let p = 0;
我只想定义变量,然后在构造函数中为int赋值。如果我删除它let p = 0;
它有效,但我不理解它,因为我认为this.p应该引用类中的预定义变量,对吧?顺便说一下,我不懂Javascript,我的知识来自Java
class Wizard {
let p = 0;
constructor(p) {
this.p = p;
// TODO replace this line.
}
power () {
return this.p;
}
}
let Gandalf = new Wizard(100);
答案 0 :(得分:0)
嗯,JavaScript不是一种开头的OOP语言,或者至少几乎没有Java那么严格。
在这个“软OOP”中,您可以动态地为对象分配属性,而无需在类中声明它。这就是为什么声明属性无关紧要的原因。