我试图通过一个方法访问构造函数中定义的名称,但它返回undefined。这是简单的代码:
class Person {
constructor(){
let name = 'Tom';
}
logName(){
console.log(this.name);
}
}
let x = new Person();
x.logName();

答案 0 :(得分:3)
您需要将名称定义为对象的属性。在您的情况下this.name
class Person {
constructor(){
this.name = 'Tom';
}
logName(){
console.log(this.name);
}
}
let x = new Person();
x.logName();
在您的代码中,您已在构造函数中定义了变量name
。它仍然在那里,但没有逃脱。