teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追加

2018/02/05 21:39

投稿

turbgraphics200
turbgraphics200

スコア4269

answer CHANGED
@@ -1,9 +1,13 @@
1
1
  JSは名前付き引数には厳密には対応していませんが、分割代入を利用してそれに近いことができます。
2
2
 
3
3
  ```js
4
- // = {}は引数なしで呼ばれた場合の初期値の設定
4
+ // 引数なしで呼ばれた場合、エラーとなるが
5
+ // function hoge({a, b, c} = {}){
5
- // 引数なしで呼ばれることがいのであればくてよ
6
+ // と、初期値設定すれば、引数なしで呼ばれてもエラーにはない
7
+ // また、
8
+ // function hoge({a = 10, b = 20, c = 30} = {}){
9
+ // とすることで、各変数の初期値を設定することも可能
6
- function hoge({a, b, c} = {}){
10
+ function hoge({a, b, c}){
7
11
  console.log(`a=${a}`, `b=${b}`, `c=${c}`);
8
12
  }
9
13
 
@@ -12,5 +16,5 @@
12
16
  hoge({b}); // a=undefined b=2 c=undefined
13
17
  hoge({c}); // a=undefined b=undefined c=3
14
18
  hoge({a,b,c}); // a=1 b=2 c=3
15
- hoge(); // a=undefined b=undefined c=undefined
19
+ //hoge(); // a=undefined b=undefined c=undefined
16
20
  ```

1

初期値解説追加

2018/02/05 21:39

投稿

turbgraphics200
turbgraphics200

スコア4269

answer CHANGED
@@ -1,8 +1,9 @@
1
1
  JSは名前付き引数には厳密には対応していませんが、分割代入を利用してそれに近いことができます。
2
2
 
3
3
  ```js
4
-
4
+ // = {}は引数なしで呼ばれた場合の初期値の設定
5
+ // 引数なしで呼ばれることがないのであればなくてよい
5
- function hoge({a, b, c} = {}){
6
+ function hoge({a, b, c} = {}){
6
7
  console.log(`a=${a}`, `b=${b}`, `c=${c}`);
7
8
  }
8
9