JSのプライベートフィールドは接頭辞に#(シャープ)を付けて表示する
| 項目 | バージョン |
|---|---|
| node | v12.13.1 |
今までnode.jsの開発ではプライベートフィールドやプライベートメソッドは_(アンダーバー)を付けて規約で決めたりしていました。
規約で決めていただけなので実際は_ageというフィールドがあってもアクセスは可能です。
node.js v12から、プライベートフィールドには接頭辞に#(シャープ)を付けて変数名を命名するとプライベートフィールドになります。
class Sample {
#age = 0 // プライベートフィールド
constructor(name, age) {
this.name = name
this.#age = age // 初期化
}
getName() {
return this.name
}
getAge() {
return this.#age
}
}
const user1 = new Sample('takhashi', 20)
console.log(user1.getName())
console.log(user1.name) // アクセスできる
console.log(user1.getAge())
// console.log(user1.#age) // アクセスできないのでエラーとなる
privateという予約後の使い道はどうなるんでしょう。

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES20xx),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^


コメント