LoginSignup
2
2

More than 5 years have passed since last update.

JavaScriptの関数についてメモ

Last updated at Posted at 2018-06-12

関数を定義する方法

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));
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2