我正在创建一个命名空间,想知道如何限制对命名空间变量的可访问性,以便只能从命名空间内部访问它。
在我的示例代码中,我希望 PrivateExec private
且无法在命名空间之外访问。
var demo = {
a: "demo",
b: {
PrivateExec: function () {
//execute
},
ExecA: function () {
PrivateExec();
},
ExecB: function () {
PrivateExec();
}
}
}
demo.ExecA(); //success
demo.PrivateExec(); //fails because of private
尽量不要使用此代码: 你的变量应该是私有的!
var value = Symbol();
class MyClass {
constructor(){
this[value] = "this is a test string";
}
}
var call = new MyClass();
console.log(call.value); // should be undefined