関数定義式
const 定数名 = function() {
// 処理
};
const helloWorld = function() {
console.log('Hello');
console.log('World');
};
helloWorld();
アロー関数
const helloWorld = () => {
console.log('Hello');
console.log('World');
};
// ↑↓ 等価
const helloWorld = function() {
console.log('Hello');
console.log('World');
};
引数
const helloWorld = (place) => {
console.log(Hello World from ${place}
);
};
helloWorld('Japan');
helloWorld('USA');
const helloWorld = (place, name) => {
console.log(Hello World from ${place}.
);
console.log(I'm ${name}.
)
};
helloWorld('Japan', 'Taro');
helloWorld('USA', 'Joe');
const calc = (num1, num2) => {
console.log(num1 * num2);
};
calc(5, 7);
return
const calc = (a, b) => {
return a * b;
console.log('Hello!') // return 以降は実行されない
};
const result = calc(5, 7);
console.log(result);
戻り値による判定
const check = (num) => {
return num / 2 === 10;
}
console.log(check(30)); // false
console.log(check(20)); // true
関数のスコープ
- 関数の外側で定義した定数や変数は、プログラムのどこからでも使える
const say = 'Hello!'; // 関数の外
const greeting = () => {
console.log(say);
}
greeting() // Hello!
console.log(say) // Hello!
- 関数の内側で定義された定数を関数の外側で使用すると参照エラーになる
const greeting = () => {
const say = 'Hello!'; // 関数の中
console.log(say);
}
greeting() // Hello!
console.log(say) // 参照エラー
if
や switch
などの条件文、for
や while
などの繰り返し文などの、中括弧「{}」を使う構文でもスコープを作るため、 外側で使用すると参照エラーになる
オブジェクト内の関数
const toMinutes = {
calc: (hour, miuntes) => { // オブジェクトのプロパティの値に関数を組み込む
return hour * 60 + miuntes;
}
};
console.log(toMinutes.calc(3, 20));
// 「定数名.プロパティ名()」で呼び出し
関数から複数の値を返す
function func(a, b, c) {
return [a, b, c];
};
console.log(func(1,2,3));
// [ 1, 2, 3 ]