このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
|
js:function:param [2021/04/05 12:34] tanaka |
js:function:param [2021/04/19 14:24] (現在) tanaka |
||
|---|---|---|---|
| 行 3: | 行 3: | ||
| --- // | --- // | ||
| - | === 引数の数 === | + | ===== 引数の数 |
| - | JavaScriptでは引数の数をチェックしない | + | JavaScriptでは引数の数をチェックしない。 |
| - | 例 | + | <sxh javascript; |
| - | <code javascript> | + | |
| function func(arg) { | function func(arg) { | ||
| console.log(arg); | console.log(arg); | ||
| 行 16: | 行 15: | ||
| func(1); | func(1); | ||
| func(1, 2); // 出力:1 | func(1, 2); // 出力:1 | ||
| - | </code> | + | </sxh> |
| - | 引数の有無は関数内でundefinedによって判断する | + | 引数の有無は関数内でundefinedによって判断する。 |
| - | 例 | + | <sxh javascript; |
| - | <code javascript> | + | |
| function getArea(height, | function getArea(height, | ||
| if (height === undefined) height = 0; | if (height === undefined) height = 0; | ||
| 行 31: | 行 29: | ||
| console.log(getArea(10)); | console.log(getArea(10)); | ||
| console.log(getArea(10, | console.log(getArea(10, | ||
| - | </code> | + | </sxh> |
| + | \\ | ||
| - | === argumentsオブジェクト === | + | ===== argumentsオブジェクト |
| - | argumentsオブジェクトは関数呼び出し時に自動的に生成され、引数の数とそれぞれの値を取得できる | + | argumentsオブジェクトは関数呼び出し時に自動的に生成され、引数の数とそれぞれの値を取得できる。 |
| - | 例1 | + | <sxh javascript; |
| - | <code javascript> | + | |
| function getArea(height, | function getArea(height, | ||
| return arguments.length < 2 ? 0 : arguments[0] * arguments[1]; | return arguments.length < 2 ? 0 : arguments[0] * arguments[1]; | ||
| 行 45: | 行 43: | ||
| console.log(getArea(10)); | console.log(getArea(10)); | ||
| console.log(getArea(10, | console.log(getArea(10, | ||
| - | </code> | + | </sxh> |
| - | 例2 | + | <sxh javascript; |
| - | <code javascript> | + | |
| function max() { | function max() { | ||
| if(arguments.length > 0) { | if(arguments.length > 0) { | ||
| 行 60: | 行 57: | ||
| console.log(max(10)); | console.log(max(10)); | ||
| console.log(max(10, | console.log(max(10, | ||
| - | </code> | + | </sxh> |
| + | \\ | ||
| - | ** 引数のデフォルト値< | + | ===== 引数のデフォルト値 |
| + | < | ||
| <code javascript> | <code javascript> | ||
| 行 68: | 行 67: | ||
| </ | </ | ||
| - | 例 | + | <sxh javascript; |
| - | <code javascript> | + | |
| function getArea(height=0, | function getArea(height=0, | ||
| return height * width; | return height * width; | ||
| 行 76: | 行 74: | ||
| console.log(getArea(10)); | console.log(getArea(10)); | ||
| console.log(getArea(10, | console.log(getArea(10, | ||
| - | </code> | + | </sxh> |
| + | \\ | ||
| - | ** 可変長引数< | + | ===== 可変長引数 |
| + | < | ||
| <code javascript> | <code javascript> | ||
| 行 84: | 行 84: | ||
| </ | </ | ||
| - | 例 | + | <sxh javascript; |
| - | <code javascript> | + | |
| function mySum(...values) { | function mySum(...values) { | ||
| let sum = 0; | let sum = 0; | ||
| 行 94: | 行 93: | ||
| console.log(mySum(1)); | console.log(mySum(1)); | ||
| console.log(mySum(1, | console.log(mySum(1, | ||
| - | </code> | + | </sxh> |
| - | ※ argumentsと異なり可変長引数はArrayオブジェクトである | + | ※ argumentsと異なり可変長引数はArrayオブジェクトである。 |
| - | ** 実引数(呼び出し側)での使い方 | + | ==== 実引数(呼び出し側)での使い方 |
| <code javascript> | <code javascript> | ||
| 行 104: | 行 103: | ||
| </ | </ | ||
| - | 例 | + | <sxh javascript; |
| - | <code javascript> | + | |
| function mySum(...values) { | function mySum(...values) { | ||
| let sum = 0; | let sum = 0; | ||
| 行 115: | 行 113: | ||
| console.log(mySum(...[1, | console.log(mySum(...[1, | ||
| console.log(mySum([1, | console.log(mySum([1, | ||
| - | </code> | + | </sxh> |
| + | \\ | ||
| - | ** 名前付き引数< | + | ===== 名前付き引数 |
| - | + | < | |
| - | 分割代入の応用 | + | |
| + | <sxh javascript; | ||
| + | function getArea({height=0, | ||
| + | return height * width; | ||
| + | } | ||
| + | console.log(getArea({height: | ||
| + | </ | ||