予約語とは?変数名にできない「先約済みの単語」の正体と回避法を解説

システム開発・テクノロジー
予約語とは?ざっくりと3行で
  • プログラミング言語において、あらかじめ「特別な意味や役割」が決められているため、ユーザーが勝手に使えない単語のことだよ。
  • 変数名や関数名としてこれらの単語を使おうとすると、コンピュータが命令を理解できずにエラー(構文エラー)になってしまうんだ。
  • レストランの「予約席」と同じで、すでに先約があるから他の人は座れない(使えない)名前だね。
銀色の猫キャラクター「デプロイ太郎」が、プログラミングにおいて特定の単語が変数名として使用できない「予約語」の仕組みと対処法を学ぶ4コマ漫画。
①新しい変数名として、わかりやすい「class」という単語を使おうと試みる。 ②画面に「ERROR!」が表示され、なぜその名前が使えないのか分からず困惑する。 ③「class」は言語仕様として予め用途が決まっている「予約語」であると判明する。 ④予約語は変数名に使えないと理解し、別の名前「my_class」に変更して解決する。

【深掘り】これだけ知ってればOK!

単なる「禁止用語」だと思われがちだけど、実は「コンピュータがプログラムを解読するための道しるべ」だから変更できないんだよ。

プログラミング言語(Java, Python, C言語など)は、if(もし〜なら)、while(〜の間繰り返す)、return(値を返す)といった特定の単語を、「命令の合図」として認識するように設計されています。もしユーザーが int if = 10; のように if をただの変数名として使ってしまうと、コンピュータは「これは条件分岐の始まりなのか?それとも変数の名前なのか?」と区別がつかず、パニック(コンパイルエラー)を起こしてしまいます。

初心者が現場で直面しそうなシーンとして、「エディタの色の変化」で見分けるコツがあります。VS Codeなどの高機能なエディタを使っていると、予約語を入力した瞬間に文字色が(例えば青やピンクに)変わります。「変数名として class と打ったら色が変わった…あ、これは予約語だ!」と気づき、class_namemyClass のように名前を変えるのが基本テクニックです。

会話での使われ方

この変数名、default は予約語だから使えないよ。default_value に変えて。

SQLのエラーが出ると思ったら、カラム名に order(予約語)を使っていました。

Pythonでは print は予約語じゃないけど、組み込み関数だから変数名にするのは避けてね。

【まとめ】3つのポイント

  • 先約済みの席:言語仕様としてすでに役割が割り当てられている特別な単語
  • 使用禁止:ユーザーが自由につける名前(識別子)として使うことはできない
  • 色の変化:コードエディタ上でハイライト表示されるので、見た目で区別できる

よくある質問

Q
予約語を使ってしまったらどうなりますか?
A
プログラムを実行またはコンパイルする際に「Syntax Error(構文エラー)」や「Invalid Syntax(無効な構文)」が表示され、プログラムが動きません。
Q
予約語の具体例は何ですか?
A
言語によって異なりますが、一般的に if, else, for, while, break, return, class, true, false, null などが多くの言語で予約語になっています。
Q
どうしても予約語と同じ名前を使いたい時は?
A
先頭や末尾にアンダースコア(`_`)をつけるのが一般的な回避策です(例:class_, _type)。また、SQLなどのデータベースでは、バッククォート(`)やダブルクォート(”)で囲むことで使える場合もありますが、推奨されません。
Q
全てのプログラミング言語で予約語は同じですか?
A
いいえ、言語ごとに違います。例えば goto はC言語では予約語ですが、Pythonには存在しません。また echo はPHPでは予約語ですが、他の言語ではただの関数名だったりします。

コメント

「IT用語、難しすぎて心が折れそう……」という方のための、ハードル低めな用語辞典です。

情報レベルは「基礎中の基礎」。会話を止めないためのエッセンスだけを抽出しています。分かりやすさを追求するあまり、時々例え話が暴走しているかもしれませんが、そこは「ほどよく」聞き流していただけると幸いです。
YouTubeも運営中。チャンネル登録はこちら!!
応援のワンクリックが大きな励みになります!
IT・通信業ランキング にほんブログ村 ベンチャーブログへ
ほどよくIT用語辞典システム開発・テクノロジー
デプロイ太郎のSNSを見てみる!!
タイトルとURLをコピーしました