2016-01-01 6 views
10

Crockford's JavaScript:良い部分にはthe following textが含まれています。一部のJavaScriptの予約語が変数として機能します

予約語

次の単語はJavaScriptに予約されています。これらの言葉の

abstract boolean break byte case catch char class const continue 
debugger default delete do double else enum export extends false final 
finally float for 
function goto if implements import in instanceof int interface long native new null 
package private protected public return short static super switch synchronized this 
throw throws transient true try typeof var volatile void while with 

ほとんどが言語で使用されていません。

変数やパラメータの名前を付けることはできません。予約済みの ワードがオブジェクトリテラルのキーとして使用されるときは、引用符で囲む必要があります。それは することが必要な場合があるので、彼ら は、ドット表記を使用することはできません代わりにブラケット表記を使用します。

var method;    // ok 
var class;     // illegal 
object = {box: value};  // ok 
object = {case: value}; // illegal 
object = {'case': value}; // ok 
object.box = value;  // ok 
object.case = value;  // illegal 
object['case'] = value; // ok 

を予約語の中には、私のインストール通訳に予約されていないように見えます。たとえば、Chrome 48(beta)とnode.js 0.10.40の両方で、次のコードは予約語で識別される2つの数字を正常に追加します。

var abstract = 1; 
var native = 1; 
abstract + native; 
> 2 

なぜこれら2つの予約語を変数名として使用できますか?私は何かが欠けている?

+3

[予約語ではありません](http://www.ecma-international.org/ecma-262/6.0/#sec-reserved-words) – Pointy

+0

[予約語のリスト]に表示されるのはなぜですか? (http://www.w3schools。com/js/js_reserved.asp)? – lee

+7

予約語のリストが間違っているためです。 W3Schoolsがしばしば信頼できないとみなされる理由の良い例です。私が提供したリンクは実際の言語仕様です。 – Pointy

答えて

5

Reserved keywords as of ECMAScript 6

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

abstractnativemore here)は、古いECMAScriptの仕様(3までのECMAScript 1)により、将来のキーワードとして予約されていました。

は常に予約:enum

を保有それらが厳密モードコードで発見された場合:としても知られているawait

0

予約語(:予約

implements package protected static let interface private public 

それらがモジュールコードで発見された場合予約された識別子またはキーワード)は、変数、関数、またはラベルの名前など、識別子として使用することができない単語であり、「使用から予約されています」。予約語またはキーワードは、プログラミング言語内で特別な意味を持ちます。これらは、ブロックやループなどを識別するシステムをサポートする言語でデータ型を識別するために使用され、その機能はシステムライブラリですでに定義されています。

コードにキーワードや予約語を含めると、コード実行時に他の開発者やコンパイラと混同することがあります。そのため、予約語は多くのプログラミング言語に対応していません。類似のキーワードを持つ他のプログラミング言語もあります。 C、C++、C#、Javaなどの共通部分を共有しています。

Reserved Words in JavaScriptの最新のリストを入手できます。便利な例もあります。

関連する問題