質問編集履歴

4

swordoneからのクレームに対応

2016/08/13 16:06

投稿

canvas
canvas

スコア62

test CHANGED
File without changes
test CHANGED
File without changes

3

2016/08/13 16:06

投稿

canvas
canvas

スコア62

test CHANGED
File without changes
test CHANGED
@@ -270,7 +270,15 @@
270
270
 
271
271
  }
272
272
 
273
-
273
+ ```
274
+
275
+
276
+
277
+ または、
278
+
279
+
280
+
281
+ ```TypeScript
274
282
 
275
283
 
276
284
 
@@ -282,6 +290,8 @@
282
290
 
283
291
  private circleList: CircleList;
284
292
 
293
+
294
+
285
295
  constructor(canvasElement: HTMLElement, circleList: CircleList) {
286
296
 
287
297
  this.canvasElement = canvasElement;
@@ -294,14 +304,4 @@
294
304
 
295
305
  }
296
306
 
297
-
298
-
299
-
300
-
301
- class CircleList {
302
-
303
-
304
-
305
- }
306
-
307
307
  ```

2

2016/08/13 09:57

投稿

canvas
canvas

スコア62

test CHANGED
File without changes
test CHANGED
@@ -231,3 +231,77 @@
231
231
  var controller = new ViewController(document.getElementById("canvas"), new CircleList());
232
232
 
233
233
  ```
234
+
235
+
236
+
237
+
238
+
239
+ ### 追記の再掲と追々記
240
+
241
+ 表題はクラスのインスタンス化という話になっていますが、JavaScriptの場合は単純に関数の場合の話に置き換えたほうが適切なのかもしれません。
242
+
243
+
244
+
245
+ つまり、「**関数の引数に渡した値を関数内部の変数に代入することは冗長でしょうか?**」という質問が適切な気がしてきました。
246
+
247
+
248
+
249
+ TypeScriptで上記のようなコードを書く場合はこんな感じになる訳なので、
250
+
251
+ そもそも、変数の重複宣言云々の警告メッセージもIDEで表示されることはありませんからね。
252
+
253
+
254
+
255
+ ```TypeScript
256
+
257
+ class ViewController1 {
258
+
259
+
260
+
261
+ constructor(private canvasElement, private circleList) {
262
+
263
+ this.canvasElement = canvasElement;
264
+
265
+ this.circleList = circleList;
266
+
267
+ }
268
+
269
+
270
+
271
+ }
272
+
273
+
274
+
275
+
276
+
277
+ class ViewController2 {
278
+
279
+
280
+
281
+ private canvasElement: HTMLElement;
282
+
283
+ private circleList: CircleList;
284
+
285
+ constructor(canvasElement: HTMLElement, circleList: CircleList) {
286
+
287
+ this.canvasElement = canvasElement;
288
+
289
+ this.circleList = circleList;
290
+
291
+ }
292
+
293
+
294
+
295
+ }
296
+
297
+
298
+
299
+
300
+
301
+ class CircleList {
302
+
303
+
304
+
305
+ }
306
+
307
+ ```

1

2016/08/13 09:55

投稿

canvas
canvas

スコア62

test CHANGED
File without changes
test CHANGED
@@ -18,6 +18,20 @@
18
18
 
19
19
 
20
20
 
21
+ ### 追記(18:47)
22
+
23
+
24
+
25
+ 表題はクラスのインスタンス化という話になっていますが、JavaScriptの場合は単純に関数の場合の話に置き換えたほうが適切なのかもしれません。
26
+
27
+
28
+
29
+ つまり、「**関数の引数に渡した値を関数内部の変数に代入することは冗長でしょうか?**」という質問が適切な気がしてきました。
30
+
31
+
32
+
33
+ ### コード
34
+
21
35
  ```JavaScript
22
36
 
23
37
  //コントローラークラス