JavaScript/予約語

カテゴリ:Book:JavaScript#予約語%20

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

予約語の種類

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

Keyword
キーワード
FutureReservedWord
将来のために予約された単語
NullLiteral
ヌルリテラル
null
BooleanLiteral
論理型リテラル
false と true
JavaScriptの予約語
予約語説明短い用例
async 非同期関数の定義async function fetchData() { /* ... */ }
await 非同期関数内での非同期処理の待機let result = await fetchData();
break ループやswitch文を終了break;
case switch文内での選択肢case 1: /* ... */
catch 例外処理のキャッチtry { /* ... */ } catch (e) { /* ... */ }
class クラスの定義class MyClass { /* ... */ }
const 定数の宣言const PI = 3.14;
continue ループの次の反復に進むcontinue;
debugger デバッガを起動debugger;
default switch文のデフォルトの選択肢default: /* ... */
delete オブジェクトのプロパティを削除delete obj.property;
do do-whileループの開始do { /* ... */ } while (condition);
else if文のelse部分if (x > 0) { /* ... */ } else { /* ... */ }
export モジュールからのエクスポートexport const myVar = 10;
extends クラスの継承class SubClass extends SuperClass {}
false 真偽値の「偽」let isActive = false;
finally try-catch文の最終実行部分try { /* ... */ } finally { /* ... */ }
for forループの開始for (let i = 0; i < 10; i++) { /* ... */ }
function 関数の定義function myFunction() { /* ... */ }
if 条件分岐の開始if (x > 0) { /* ... */ }
import モジュールのインポートimport { myFunction } from './module';
in オブジェクトのプロパティが存在するか確認'name' in obj;
instanceof インスタンスの型を確認obj instanceof MyClass;
let 変数の宣言(再代入可能)let counter = 0;
new 新しいオブジェクトの生成let obj = new MyClass();
null 空の値(オブジェクトがないこと)let value = null;
return 関数からの戻り値return result;
super 親クラスのメソッドやプロパティへのアクセスsuper.constructor();
switch 条件分岐のためのswitch文switch (x) { case 1: /* ... */ break; }
this 現在のオブジェクトへの参照console.log(this);
throw 例外を投げるthrow new Error("Something went wrong");
true 真偽値の「真」let isActive = true;
try 例外処理の開始try { /* ... */ } catch (e) { /* ... */ }
typeof 変数の型を調べるtypeof 42; // "number"
var 変数の宣言(旧式)var name = "Alice";
void 式の評価を行うが結果を返さないfunction foo() { return; }
while whileループの開始while (condition) { /* ... */ }
with オブジェクトのプロパティに対してスコープを拡張(非推奨)with (Math) { let result = cos(0); }
yield ジェネレータ関数の値を返すfunction* generator() { yield 1; }

予約語の変遷

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

カテゴリ別一覧

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

補足

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

脚註

    カテゴリ:Book:JavaScript カテゴリ:Pages using the JsonConfig extension