「JavaScript/予約語」の版間の差分

削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
→‎予約語の種類: |- style="position:sticky; top:0"
Ef3 (トーク | 投稿記録)
1つの表に集約
21 行
! 単語 !! ES1 !! ES2 !! ES3 !! ES5 !! ES6/2015 !! ES7/2016 !! ES8/2017
|-
! [[JavaScript/予約語/abstract|abstract]]
| N/A || FRW || ← || N/A || ← || ← || ←
|-
! [[JavaScript/予約語/await|await]]
! await
| N/A || ← || ← || ← || FRW || ← || K/W
|-
! [[JavaScript/予約語/boolean|boolean]]
| N/A || FRW || ← || N/A || ← || ← || ←
|-
! [[JavaScript/予約語/break|break]]
! break
| K/W || ← || ← || ← || ← || ← || ←
|-
! [[JavaScript/予約語/byte|byte]]
! byte
| N/A || FRW || ← || N/A || ← || ← || ←
|-
! [[JavaScript/予約語/case|case]]
! case
| FRW || ← || K/W || ← || ← || ← || ←
|-
! [[JavaScript/予約語/catch|catch]]
! catch
| FRW || ← || K/W || ← || ← || ← || ←
|-
! [[JavaScript/予約語/char|char]]
! char
| N/A || FRW || ← || N/A || ← || ← || ←
|-
! [[JavaScript/予約語/class|class]]
! class
| FRW || ← || ← || ← || K/W || ← || ←
|-
! [[JavaScript/予約語/const|const]]
! const
| FRW || ← || ← || ← || K/W || ← || ←
|-
! [[JavaScript/予約語/continue|continue]]
| K/W || ← || ← || ← || ← || ← || ←
|-
! [[JavaScript/予約語/debugger|debugger]]
| FRW || ← || ← || K/W || ← || ← || ←
|-
! [[JavaScript/予約語/default|default]]
| FRW || ← || K/W || ← || ← || ← || ←
|-
! [[JavaScript/予約語/delete|delete]]
! delete
| K/W || ← || ← || ← || ← || ← || ←
|-
! [[JavaScript/予約語/do|do]]
! do
| FRW || ← || K/W || ← || ← || ← || ←
|-
! [[JavaScript/予約語/double|double]]
! double
| N/A || FRW || ← || N/A || ← || ← || ←
|-
! [[JavaScript/予約語/else|else]]
! else
| K/W || ← || ← || ← || ← || ← || ←
|-
! [[JavaScript/予約語/enum|enum]]
! enum
| FRW || ← || ← || ← || ← || ← || ←
|-
! [[JavaScript/予約語/export|export]]
! export
| FRW || ← || ← || ← || K/W || ← || ←
|-
! [[JavaScript/予約語/extends|extends]]
| FRW || ← || ← || ← || K/W || ← || ←
|-
! [[JavaScript/予約語/false|false]]
! false
| Bool || ← || ← || ← || ← || ← || ←
|-
! [[JavaScript/予約語/final|final]]
! final
| N/A || FRW || ← || N/A || ← || ← || ←
|-
! [[JavaScript/予約語/finally|finally]]
| FRW || ← || K/W || ← || ← || ← || ←
|-
! [[JavaScript/予約語/for|for]]
! for
| K/W || ← || ← || ← || ← || ← || ←
|-
! [[JavaScript/予約語/float|float]]
! float
| N/A || FRW || ← ||N/A || ← || ← || ←
|-
! [[JavaScript/予約語/function|function]]
| K/W || ← || ← || ← || ← || ← || ←
|-
! [[JavaScript/予約語/goto|goto]]
! goto
| N/A || FRW || ← || N/A || ← || ← || ←
|-
! [[JavaScript/予約語/if|if]]
! if
| K/W || ← || ← || ← || ← || ← || ←
|-
! [[JavaScript/予約語/implements|implements]]
| N/A || FRW || ← || S/M || ← || ← || ←
|-
! [[JavaScript/予約語/import|import]]
! import
| FRW || ← || ← || ← || K/W || ← || ←
|-
! [[JavaScript/予約語/in|in]]
! in
| K/W || ← || ← || ← || ← || ← || ←
|-
! [[JavaScript/予約語/instanceof|instanceof]]
| N/A || FRW || K/W || ← || ← || ← || ←
|-
! [[JavaScript/予約語/int|int]]
! int
| N/A || FRW || ← || N/A || ← || ← || ←
|-
! [[JavaScript/予約語/interface|interface]]
| N/A || FRW || ← || S/M || ← || ← || ←
|-
! [[JavaScript/予約語/let|let]]
! let
| N/A || ← || ← || S/M || ← || ← || ←
|-
! [[JavaScript/予約語/long|long]]
! long
| N/A || FRW || ← || N/A || ← || ← || ←
|-
! [[JavaScript/予約語/native|native]]
! native
| N/A || FRW || ← || N/A || ← || ← || ←
|-
! [[JavaScript/予約語/new|new]]
! new
| K/W || ← || ← || ← || ← || ← || ←
|-
! [[JavaScript/予約語/null|null]]
! null
| Null || ← || ← || ← || ← || ← || ←
|-
! [[JavaScript/予約語/package|package]]
| N/A || FRW || ← || S/M || ← || ← || ←
|-
! [[JavaScript/予約語/private|private]]
| N/A || FRW || ← || S/M || ← || ← || ←
|-
! [[JavaScript/予約語/protected|protected]]
| N/A || FRW || ← || S/M || ← || ← || ←
|-
! [[JavaScript/予約語/public|public]]
! public
| N/A || FRW || ← || S/M || ← || ← || ←
|-
! [[JavaScript/予約語/return|return]]
! return
| K/W || ← || ← || ← || ← || ← || ←
|-
! [[JavaScript/予約語/short|short]]
! short
| N/A || FRW || ← || N/A || ← || ← || ←
|-
! [[JavaScript/予約語/static|static]]
! static
| N/A || FRW || ← || S/M || ← || ← || ←
|-
! [[JavaScript/予約語/super|super]]
! super
| FRW || ← || ← || ← || K/W || ← || ←
|-
! [[JavaScript/予約語/switch|switch]]
! switch
| FRW || ← || K/W || ← || ← || ← || ←
|-
! [[JavaScript/予約語/synchronized|synchronized]]
| N/A || FRW || ← || N/A || ← || ← || ←
|-
! [[JavaScript/予約語/this|this]]
! this
| K/W || ← || ← || ← || ← || ← || ←
|-
! [[JavaScript/予約語/throw|throw]]
! throw
| FRW || ← || K/W || ← || ← || ← || ←
|-
! [[JavaScript/予約語/throws|throws]]
! throws
| N/A || FRW || ← || N/A || ← || ← || ←
|-
! [[JavaScript/予約語/transient|transient]]
| N/A || FRW || ← || N/A || ← || ← || ←
|-
! [[JavaScript/予約語/true|true]]
! true
| Bool || ← || ← || ← || ← || ← || ←
|-
! [[JavaScript/予約語/try|try]]
! try
| FRW || ← || K/W || ← || ← || ← || ←
|-
! [[JavaScript/予約語/typeof|typeof]]
! typeof
| K/W || ← || ← || ← || ← || ← || ←
|-
! [[JavaScript/予約語/var|var]]
! var
| K/W || ← || ← || ← || ← || ← || ←
|-
! [[JavaScript/予約語/void|void]]
! void
| K/W || ← || ← || ← || ← || ← || ←
|-
! [[JavaScript/予約語/volatile|volatile]]
| N/A || FRW || ← || N/A || ← || ← || ←
|-
! [[JavaScript/予約語/while|while]]
! while
| K/W || ← || ← || ← || ← || ← || ←
|-
! [[JavaScript/予約語/with|with]]
! with
| K/W || ← || ← || ← || ← || ← || ←
|-
! [[JavaScript/予約語/yield|yield]]
! yield
| N/A || ← || ← || S/M || K/W || ← || ←
|}
; N/A : 予約語ではない
 
