[英]Private class variable declaration
我正在嘗試為超級 class 聲明一個私有 class 變量,但我似乎很難這樣做。 我有什么我想念的嗎? 到目前為止,這是我的代碼。
class Animal { constructor(_name) { this._name = _name; } name() { console.log(`${this._name} is my name.`); } } new Animal('Bob').name();
私有字段以 # 開頭,但它們的 scope 將使它們對子類隱藏。
class Animal {
#name
constructor(name) {
this.#name = name;
}
}
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Private_class_fields
私有 class 功能在以下瀏覽器中可用:
鉻合金 | 邊緣 | FireFox | 歌劇 | Safari |
---|---|---|---|---|
74+ | 79+ | 90+ | 62+ | 14.1+ |
這是您的 class 的示例,其中包含一個名為name
的私有實例字段:
class Animal { #name; constructor(name) { this.#name = name; } get name() { return this.#name; } toString() { return `${this.#name} is my name.`; } } const bob = new Animal('Bob'); console.log(bob.name); console.log(bob.toString()); // console.log(bob.#name); <-- SyntaxError
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.