#関数を定義する方法
##1. function命令を使う
sum.js
function sum(a, b){
return a + b;
}
console.log('2 + 3 = ' + sum(2, 3));
この方法で定義した関数は呼び出しより後に、位置することが許される
sum.js
console.log('2 + 3 = ' + sum(2, 3));
function sum(a, b){
return a + b;
}
##2. 無名関数を使う
sum.js
var sum = function(a, b){
return a + b;
}
console.log('2 + 3 = ' + sum(2, 3));
##3. 組み込みオブジェクトFunctionをインスタンス化する
sum.js
var sum = new Function('a', 'b', 'return a + b;');
console.log('2 + 3 = ' + sum(2, 3));
##4. アロー関数を使う
sum.js
let sum = (a, b) => a + b;
console.log('2 + 3 = ' + sum(2, 3));
#可変長引数の関数を定義する方法
仮引数の前に...をつけると、その仮引数は配列として動作する。
sum.js
sum = function(...numsArray){
let result = 0;
for (let elm of numsArray){
result += elm;
}
return result;
}
console.log('sum(1, 2, 3) :' + sum(1, 2, 3));
#参照渡しと値渡し
JavaScriptにおける関数は実引数として基本型を与えると値渡しで動作して、参照型を与えると参照渡しで動作する。
#引数の数をチェックする方法
### argumentsオブジェクトを使う
sum.js
sum = function(a, b){
if(arguments.length != 2)
return 'err';
return a + b;
}
console.log('sum(1, 2, 3) :' + sum(1, 2, 3));
#引数のデフォルト値を設定する方法
### 1.undefinedかどうか自分でチェックする
arg_default.js
getPayment = function(price, o_tax){
if(o_tax == undefined)
o_tax = 1.08;
return price * o_tax;
}
console.log('getPayment(500) :' + getPayment(500));
console.log('getPayment(500, 1.1) :' + getPayment(500, 1.1));
### 2.仮引数に=をつける
arg_default.js
getPayment = function(price, o_tax = 1.08){
return price * o_tax;
}
console.log('getPayment(500) :' + getPayment(500));
console.log('getPayment(500, 1.1) :' + getPayment(500, 1.1));
#一部のプロパティだけ利用する関数
仮引数には使用したいプロパティだけを指定する。
func_test.js
getId = function({id}){
return id;
}
person_A = {
id : 1,
name : 'Jim'
}
console.log('id : ' + getId(person_A));