构造函数中定义的变量在类方法中不可用

时间:2018-05-27 09:50:03

标签: javascript ecmascript-6

我试图通过一个方法访问构造函数中定义的名称,但它返回undefined。这是简单的代码:



class Person {
  constructor(){
     let name = 'Tom';
    }
  logName(){
     console.log(this.name);
   }
}

let x = new Person();
x.logName();




1 个答案:

答案 0 :(得分:3)

您需要将名称定义为对象的属性。在您的情况下this.name

class Person {
  constructor(){
     this.name = 'Tom';
    }
  logName(){
     console.log(this.name);
   }
}

let x = new Person();
x.logName();

在您的代码中,您已在构造函数中定义了变量name。它仍然在那里,但没有逃脱。