回答編集履歴
2
必須引数の位置に対する流儀
answer
CHANGED
@@ -8,15 +8,28 @@
|
|
8
8
|
|
9
9
|
> こうした書き方はJS文化的に一般的なのでしょうか
|
10
10
|
|
11
|
-
「
|
11
|
+
「文化」で一括りにするものではないと思いますが、**私は**好ましくない書き方だと思います。
|
12
|
-
|
12
|
+
引数の数によって、第一引数のタイプが変わるのは複雑なだけなので、必須引数を前に持ってきて、第二引数以降をオプションにする方が分かりやすいと私は思います。
|
13
13
|
|
14
14
|
```JavaScript
|
15
15
|
new Idea(callback, path);
|
16
16
|
```
|
17
17
|
|
18
|
-
の
|
18
|
+
ECMAScript のビルトイン関数にも同様の思想があり、リファレンスでは下記のように表現される事があります。ます。
|
19
19
|
|
20
|
+
```JavaScript
|
21
|
+
Idea(callback [, path])
|
22
|
+
```
|
23
|
+
|
24
|
+
前述の多重定義では、下記のようになり、
|
25
|
+
|
26
|
+
```JavaScript
|
27
|
+
Idea(callback)
|
28
|
+
Idea(path, callback)
|
29
|
+
```
|
30
|
+
|
31
|
+
解説的にも学習コスト的にも効率が悪いと感じます。
|
32
|
+
|
20
33
|
### callback(null, ideas, this)
|
21
34
|
|
22
35
|
> ```JavaScript
|
1
表現の修正
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
### 多重定義
|
2
2
|
|
3
|
-
> コンストラクタで無理やり各引数の値をnullにしたりcallback=pathにしたりしているのは、JavaScriptではコンストラクタを複数作って引数の型や数で使い分けるような機能がないからでしょうか?
|
3
|
+
> コンストラクタで無理やり各引数の値をnullにしたりcallback=pathにしたりしているのは、JavaScriptではコンストラクタを複数作って引数の型や数で使い分けるような機能がないからでしょうか?
|
4
4
|
|
5
5
|
私の知る範囲では、現在のJavaScript(ECMAScript)に[多重定義](https://ja.wikipedia.org/wiki/%E5%A4%9A%E9%87%8D%E5%AE%9A%E7%BE%A9)はありません。
|
6
6
|
|