JavaScript | 関数の基本的な定義方法と使い方

JavaScript JavaScript
スポンサーリンク

JavaScriptの関数を、初心者向けにやさしく解説

はじめてのプログラミングは「わかったつもり」が続きやすいもの。関数は“作業の箱”だと思うとスッと入ってきます。箱に「名前」を付けて、「材料(引数)」を入れると、「結果(戻り値)」が返ってくる——そんなイメージで一歩ずついきましょう。


関数ってなに?

  • 役割: 処理をひとまとめにして、好きなタイミングで何度でも呼び出せる“再利用できる箱”。
  • メリット: 同じコードを繰り返し書かなくて済む。ミスが減り、読みやすくなる。
  • 基本の形:
function 関数名(引数1, 引数2) {
  // やりたい処理
  return 戻り値; // 必要なときだけ返す
}
JavaScript

作って呼び出すまでの流れ

  • 関数を作る(定義)
function sayHello() {
  console.log("こんにちは!");
}
JavaScript
  • 関数を使う(呼び出し)
sayHello(); // 関数名に()を付ける。ここで初めて動く
JavaScript
  • 引数を使う(材料を渡す)
function greet(name) {
  console.log("こんにちは、" + name + "さん!");
}
greet("田中"); // → こんにちは、田中さん!
JavaScript
  • 戻り値を返す(結果を受け取る)
function add(a, b) {
  return a + b; // 計算した結果を返す
}
const sum = add(3, 5);
console.log(sum); // → 8
JavaScript

例題で理解を固める

例題1: 合計と平均を計算する関数

  • ねらい: 引数と戻り値の使い方に慣れる
function totalAndAverage(scores) {
  // scores は数値の配列 [80, 90, 70] など
  let total = 0;
  for (let i = 0; i < scores.length; i++) {
    total += scores[i];
  }
  const average = total / scores.length;
  // 結果をまとめて返す(オブジェクトで返すと便利)
  return { total: total, average: average };
}

const result = totalAndAverage([80, 90, 70]);
console.log("合計:", result.total);     // → 合計: 240
console.log("平均:", result.average);   // → 平均: 80
JavaScript

例題2: メッセージを何回も表示する関数

  • ねらい: 引数の型・繰り返しを理解する
function repeatMessage(message, times) {
  for (let i = 0; i < times; i++) {
    console.log(message);
  }
}

repeatMessage("頑張れ!", 3);
// → 頑張れ! (3回表示)
JavaScript

例題3: 条件で動きを変える関数

  • ねらい: if 文と戻り値の組み合わせ
function judgePass(score) {
  if (score >= 60) {
    return "合格";
  } else {
    return "不合格";
  }
}

console.log(judgePass(75)); // → 合格
console.log(judgePass(50)); // → 不合格
JavaScript

よくあるつまずきポイント

  • ラベル: 引数の順番
    • 間違えると別の値として扱われる。関数側の引数名と呼び出しの順は一致させる。
  • ラベル: return の位置
    • return の後は実行されない。早めに返すなら「早期 return」を意識。
function isAdult(age) {
  if (age < 0) return "年齢が不正です";
  return age >= 18 ? "成人" : "未成年";
}
JavaScript
  • ラベル: 関数を“呼ぶ”のを忘れる
    • 関数名だけでは動かない。必ず () を付けて呼び出す。
  • ラベル: console.log と戻り値の違い
    • console.log は画面に表示するだけ。戻り値は「後で使うために外へ返す」もの。

もう少しだけ発展(使い分け)

  • ラベル: 関数宣言(いちばん基本)
function add(a, b) { return a + b; }
JavaScript
  • ラベル: 関数式(変数に入れる)
const add = function(a, b) { return a + b; };
JavaScript
  • ラベル: アロー関数(短く書ける)
const add = (a, b) => a + b; // 1行で戻り値
JavaScript
  • まずは「関数宣言」で慣れてから、必要に応じてアロー関数へ。読みやすさを最優先に。

練習問題

  • 問題1: 最小値を返す
    • 2つの数 x, y を受け取り、小さい方を返す関数 min(x, y) を作る。
function min(x, y) {
  // ここに処理
}
JavaScript
  • 問題2: 税込価格を計算
    • 価格 price と税込率 taxRate(例: 0.1)を受け取り、税込価格を返す withTax(price, taxRate)
function withTax(price, taxRate) {
  // ここに処理
}
JavaScript
  • 問題3: 文字数カウント
    • 文字列 str を受け取り、空白を除いた文字数を返す countChars(str)
function countChars(str) {
  // ここに処理
}
JavaScript
  • ヒントが欲しければ、あなたの解答を書いてくれたら添削するよ。間違いは“次に進むサイン”だから、遠慮なく見せて。

まとめ

  • ラベル: 関数の核心
    • 「名前のついた処理の箱」。材料(引数)を受け取り、結果(戻り値)を返す。
  • ラベル: スタート地点
    • まずは関数宣言で「定義→呼び出し→引数→戻り値」の流れを体に覚えさせる。
  • ラベル: 実践
    • 小さな関数を作って、何度も呼ぶ。自分の生活のミニ課題(合計、判定、変換)を関数化してみると、腑に落ちる。
タイトルとURLをコピーしました