関数について アロー関数、レストパラメータ、コールバック関数とは
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のコーディングを効率的に行いましょう。