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

标签 javascript ecmascript-6

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

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

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

最佳答案

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

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

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

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

关于javascript - 构造函数中定义的变量在类方法中不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50550921/

相关文章:

javascript - 如何跟踪在 Javascript 中创建了多少个数组?

javascript - 通过键删除嵌套结构中的对象

javascript - 如何从ajax响应中解码url?

javascript - 使用 immutable.js 有条件地构建列表

javascript - 使用 AJAX 直接上传到亚马逊 S3 返回错误 : Bucket POST must contain a field named 'key'

javascript - 变量作为 JavaScript 对象文字中的属性名称?

javascript - 如何使用按钮更改输入的值

javascript - event.persist 不是函数 - JEST 和 Enzyme

用于匹配换行符后的第一个字母表的javascript正则表达式

javascript - React从子组件访问父组件的dom节点