コンテンツにスキップ

JavaScript/予約語

出典: フリー教科書『ウィキブックス(Wikibooks)』

この章では、変数や関数などの名前として使用できない、JavaScriptの予約語の一覧を掲載しています。

予約語の種類

[編集]

ECMAScript の規格では、予約語(Reserved Words)を以下の四種類に分類しています(ES1当時)。

Keyword
キーワード
FutureReservedWord
将来のために予約された単語
NullLiteral
ヌルリテラル
null
BooleanLiteral
論理型リテラル
false と true
予約語の変遷
単語 ES1 ES2 ES3 ES5 ES6/2015 ES7/2016 ES8/2017
abstract N/A FRW N/A
await N/A FRW K/W
boolean N/A FRW N/A
break K/W
byte N/A FRW N/A
case FRW K/W
catch FRW K/W
char N/A FRW N/A
class FRW K/W
const FRW K/W
continue K/W
debugger FRW K/W
default FRW K/W
delete K/W
do FRW K/W
double N/A FRW N/A
else K/W
enum FRW
export FRW K/W
extends FRW K/W
false Bool
final N/A FRW N/A
finally FRW K/W
for K/W
float N/A FRW N/A
function K/W
goto N/A FRW N/A
if K/W
implements N/A FRW S/M
import FRW K/W
in K/W
instanceof N/A FRW K/W
int N/A FRW N/A
interface N/A FRW S/M
let N/A S/M
long N/A FRW N/A
native N/A FRW N/A
new K/W
null Null
package N/A FRW S/M
private N/A FRW S/M
protected N/A FRW S/M
public N/A FRW S/M
return K/W
short N/A FRW N/A
static N/A FRW S/M
super FRW K/W
switch FRW K/W
synchronized N/A FRW N/A
this K/W
throw FRW K/W
throws N/A FRW N/A
transient N/A FRW N/A
true Bool
try FRW K/W
typeof K/W
var K/W
void K/W
volatile N/A FRW N/A
while K/W
with K/W
yield N/A S/M K/W
N/A
予約語ではない
FRW
Future Reserved Word : 将来のために予約された単語
K/W
Keyword : キーワード
S/M
Strict mode : Strict モードでのみ将来のために予約された単語として識別子には使用できない。
左に同じ

カテゴリ別一覧

[編集]

JavaScript (ECMAScript) の予約語は、変数名や関数名、識別子として使用できない特定のキーワードや将来の予約語です。以下は最新の ECMAScript の仕様に基づく予約語の一覧です。

キーワード (Keywords)

[編集]

JavaScript の文法構造を定義するために使用される予約語。

await      break      case       catch      class
const      continue   debugger   default    delete
do         else       enum       export     extends
false      finally    for        function   if
import     in         instanceof let        new
null       return     super      switch     this
throw      true       try        typeof     var
void       while      with       yield

将来の予約語 (Future Reserved Words)

[編集]

現在は未使用ですが、将来の仕様で使用される可能性がある予約語。

Strict モードで予約

[編集]

以下の予約語は strict モードでは使用できません。

implements   interface   package   private
protected    public      static

ECMAScript 5 で定義された予約語

[編集]
let   yield

リテラル (Literals)

[編集]

特定の値を表す予約語で、識別子として使用できません。

null   true   false

グローバルオブジェクト

[編集]

グローバルスコープで予約されているオブジェクト名。

Array        ArrayBuffer     BigInt      BigInt64Array
BigUint64Array  Boolean      DataView    Date
decodeURI    decodeURIComponent   encodeURI   encodeURIComponent
Error        eval           EvalError   Float32Array
Float64Array Function       globalThis  Infinity
Int16Array   Int32Array     Int8Array   Intl
isFinite     isNaN          JSON        Map
Math         NaN            Number      Object
parseFloat   parseInt       Promise     Proxy
RangeError   ReferenceError Reflect     RegExp
Set          String         Symbol      SyntaxError
TypeError    Uint16Array    Uint32Array Uint8Array
Uint8ClampedArray undefined URIError    WeakMap
WeakSet

モジュール専用予約語

[編集]

モジュールの中で特定の文法に使われる予約語。

import   export   await

補足

[編集]
  • これらの予約語は識別子として使えないため、変数名や関数名にすることは避けてください。
  • 将来の予約語については、使用すると互換性の問題が生じる可能性があります。

脚註

[編集]