Javascript 如何从方法访问构造函数中声明的变量?

Javascript 如何从方法访问构造函数中声明的变量?,javascript,class,Javascript,Class,它给了我未定义的值,那么我如何才能得到“someVar”的值呢 X类{ 建造师(e){ this.someVar=e; } 方法(){ console.log(this.someVar); } }在构造函数中,让使用而不是: class X { constructor (e) { let someVar = e; } SomeMethod () { console.log(this.someVar); } } 我强烈建议学习更多

它给了我未定义的值,那么我如何才能得到“someVar”的值呢

X类{
建造师(e){
this.someVar=e;
}
方法(){
console.log(this.someVar);
}

}
在构造函数中,让使用
而不是

class X {
   constructor (e) {
        let someVar = e; 
   }
   SomeMethod () {
        console.log(this.someVar);   
   }
}
我强烈建议学习更多关于javascript中变量作用域的知识。你可以咨询

另外,如果您想更多地了解javascript中的
class
,请咨询

下面是一个完整的工作示例:

X类{
建造师(e){
this.someVar=e;
}
方法(){
console.log(this.someVar);
}
}
const obj=新X(“某些文本”);

obj.SomeMethod()在JavaScript中,可以使用
构造函数中的
this
关键字声明对象字段。因此,您的
someVar
只是构造函数范围内的局部变量

您需要这样做:

constructor (e) {
    this.someVar = e; 
}

你不能;它不是一个类属性,它是一个局部作用域变量。请看一下这一点:与Python中的方式相同——除了
this
而不是
self
。这是否回答了您的问题?
class X {
   constructor (e) {
        this.someVar = e; //Now, someVar is a proper field of any object instance of X
   }
   SomeMethod () {
        console.log(this.someVar);   
   }
}