
関数の基本を学んだ次は「引数」です。引数を使うことで、関数に値を渡して、より柔軟な処理ができるようになります。
引数とは
引数は、関数に与える追加情報のようなものです。関数を呼び出すときに値を渡すことで、関数の処理内容を変えることができます。
引数なしの関数(復習)
const greet = () => {
console.log("こんにちは、太郎さん");
};
greet(); // こんにちは、太郎さん
この関数は常に「太郎さん」に挨拶します。他の人に挨拶したい場合、新しい関数を作る必要があります。
引数ありの関数
const greet = (name) => {
console.log(`こんにちは、${name}さん`);
};
greet("太郎"); // こんにちは、太郎さん
greet("花子"); // こんにちは、花子さん
greet("次郎"); // こんにちは、次郎さん
引数を使えば、1つの関数で様々な値に対応できます。
引数を受け取る関数の定義
構文: (引数名) => { 処理 }
// 引数を1つ受け取る
const introduce = (name) => {
console.log(`私の名前は${name}です`);
};
introduce("太郎"); // 私の名前は太郎です
() の中に引数名を書くことで、引数を受け取ることができます。
引数を受け取る関数の呼び出し
構文: 定数名(値)
const greet = (name) => {
console.log(`こんにちは、${name}さん`);
};
// 関数を呼び出すときに値を渡す
greet("太郎"); // 値「太郎」が引数nameに代入される
関数を呼び出すときに () の中に値を書くことで、その値が引数に代入されます。
関数内で引数を使用する
引数は、関数内で変数や定数と同じように使えます。
const calculateArea = (width, height) => {
const area = width * height; // 引数を計算に使う
console.log(`面積は${area}です`);
};
calculateArea(5, 10); // 面積は50です
calculateArea(3, 7); // 面積は21です
複数の引数を受け取る
関数は複数の引数を受け取ることができます。
構文: (引数1, 引数2, ...) => { 処理 }
const introduce = (name, age, city) => {
console.log(`私の名前は${name}です`);
console.log(`年齢は${age}歳です`);
console.log(`${city}に住んでいます`);
};
introduce("太郎", 25, "Tokyo");
// 私の名前は太郎です
// 年齢は25歳です
// Tokyoに住んでいます
複数の引数はカンマ , で区切ります。
引数の順番
複数の引数を受け取る場合、**左から順番に第1引数、第2引数、第3引数…**となります。
const showInfo = (name, age) => {
console.log(`名前: ${name}`);
console.log(`年齢: ${age}`);
};
// 第1引数に「太郎」、第2引数に「25」が代入される
showInfo("太郎", 25);
// 名前: 太郎
// 年齢: 25
重要: 渡す引数の順番と、関数を定義した引数の順番は同じでなければなりません。
const introduce = (name, age) => {
console.log(`${name}さん、${age}歳`);
};
// ✅ 正しい順番
introduce("太郎", 25); // 太郎さん、25歳
// ❌ 順番が逆
introduce(25, "太郎"); // 25さん、太郎歳(意図しない結果)
引数を使うメリット
1. 柔軟性が増す
// 引数なしだと、値ごとに関数を作る必要がある
const greetTaro = () => {
console.log("こんにちは、太郎さん");
};
const greetHanako = () => {
console.log("こんにちは、花子さん");
};
// 引数ありなら、1つの関数で対応できる
const greet = (name) => {
console.log(`こんにちは、${name}さん`);
};
2. 再利用性が高まる
const calculateTax = (price) => {
const tax = price * 0.1;
console.log(`税額: ${tax}円`);
};
// 様々な価格に対応できる
calculateTax(1000); // 税額: 100円
calculateTax(5000); // 税額: 500円
calculateTax(300); // 税額: 30円
疑問:第2引数を渡さない場合はどうなる?
今回の学習で疑問に思ったのが、「複数の引数を定義した関数で、第2引数を渡さなかったらどうなるのか?」という点です。
const introduce = (name, age) => {
console.log(`名前: ${name}`);
console.log(`年齢: ${age}`);
};
// 第1引数だけ渡す
introduce("太郎");
// 名前: 太郎
// 年齢: undefined
結果は undefined になります。
理由: 引数が渡されなかった場合、その引数には自動的に undefined が代入されるからです。
const showInfo = (name, age, city) => {
console.log(`名前: ${name}`);
console.log(`年齢: ${age}`);
console.log(`都市: ${city}`);
};
showInfo("太郎", 25);
// 名前: 太郎
// 年齢: 25
// 都市: undefined(第3引数が渡されていない)
この問題を回避するには、デフォルト引数(後の学習で登場)を使うか、関数内で undefined チェックをする必要があります。
Pythonとの比較
| 項目 | Python | JavaScript |
|---|---|---|
| 引数の定義 | def 関数名(引数): | (引数) => {} |
| 複数の引数 | カンマで区切る | カンマで区切る |
| 引数なし呼び出し | エラーになることがある | undefined になる |
# Python
def greet(name):
print(f"こんにちは、{name}さん")
greet("太郎")
// JavaScript
const greet = (name) => {
console.log(`こんにちは、${name}さん`);
};
greet("太郎");
今日の学びのポイント
- 引数: 関数に与える追加情報
- 定義:
(引数名) => { 処理 } - 呼び出し:
定数名(値) - 複数の引数: カンマで区切る
- 引数の順番: 左から第1引数、第2引数…
- 渡さない場合:
undefinedになる
引数を使うことで、関数はさらに強力なツールになります。次は、関数から値を返す「戻り値(return)」を学びます。


コメント