「JavaScript/クラス」の版間の差分
削除された内容 追加された内容
編集の要約なし タグ: 2017年版ソースエディター |
→ユーザー定義クラスのインスタンス配列: ユーザー定義クラスのインスタンスを配列化する為には、コンストラクターのパラメータをコレクションにしたものを、イテレーションし Array::map() でコンストラクターに渡すと簡素に表現できます。 タグ: 2017年版ソースエディター |
||
416 行
=== ユーザー定義クラスのインスタンス配列 ===
ユーザー定義クラスのインスタンスを配列化
:<syntaxhighlight lang="javascript">
441 行
juice: 150
</syntaxhighlight>
JavaScriptでは、ユーザー定義クラスのインスタンスもオブジェクトなので、Classのフィールドも(このコードのようにプライベートフィールドにしない限り)プロパティとしてアクセスできてしまいますが、これではカプセル化を破壊してしまいますし、より厄介なのはプロパティの綴りを間違えても警告もエラーも出ず、発見困難なバグの原因となってしまいます。
このため、Object.prototype.toString の様な共通化されたメソッド(インターフェースとも考えられます)を使い、内部構造を隠すことが肝要です。
{{Nav}}
|