カテゴリ: JavaScript 更新日: 2025/12/15

JavaScriptの関数をオブジェクトに格納して使うテクニック

JavaScriptの関数をオブジェクトに格納して使うテクニック
JavaScriptの関数をオブジェクトに格納して使うテクニック

先生と生徒の会話形式で理解しよう

生徒

「先生、JavaScriptで関数をオブジェクトに入れて使うってどういうことですか?関数って普通に呼べばいいんじゃないんですか?」

先生

「いい質問ですね。確かに関数は直接呼ぶことが多いですが、関数をオブジェクトの中にまとめて管理すると、たくさんの関数を整理しやすくなります。例えば、色んな処理をまとめてパッケージみたいに使うイメージです。」

生徒

「なるほど!具体的にはどうやって使うんですか?」

先生

「それでは、基本のやり方から説明しますね!」

1. オブジェクトに関数を入れるとは?

1. オブジェクトに関数を入れるとは?
1. オブジェクトに関数を入れるとは?

JavaScriptのオブジェクトは、名前(キー)と値をセットで持つ箱のようなものです。値には数字や文字だけでなく、関数も入れることができます。これを「メソッド」と呼びます。

例えば、おもちゃ箱の中に「動くおもちゃ」と「鳴るおもちゃ」があるイメージで、それぞれに「動く」「鳴く」という動作(関数)があると考えてください。

2. 関数をオブジェクトに格納する基本の書き方

2. 関数をオブジェクトに格納する基本の書き方
2. 関数をオブジェクトに格納する基本の書き方

以下は、関数をオブジェクトの中に入れた例です。オブジェクトのキーが関数名のように使えます。


const actions = {
  sayHello: function() {
    console.log("こんにちは!");
  },
  sayGoodbye: function() {
    console.log("さようなら!");
  }
};

// 関数の呼び出し方
actions.sayHello();   // こんにちは!
actions.sayGoodbye(); // さようなら!

このようにオブジェクトactionsの中に関数を入れて、actions.sayHello()のように呼び出せます。

3. 関数の短い書き方(メソッド記法)

3. 関数の短い書き方(メソッド記法)
3. 関数の短い書き方(メソッド記法)

最近のJavaScriptでは、もう少しシンプルに書くこともできます。関数キーワードを省略して下記のように書けます。


const actions = {
  sayHello() {
    console.log("こんにちは!");
  },
  sayGoodbye() {
    console.log("さようなら!");
  }
};

actions.sayHello();   // こんにちは!
actions.sayGoodbye(); // さようなら!

この書き方もオブジェクトに関数を入れる方法の一つです。

4. なぜ関数をオブジェクトに入れるの?便利な理由

4. なぜ関数をオブジェクトに入れるの?便利な理由
4. なぜ関数をオブジェクトに入れるの?便利な理由
  • 関数をグループでまとめて管理できる
  • 関数の名前が整理されてわかりやすい
  • 複雑なプログラムでも構造が整いやすい
  • 関数の呼び出し先がはっきりしてバグを減らせる

例えば、ゲームの中で「移動する」「攻撃する」「回復する」などの操作をまとめておくと、後から追加や修正がしやすくなります。

5. 実践例:簡単な計算をする関数をオブジェクトにまとめる

5. 実践例:簡単な計算をする関数をオブジェクトにまとめる
5. 実践例:簡単な計算をする関数をオブジェクトにまとめる

計算に関する関数をオブジェクトにまとめてみましょう。


const calculator = {
  add(a, b) {
    return a + b;
  },
  subtract(a, b) {
    return a - b;
  },
  multiply(a, b) {
    return a * b;
  },
  divide(a, b) {
    if (b === 0) {
      return "ゼロで割ることはできません";
    }
    return a / b;
  }
};

console.log(calculator.add(10, 5));       // 15
console.log(calculator.subtract(10, 5));  // 5
console.log(calculator.multiply(10, 5));  // 50
console.log(calculator.divide(10, 5));    // 2
console.log(calculator.divide(10, 0));    // ゼロで割ることはできません

このように計算に関する処理を一つのcalculatorオブジェクトにまとめると、使いたい関数を簡単に見つけて使えます。

6. オブジェクトに入れた関数のメリットと注意点

6. オブジェクトに入れた関数のメリットと注意点
6. オブジェクトに入れた関数のメリットと注意点

メリットは、関数を整理できてコードが読みやすくなることです。一方で、オブジェクトの中の関数を呼ぶときは「オブジェクト名.関数名()」という形を使うので、その点は慣れが必要かもしれません。

また、オブジェクトに格納した関数の中でthisという特別な言葉を使うこともあります。thisは「その関数が属しているオブジェクト自身」を指すので、これを理解するともっと便利に使えますが、今回は基本だけにしましょう。

7. まとめないけど、ここまでのポイント

