JavaScript | 第5章「関数」

javascrpit JavaScript
スポンサーリンク

JavaScript「関数」要点まとめ

関数とは

  • 処理のまとまりに名前をつけて再利用できる仕組み。
  • 入力(引数)→ 処理 → 出力(戻り値) の流れで動く。
  • JavaScriptでは関数も**値(オブジェクト)**として扱える。
function greet(name) {
  return `こんにちは、${name}さん!`;
}
console.log(greet("Halu")); // こんにちは、Haluさん!
JavaScript

関数の定義方法

種類書き方特徴
関数宣言function fn() {}先に呼び出してもOK(ホイスティングあり)
関数式const fn = function() {};代入して使う。ホイスティングなし
アロー関数const fn = (x) => x * 2;簡潔記法。this が外側と共有される
名前付き関数式const fn = function name() {};デバッグ時に便利

引数(parameters)と戻り値(return)

  • function f(x, y) { return x + y; }
  • 戻り値がないときは自動的に undefined
  • 可変引数は ...rest で受け取れる。
function sum(...nums) {
  return nums.reduce((a, b) => a + b);
}
console.log(sum(1, 2, 3)); // 6
JavaScript

スコープ(scope)

  • 変数の有効範囲。
  • 関数内で宣言した変数はその関数内でのみ有効
  • 外側の変数は内側からアクセスできる(ネストスコープ)。
let outer = "外";
function inner() {
  let inside = "中";
  console.log(outer); // OK
  // console.log(outside); // ❌
}
JavaScript

クロージャ(closure)

  • 関数が定義されたときの環境を覚えている仕組み。
  • 外の変数を関数内から保持・操作できる。
function makeCounter() {
  let count = 0;
  return () => ++count;
}
const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2
JavaScript

this とメソッド

  • this は呼び出し方で中身が変わる。
  • オブジェクト内の関数(メソッド)では、そのオブジェクトを指す。
const user = {
  name: "Halu",
  hello() { console.log(`こんにちは ${this.name}`); }
};
user.hello(); // こんにちは Halu
JavaScript

関数の高度な使い方

機能説明
再帰関数が自分自身を呼ぶ階乗や木構造処理など
call / apply / bindthis を指定して関数を呼ぶfn.call(obj) など
即時関数 (IIFE)定義と同時に実行される関数(function(){})();

まとめのイメージ

概念キーワードイメージ
関数再利用・整理・出力「命令を箱に入れる」
スコープ範囲・独立性「見える・見えない」
クロージャ記憶・状態保持「箱の中にメモを残す」
タイトルとURLをコピーしました