CreateLife ~AlwaysLatest~

関数について アロー関数、レストパラメータ、コールバック関数とは

JavaScript

JavaScriptの関数は実行可能なオブジェクトであり、オブジェクトから関数を作成できない。この記事では、関数の定義方法やアロー関数、レストパラメータ、コールバック関数について説明します。

関数の定義方法

JavaScriptで関数を定義する方法には、関数宣言文関数式があります。

関数宣言文

関数宣言文は以下のように記述されます。

function hello(name) {
  console.log('hello' + name);
}

関数式

関数式は以下のように記述されます。

const hello = function(name) {
  console.log('hello' + name);
  return name;
}

関数宣言文と関数式の違いは、ホイスティングの可否です。関数宣言文はホイスティングされるため、どこでも宣言できます。関数式はホイスティングされないため、実行文の前に記述する必要があります。

メソッド

メソッドは、オブジェクトのvalueに定義した関数です。

const person = {
  name: 'hoge',
  sayHi: function() {
    return 'hi';
  }
}

アロー関数

アロー関数は、無名関数の代替として使用されます。省略してスッキリ書けますが、thisを持ちません。

let sayHi = (name) => {
  return `Hi ${name}`;
}

レストパラメータ

レストパラメータは、引数の数が不定の場合でも関数を簡潔に記述できる機能です。

let sum = (...nums) => {
  let total = 0;
  for (num of nums) {
    total += num;
  }
  return total;
}

コールバック関数

コールバック関数は、引数として渡される関数です。実引数を渡すのは渡される関数の定義内で行います。

let hoge = (a, b, callback) => {
  const result = a + b;
  callback(result);
}

これらの関数とメソッドを理解し、JavaScriptのコーディングを効率的に行いましょう。