7. まとめないけど、ここまでのポイント
7. まとめないけど、ここまでのポイント
  • JavaScriptの関数はオブジェクトに入れて「メソッド」として使える
  • オブジェクトに関数をまとめると管理しやすくなる
  • 呼び出すときは「オブジェクト名.関数名()」の形で呼ぶ
  • コードがすっきり整理されてバグが減りやすくなる

まとめ

まとめ
まとめ

関数をオブジェクトに格納する考え方を振り返る

JavaScriptでは、関数は単なる処理のまとまりではなく、変数に代入したり、配列やオブジェクトに格納したりできる柔軟な存在です。今回の記事で解説した「関数をオブジェクトに格納して使うテクニック」は、JavaScriptの特徴を活かした非常に重要な考え方です。関数をオブジェクトの中に入れることで、それぞれの処理に意味のある名前を付けて整理でき、プログラム全体の構造が分かりやすくなります。

オブジェクトに格納された関数は「メソッド」と呼ばれ、オブジェクト名とドットを使って呼び出します。この書き方に慣れると、「どのオブジェクトがどの処理を担当しているのか」が明確になり、コードを読むときの負担が大きく減ります。JavaScript初心者にとっては少し難しく感じるかもしれませんが、早い段階で理解しておくことで、後の学習がとても楽になります。

関数をまとめることで得られるメリット

関数をオブジェクトにまとめる最大のメリットは、関連する処理を一つのグループとして管理できる点です。例えば、計算処理、画面操作、データ操作など、役割ごとにオブジェクトを分けることで、プログラムが整理され、拡張や修正もしやすくなります。これは小さなサンプルコードだけでなく、実際のWebアプリケーション開発でも非常に重要な考え方です。

また、関数名の衝突を防げる点も大きな利点です。すべての関数を同じ場所に並べてしまうと、名前が重複したり、どこで使われているのか分からなくなったりします。オブジェクトに格納することで、「どの機能に属する関数なのか」が自然に分かるようになり、保守性の高いJavaScriptコードを書くことができます。

まとめとして確認したいサンプルプログラム


const userActions = {
  login() {
    console.log("ログイン処理を実行します");
  },
  logout() {
    console.log("ログアウト処理を実行します");
  },
  register() {
    console.log("新規登録処理を実行します");
  }
};

userActions.login();
userActions.logout();
userActions.register();

この例では、ユーザーに関する処理を一つのオブジェクトにまとめています。このように設計することで、「ユーザー操作に関する関数はここを見る」とすぐに分かるようになります。JavaScriptで関数をオブジェクトに格納する方法は、コードを読みやすくし、意図を明確に伝えるための基本テクニックです。

thisや設計の考え方につながる基礎

今回は詳しく触れませんでしたが、オブジェクトの中の関数では this を使う場面も多くあります。関数をオブジェクトに格納する考え方を理解しておくと、this が何を指しているのかも理解しやすくなります。JavaScriptのオブジェクト指向的な考え方の入口として、今回の内容はとても重要です。

関数をオブジェクトに入れるという習慣は、後にクラス構文やフレームワークを学ぶ際にも役立ちます。まずは「関数をまとめて管理する」という感覚を身につけることが、JavaScript上達への近道です。

先生と生徒の振り返り会話

生徒

「関数をオブジェクトに入れると、コードがすごく整理されるんですね。今まで関数をバラバラに書いていた理由が分かりました。」

先生

「そうですね。JavaScriptでは関数をまとめて管理することで、読みやすくて修正しやすいコードになります。」

生徒

「オブジェクト名と関数名で呼び出すので、どんな処理か想像しやすいですね。」

先生

「その感覚はとても大切です。プログラムは動くだけでなく、後から読めることも重要ですからね。」

生徒

「これからは、関係のある関数はオブジェクトにまとめて書いてみます。」

先生

「ぜひ実践してみてください。関数をオブジェクトに格納するテクニックは、JavaScriptの基礎力を一段引き上げてくれますよ。」

カテゴリの一覧へ
新着記事
New1
TypeScript
TypeScriptでパスエイリアスを設定する方法!baseUrlとpathsでコードをスッキリ整理
New2
JavaScript
JavaScriptのfor文の書き方を初心者向けにやさしく解説
New3
JavaScript
JavaScriptの関数でよくあるエラーとその解決法まとめ
New4
JavaScript
JavaScriptのイベント処理でよくあるエラーとその対処法
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptのマウスイベントの使い方(click, mouseoverなど)
No.3
Java&Spring記事人気No3
JavaScript
JavaScriptのtoStringとString関数の違いを初心者向けに解説
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptの純粋関数(pure function)と副作用の違いを理解しよう
No.5
Java&Spring記事人気No5
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.6
Java&Spring記事人気No6
JavaScript
JavaScriptで文字列をforループで1文字ずつ処理する方法!初心者向け解説
No.7
Java&Spring記事人気No7
TypeScript
TypeScript学習におすすめの無料教材・リファレンスサイト【初心者向け】
No.8
Java&Spring記事人気No8
JavaScript
JavaScriptのDOMContentLoadedとloadイベントの違いを理解しよう