回答編集履歴
1
文末を追加
answer
CHANGED
@@ -130,4 +130,15 @@
|
|
130
130
|
console.log(user.name); // undefined
|
131
131
|
```
|
132
132
|
|
133
|
-
しかしこの方法は関数
|
133
|
+
しかしこの方法はgetNameやgetAge等という関数を大量に生成するので、
|
134
|
+
APIのJSONを解析してuserを1000件生成しましょうとなるとメモリの消費量がヤバイことになります。
|
135
|
+
|
136
|
+
なので、メモリ消費量を気にするならば、素直にprototype変数を使ったほうがよくて、
|
137
|
+
それを綺麗な形で包んでくれるクラス構文を使ったほうが良いのです。
|
138
|
+
JavaScriptはこのオレオレクラス構文がプロジェクト毎に存在しており、時にはバグの温床になったりする程でしたからね。
|
139
|
+
|
140
|
+
プライベート変数が存在しない問題も残っていますが、
|
141
|
+
|
142
|
+
同じくプライベート変数が存在しないPythonでは
|
143
|
+
もうプロパティの先頭文字を`_`にしてプログラミングする際は`_`で始まるプロパティを参照しないルールで実装すればよくね?
|
144
|
+
みたいな慣習なようで、JavaScriptも同様のスタイルのプロジェクトをよく見かけます。
|