みなさん、こんにちは!
今回は「予約語」についての記事になります!
少しでもみなさんの参考になれば嬉しいです。
INDEX
予約語とは
予約語とは、そのプログラミング言語の構文や機能で特別な意味を持つ単語や識別子のことです。これらの予約語は通常、変数名や関数名として使用することができません。予約語を使用すると、構文エラーが発生したり、予期せぬ動作が起こったりする可能性があります。
予約語一覧
JavaScriptでは、予約語には次のようなものが含まれます(厳密なリストはJavaScriptのバージョンや実行環境によって異なることがあります)。
JavaScript
arguments※ | await※ | break | case | catch | class |
const | continue | debugger | default | delete | do |
else | enum※ | export | extends | false | finally |
for | function | get※ | if | implements※ | import |
in | instanceof | interface※ | let※ | new | null |
package※ | private※ | protected※ | public※ | return | set※ |
static※ | super | switch | this | throw | true |
try | typeof | var | void | while | with |
yield※ |
(参考: 改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで)
一部の予約語には特別な用途があります。
例えば、awaitやasyncはPromiseを扱う際に使われます。classはES6から導入されたクラス定義に関連します。
PHP
__halt_compiler | abstract | and | array | as |
break | callable | case | catch | class |
clone | const | continue | declare | default |
die | do | echo | else | elseif |
empty | enddeclare | endfor | endforeach | endif |
endswitch | endwhile | eval | exit | extends |
final | finally | fn (PHP 7.4 以降) | for | foreach |
function | global | goto | if | implements |
include | include_once | instanceof | insteadof | interface |
isset | list | match (PHP 8.0 以降) | namespace | new |
or | private | protected | public | |
readonly (PHP 8.1.0 以降) | require | require_once | return | static |
switch | throw | trait | try | unset |
use | var | while | xor | yield |
yield from |
(参考: https://www.php.net/manual/ja/reserved.keywords.php)
PHPの予約語は言語の機能を制御するための特別な単語であり、例えばechoは出力、ifは条件分岐の実行するためのキーワードです。
これらを変数名や関数名として使うべきではありません。
誤って使用してしまった場合・・・
名前をつける際、予約語を避けることが重要です。誤って予約語を使用すると、予期せぬエラーや不具合が発生する可能性があります。
JavaScriptの場合
変数をclassで、作成したとします。
var class = '引数';
document.write(class);
実行すると、
Uncaught SyntaxError: Unexpected token ‘class’
上記のような構文エラーが発生します。
また、JavaScriptでは大文字と小文字を区別するため、class⇨Classと記述するとエラーは発生しませんが、ミスを誘発してしまう恐れがあるため、おすすめはできません。
PHPの場合
関数名で使用
以下のようなコードで関数名を設定したとします。
<?php
function array(){
echo 'こんにちは';
}
array();
?>
構文解析エラー(Parse error)が発生します。
Parse error: syntax error, unexpected ‘array’ (T_ARRAY), expecting
変数名で使用
以下のようなコードで変数名を設定したとします。
<?php
$array = 'こんにちは';
echo $array;
?>
結果は
こんにちは
と表示されます。
このように予約語を変数名で利用することは出来ますが、コードの可読性の低下や意図せぬミスを誘発してしまう恐れがあるため、避けるのが良いでしょう。
効率的で品質の高いコードを書くために
適切な命名規則を使用する
変数、関数、クラス、定数などの命名には、意味が明確で分かりやすい名前を使用しましょう。キャメルケースやスネークケースなどの命名規則をコードベースで統一することが重要です。
キャメルケース
- userName
- userAge
- userAddress
スネークケース
- user_name
- user_age
- user_address
適切な命名規則を使用する
各関数やクラスは、一つの明確な責任を持つように設計しましょう。モジュールが特定の責務に集中することで、そのコードを他の場面でも再利用しやすくなります。
まとめ
名前をつけるときに予約語に気をつけることは、きれいで効果的なコードを書く上で欠かせないスキルです。
開発者は予約語のリストを確認し、適切な命名規則に従ってコーディングすることで、より読みやすく保守性の高いコードを実現できます。
ぜひ意識してコーディングをしてみてください!