このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
js:function:param [2021/04/05 12:18] 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: | ||
+ | </ |