gpt4 book ai didi

javascript - 在静态方法中访问构造函数 var (es6)

转载 作者:行者123 更新时间:2023-11-30 12:07:26 25 4
gpt4 key购买 nike

遇到我有以下代码的情况:

class SomeClass{
constructor(){
let name="john doe"
}

static newName(){
//i want to get the "name" variable here
}
}

在我的 console.log 中,当我访问 newName() 时,我无法获取我理解的 name 变量的引用,该类未实例化当我调用静态方法时。所以我想我的问题是,调用 newName() 和访问 name 变量的最佳方式是什么?我可以let name="john doe" 类之上创建一个变量并以这种方式访问​​它,但我想找出一种方法将所有内容限制在类。

最佳答案

首先,让我们忘掉 static目前。所以,你的类应该是这样的:

class SomeClass {
constructor() {
this.name = "john doe";
}

newName() {
return this.name;
}
}

查看变量 name ?如果你用 let 声明它(或 varconst ),它将被定义为 constructor 中的局部变量.因此,它只能在 constructor 内部使用方法。现在,如果您使用关键字 this 来设置它,它将被定义为一个实例变量,因此,它可以在您的整个类中访问。

现在让我们看看如何实例化您的类并调用方法 newName :

let someClass = new SomeClass(),
name = someClass.newName();

如果您真的想使用静态方法,请记住其中发生的所有事情都不会附加到对象的实例。

您可以阅读更多关于 es6 类的信息 here .

关于javascript - 在静态方法中访问构造函数 var (es6),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34780416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com