⊗jsOpAdNC 44 of 60 menu

JavaScriptにおけるOOPのメソッドとプロパティの名前衝突

プロパティとメソッドの名前が 一致してはいけません。これは衝突を引き起こします。 例を見てみましょう。 次のクラスがあるとします:

class User { name() { console.log('method'); } }

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

let user = new User;

メソッドを呼び出してみると、 今のところは動作します:

user.name(); // 動作する

では、同じ名前のプロパティにデータを書き込み、 それによってメソッドのコードを 上書きしてみます:

user.name = 'str'; user.name(); // エラー

このような衝突を避けるためには、 メソッドには動詞の名前を、 プロパティには名詞の名前を 常に付けるようにしてください。

次のコードで行われている 誤りを修正してください:

class Employee { constructor(salary) { this.salary = salary; } salary() { return this.salary + '円'; } }
日本語
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
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否