; FRW : Future Reserved Word : 将来のために予約された単語
== JavaScriptで使われている予約語 ES2021 ==
; K/W : Keyword : キーワード
ECMAScript 2021 で使用されているキーワードのリスト<ref name="es2021rw">[https://tc39.es/ecma262/#sec-keywords-and-reserved-words ECMA-262::12.6.2 Keywords and Reserved Words]</ref>:
; S/M : Strict mode : Strict モードでのみ将来のために予約された単語として識別子には使用できない。
 
; ← : 左に同じ
[[JavaScript/予約語/await|await]]
[[JavaScript/予約語/break|break]]
[[JavaScript/予約語/case|case]]
[[JavaScript/予約語/catch|catch]]
[[JavaScript/予約語/class|class]]
[[JavaScript/予約語/const|const]]
[[JavaScript/予約語/continue|continue]]
[[JavaScript/予約語/debugger|debugger]]
[[JavaScript/予約語/default|default]]
[[JavaScript/予約語/delete|delete]]
[[JavaScript/予約語/do|do]]
[[JavaScript/予約語/else|else]]
[[JavaScript/予約語/enum|enum]]
[[JavaScript/予約語/export|export]]
[[JavaScript/予約語/extends|extends]]
[[JavaScript/予約語/false|false]]
[[JavaScript/予約語/finally|finally]]
[[JavaScript/予約語/for|for]]
[[JavaScript/予約語/function|function]]
[[JavaScript/予約語/if|if]]
[[JavaScript/予約語/import|import]]
[[JavaScript/予約語/in|in]]
[[JavaScript/予約語/instanceof|instanceof]]
[[JavaScript/予約語/new|new]]
[[JavaScript/予約語/null|null]]
[[JavaScript/予約語/return|return]]
[[JavaScript/予約語/super|super]]
[[JavaScript/予約語/switch|switch]]
[[JavaScript/予約語/this|this]]
[[JavaScript/予約語/throw|throw]]
[[JavaScript/予約語/true|true]]
[[JavaScript/予約語/try|try]]
[[JavaScript/予約語/typeof|typeof]]
[[JavaScript/予約語/var|var]]
[[JavaScript/予約語/void|void]]
[[JavaScript/予約語/while|while]]
[[JavaScript/予約語/with|with]]
[[JavaScript/予約語/yield|yield]]
 
== JavaScriptで使われている予約語 (Edition 5.1)==
 
ECMAScript 5.1 で使用されているキーワードのリスト:<ref name=ECMA-262>[https://262.ecma-international.org/5.1/#sec-7.6.1 ECMA-262::7.6.1Reserved Words"]</ref><ref>[http://www.w3schools.com/js/js_reserved.asp JavaScript Reserved Words](w3schools.com)</ref>。
 
[[JavaScript/予約語/abstract|abstract]]
[[JavaScript/予約語/arguments|arguments]]
[[JavaScript/予約語/boolean|boolean]]
[[JavaScript/予約語/break|break]]
[[JavaScript/予約語/byte|byte]]
[[JavaScript/予約語/case|case]]
[[JavaScript/予約語/catch|catch]]
[[JavaScript/予約語/char|char]]
[[JavaScript/予約語/class|class]]*
[[JavaScript/予約語/const|const]]
[[JavaScript/予約語/continue|continue]]
[[JavaScript/予約語/debugger|debugger]]
[[JavaScript/予約語/default|default]]
[[JavaScript/予約語/delete|delete]]
[[JavaScript/予約語/do|do]]
[[JavaScript/予約語/double|double]]
[[JavaScript/予約語/else|else]]
[[JavaScript/予約語/enum|enum]]*
[[JavaScript/予約語/eval|eval]]
[[JavaScript/予約語/export|export]]*
[[JavaScript/予約語/extends|extends]]*
[[JavaScript/予約語/final|final]]
[[JavaScript/予約語/finally|finally]]
[[JavaScript/予約語/float|float]]
[[JavaScript/予約語/for|for]]
[[JavaScript/予約語/function|function]]
[[JavaScript/予約語/goto|goto]]
[[JavaScript/予約語/if|if]]
[[JavaScript/予約語/implements|implements]]
[[JavaScript/予約語/import|import]]*
[[JavaScript/予約語/in|in]]
[[JavaScript/予約語/instanceof|instanceof]]
[[JavaScript/予約語/int|int]]
[[JavaScript/予約語/interface|interface]]
[[JavaScript/予約語/let|let]]
[[JavaScript/予約語/long|long]]
[[JavaScript/予約語/native|native]]
[[JavaScript/予約語/new|new]]
[[JavaScript/予約語/package|package]]
[[JavaScript/予約語/private|private]]
[[JavaScript/予約語/protected|protected]]
[[JavaScript/予約語/public|public]]
[[JavaScript/予約語/return|return]]
[[JavaScript/予約語/short|short]]
[[JavaScript/予約語/static|static]]
[[JavaScript/予約語/super|super]]*
[[JavaScript/予約語/switch|switch]]
[[JavaScript/予約語/synchronized|synchronized]]
[[JavaScript/予約語/this|this]]
[[JavaScript/予約語/throw|throw]]
[[JavaScript/予約語/throws|throws]]
[[JavaScript/予約語/transient|transient]]
[[JavaScript/予約語/try|try]]
[[JavaScript/予約語/typeof|typeof]]
[[JavaScript/予約語/var|var]]
[[JavaScript/予約語/void|void]]
[[JavaScript/予約語/volatile|volatile]]
[[JavaScript/予約語/while|while]]
[[JavaScript/予約語/with|with]]
[[JavaScript/予約語/yield|yield]]
 
(*) ECMAScript5の新しい予約語
 
JavaScriptで使用される他のいくつかの予約語はリテラル値を表します。
 
[[JavaScript/予約語/false|false]]
[[JavaScript/予約語/null|null]]
[[JavaScript/予約語/true|true]]
 
== 将来のJavaScriptのために予約された単語 ==
 
ECMAScriptの仕様により、現在は機能していないが変数名として使用できないように予約されている単語があります。これらのキーワードは、あるECMAScriptの仕様で予約された単語である場合もあれば、そうでない場合もあり予約されている状態によってグループ化されています<ref>https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Lexical_grammar</ref>。
 
=== 常に予約されている単語 ===
 
{| class="wikitable"
|-
| <b><tt>await</tt></b> || <b><tt>enum</tt></b>
|}
 
=== Strictモードで予約されている単語 ===
 
{| class="wikitable"
|-
| <b><tt>implements</tt></b> || <b><tt>private</tt></b> || <b><tt>static</tt></b>
|-
| <b><tt>interface</tt></b> || <b><tt>protected</tt></b> ||
|-
| <b><tt>package</tt></b> || <b><tt>public</tt></b> ||
|}
 
=== ECMAScript標準エディション1から3で予約されていた単語 ===
 
{| class="wikitable"
|-
| <tt><s>abstract</s></tt> || <b><tt>extends</tt></b> || <tt><s>native</s></tt>
|-
| <tt><s>boolean</s></tt> || <tt><s>final</s></tt> || <tt><s>short</s></tt>
|-
| <tt><s>byte</s></tt> || <tt><s>float</s></tt> || <b><tt>super</tt></b>
|-
| <tt><s>char</s></tt> || <tt><s>goto</s></tt> || <tt><s>synchronized</s></tt>
|-
| <b><tt>class</tt></b> || <b><tt>import</tt></b> || <tt><s>throws</s></tt>
|-
| <b><tt>const</tt></b> || <tt><s>int</s></tt> || <tt><s>transient</s></tt>
|-
| <tt><s>double</s></tt> || <b><tt>let</tt></b> || <tt><s>volatile</s></tt>
|-
| <b><tt>export</tt></b> || <tt><s>long</s></tt> ||
|}
 
== 脚注 ==
<references />