JavaScript予約語一覧

予約語は、JavaScriptがすでに特別な意味で使っている単語です。変数名・関数名には使えません。使うと Uncaught SyntaxError: Unexpected token などのエラーになります。

予約語

単語説明
breakくり返し・switch をそこで終わらせる
caseswitch の中で、値ごとの処理を書く
catchtry で起きたエラーを受け取る
classクラス(オブジェクトの設計図)を作る
constあとで別の値を入れない変数を作る
continue今回の分を飛ばして、次のくり返しへ進む
debuggerここで実行を一時停止する
defaultswitch で、どれにも当てはまらないとき
deleteオブジェクトの項目を消す
dodo...while。先に1回実行してから条件を調べる
elseif の条件が成り立たないとき
enum今は使えないが、将来のために予約されている
export別のファイルへ機能を公開する
extendsクラスを引き継ぐ
false正しくない(真偽値)
finallytry / catch のあと、最後に必ず実行する
for決まった回数くり返す
function処理に名前を付けてまとめる(関数)
if条件で処理を分ける
import別のファイルの機能を読み込む
inオブジェクトにその名前があるか調べる。for...in で使う
instanceofあるクラスから作られたものか調べる
newオブジェクトを新しく作る
null「何も入っていない」ことを表す値
return関数の結果を返して、関数を終わる
super引き継ぎ元のクラスを呼び出す
switch値によって処理を分ける
thisいま処理しているもの自身を指す
throwエラーを自分で起こす
true正しい(真偽値)
tryエラーが起きるかもしれない処理を囲む
typeof値の種類(型)を調べる
var古い書き方の変数。今は const / let を使う
void式の結果を捨てて undefined にする
while条件が成り立つあいだくり返す
with使わない。古い書き方で、問題が多い
yieldジェネレータ関数で値を順に返す
await非同期処理の完了を待つ

厳格モードで予約語になるもの

クラスやモジュールの中など、厳格モード(strict mode)では次の単語も予約語になります。最初から使わないほうが安全です。

単語説明
letあとで値を変える変数を作る。厳格モードでは予約語
staticクラスの中で、クラス自身に付ける項目を作る
implements / interface / package / private / protected / public他の言語で使う単語。JavaScriptでは将来のために予約されているだけ

予約語ではないが、変数名にしないほうがいい単語

単語説明
undefined / NaN / InfinityJavaScriptが用意している特別な値
window / document / location / topブラウザが用意している部品。const / let で同じ名前を作るとエラーになる
name / event / status / lengthもともと持っている名前。変数名にすると、意図しない動きになることがある
Math / Date / Array / Object / String / Number / JSON / console標準の部品。同じ名前を作ると、本来の機能が使えなくなる

予約語とかぶったとき

名前に説明を足して、2語以上で書きます。class → className、new → newItem、default → isDefault のようにします。

obj.class のようにドットの後ろなら予約語も使えますが、変数名としては使えません。