⊗jsOpBsPOS 15 of 60 menu

JavaScriptにおける従来のオブジェクト指向プログラミングでのプライバシー

プライベートプロパティとメソッドの宣言が記号#によって行われるようになったのは、JavaScriptではごく最近のことです。それ以前は、特別な巧妙な手法を利用する必要がありました。

この手法の要点は、プライベートプロパティやメソッドの名前はアンダースコア記号で始まるべきだという取り決めを設けることです。実際には、このような名前はプライベートにはなりませんが、クラスの外部からそれらを使用しないことに同意します。

試してみましょう。このスタイルでプライベートプロパティを作成します:

class User { constructor(name) { this._name = name; } show() { return this._name; } }

クラスのオブジェクトを作成します:

let user = new User('john', 'smit');

プロパティの値を表示するメソッドを呼び出します:

console.log(user.show());

クラス外部からプロパティにアクセスしようとしても、エラーにはなりません:

console.log(user._name); // エラーなし

次のコードで、プロパティをプライベートにしてください:

class Employee { constructor(name, salary) { this.name = name; this.salary = salary; } getName() { return this.name; } getSalary() { return this.salary; } }

次のコードで、ヘルパーメソッドをプライベートにしてください:

class Employee { constructor(name, salary) { this.name = name; this.salary = salary; } getSalary() { return this.addSign(this.salary); } addSign(num) { return num + ' ; } }
日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否