

中嶋悟
名前:中嶋 悟(なかじま さとる) ニックネーム:サトルン 年齢:28歳 性別:男性 職業:会社員(IT系メーカー・マーケティング部門) 通勤場所:東京都千代田区・本社オフィス 通勤時間:片道約45分(電車+徒歩) 居住地:東京都杉並区・阿佐ヶ谷の1LDKマンション 出身地:神奈川県横浜市 身長:175cm 血液型:A型 誕生日:1997年5月12日 趣味:比較記事を書くこと、カメラ散歩、ガジェット収集、カフェ巡り、映画鑑賞(特に洋画)、料理(最近はスパイスカレー作りにハマり中) 性格:分析好き・好奇心旺盛・マイペース・几帳面だけど時々おおざっぱ・物事をとことん調べたくなるタイプ 1日(平日)のタイムスケジュール 6:30 起床。まずはコーヒーを淹れながらニュースとSNSチェック 7:00 朝食(自作のオートミールorトースト)、ブログの下書きや記事ネタ整理 8:00 出勤準備 8:30 電車で通勤(この間にポッドキャストやオーディオブックでインプット) 9:15 出社。午前は資料作成やメール返信 12:00 ランチはオフィス近くの定食屋かカフェ 13:00 午後は会議やマーケティング企画立案、データ分析 18:00 退社 19:00 帰宅途中にスーパー寄って買い物 19:30 夕食&YouTubeやNetflixでリラックスタイム 21:00 ブログ執筆や写真編集、次の記事の構成作成 23:00 読書(比較記事のネタ探しも兼ねる) 23:45 就寝準備 24:00 就寝
const function 違いを徹底解説!中学生にもわかるJavaScriptの基本と使い道
このテーマはJavaScriptの基礎としてとても大事です。constとfunctionの違いを正しく理解することで、後のコードが読みやすくなり、他の人と協力するときの誤解を減らせます。難しく感じる理由は、実際には「言葉の意味」が日常とは少し違うからです。
まずは結論をはっきりさせると、constは再代入できない“箱”のようなもの、functionは呼び出すと実際に動く“箱”そのもの、というイメージでつかんでおくと良いです。
しかし現実のコードでは、箱の中身がオブジェクトだったり配列だったりすると中身の変更は可能だったり、
「もう使わない箱を捨てるときにどうするか」という設計上の工夫が必要になることもあります。これらの点を丁寧に見ていけば、中学生でも「書いたコードがどう動くか」を語れるようになります。本文を読みながら、実際の例を頭の中で追ってください。
この解説を通して、再代入の有無、スコープの仕組み、関数の宣言と表現の違いといった基本が自然と身についていくはずです。
constとは何か、基本の定義と意味
まず前提として、constは「定数」という意味の英単語ではなく、JavaScriptでは「変数を指す箱の再代入を禁止する宣言」だと理解すると分かりやすいです。
この箱にはすぐに別の値を入れ替えることはできませんが、箱の中身がオブジェクトや配列の場合は中身の変更は可能です。つまり、箱の参照先を変えることはできず、中身を変えることができるケースがある、という点がミソです。これを知っておくと、後で関数やオブジェクトを扱うときに迷いが少なくなります。
functionとは何か、機能と役割
一方、functionは「動く箱」を作るキーワードです。
関数は何かの処理をまとめたもので、呼び出すたびにその処理を実行します。
関数宣言(function name(...) { ... })と関数式(const name = function(...) { ... })の違いは重要です。前者は「宣言と同時に利用可能になる」ことが多く、後者は「変数に代入した時点でその関数が成立する」という点がポイントです。さらに、関数がどのスコープ内で生きるか、どのタイミングで実行されるかは、プログラムの流れを大きく左右します。初学者はまず「呼び出すときの名前をどう決めるか」「引数と戻り値をどう扱うか」を意識し、少しずつ複雑な使い方へと進んでいくと良いでしょう。
違いの実用的な使い分けと注意点
実務では、再代入の有無や読みやすさを重視して使い分けます。たとえば、定数の集まりを作るときにはconst、処理のまとまりにはfunctionを使うのが基本です。
また、関数宣言と関数式の違いを理解しておくと、たとえば「どう呼び出すか」「エラーが出るタイミングはいつか」を予測しやすくなります。初心者は最初は宣言を優先して書き、慣れてきたら関数式の柔軟さを取り入れると良いでしょう。
違いを表で整理しておこう
友だちと取り組んでいた大規模な課題で、constという箱を使う場面を見つけました。箱の中身はオブジェクトでも良いのですが、箱自体を別の値に変えることはできません。例えば objという箱に {x:1} を入れておくと、obj = {x:2} のように別の値を入れ直すことはできません。一方で obj.x の値を 3 に変えることは可能です。これを見て私は「再代入不可」というルールはコードの安定性を高めるのに役立つと気づきました。学習の途中でこの考え方を身につけると、後で大きなコードを書いても予期せぬ動作を避けやすくなります。
最初は戸惑うかもしれませんが、constの性質を理解することがプログラミングの全体像を見通すコツになるでしょう。