gpt4 book ai didi

javascript - 如何在 JS 类中定义私有(private)方法

转载 作者:行者123 更新时间:2023-12-03 16:35:26 25 4
gpt4 key购买 nike

我正在尝试为一个类定义一个私有(private)方法,以测试不能从类外部调用这种方法。但是,即使我使用规范中指示的语法,我也会遇到错误。我还检查了 MDN。
这是我的类(class)的代码:

class CoffeeMachine {
#waterLimit = 200;

#checkWater(value) {
if (value < 0) throw new Error("Negative water");
if (value > this.#waterLimit) throw new Error("Too much water");
}
}

const coffeeMachine = new CoffeeMachine;

coffeeMachine.#checkWater();

调用 coffeeMachine.#checkWater(); ,我应该得到一个错误,表明不能从类外部调用这样的方法,但相反,我得到 Uncaught SyntaxError: Unexpected token '(' .
这可能是什么原因?

最佳答案

在 Javascript 中,您需要声明私有(private)变量
私有(private)变量是通过在它们前面加上“#”来声明的(如我的示例所示)。确保在构造函数之外声明它们

    class foo {
#bar;// declare private variable called bar

constructor() {
this.#bar = "foobar";//define private variable called"bar"
}
}

关于javascript - 如何在 JS 类中定义私有(private)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58962695/

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