JavaScriptで関数への引数の渡し方にてついてまとめました。
この記事で分かること
- 引数省略時のデフォルト値の指定方法
- 引数名を指定して実引数値を渡す方法
- 可変長引数の指定方法
引数のデフォルト値を指定する
仮引数定義時に=でデフォルト値を指定します。
const hellofunc = (name1="defaultval1", name2="defaultval2") => `値:${name1},${name2}`;
console.log(hellofunc("val1"));
[結果]
値:val1, defaultval2
引数名を指定して実引数を渡す
オブジェクトリテラル {変数1:値, 変数2:値} を引数として定義することで、関数コール時に引数名を指定して値を渡すことが可能となります。
const hellofunc = ({name1="defaultval1", name2="defaultval2"}) => `値:${name1},${name2}`;
console.log(hellofunc({name2:"val2"}));
[結果]
値:defaultval1, val2
引数をオブジェクトリテラルとした場合、通常の渡し方はできなくなるので注意してください。
const hellofunc = ({name1="defaultval1", name2 = "defaultval2"}) => `値:${name1},${name2}`;
console.log(hellofunc("val1"));
[結果]
値:defaultval1, defaultval2
name1,name2両方ともデフォルト値のままとなっている。
可変長引数を渡す
可変長引数を渡す場合は …仮引数名 で定義します。
const hellofunc = (name1, name2, ...names) => `値:${name1},${name2},`+names.join(",");
console.log(hellofunc("val1", "val2", "val3", "val4"));
[結果]
値:val1,val2,val3,val4
他にもあるみたいですが、とりあえず実用的なのはこの辺かなと。