コードアカデミーでは、JavaScriptでオブジェクトを作成する方法が2つあると述べています。オブジェクトプロパティの割り当てで構文エラーが発生する
1.オブジェクト・リテラル表記
var myObject = {
key: value,
key: value,
key: value
};
2.オブジェクトコンストラクタアプローチ
var myObject = new Object();
キーは、次にこのよう添加することができる。
myObj["name"] = "Charlie";
myObj.name = "Charlie"; //shorthand for the first
ビーイング作成するように依頼しました3歳bjects、私は同じ値を持つオブジェクトを生成するさまざまな方法を試みたが、上記のテンプレートを使用してエラーが発生しています。私のコードは以下に貼り付けられています:
var object1 = {
1: 2,
7: 3,
4: 5
};
var object2 = new Object();
object2['1'] = 2;
object2['7'] = 3;
object2['4'] = 5;
var object3 = new Object();
object3.1 = 2;
object3.7 = 3;
object3.4 = 5;
コードアカデミーは私にエラーを与え、正確にどこにあるかを知るためにChromeのコンソールを使いました。 Chromeのコンソールに個別に各オブジェクトの作成を結び、object1
とobject2
を作成することができなくobject3
エラーを生成する:
var object3 = new Object();
object3.'1' = 2;
object3.'7' = 3;
object3.'4' = 5;
:Uncaught SyntaxError: Unexpected number
は(文字列に数字のキーを変更)へobject3
のコードを変更しますUncaught SyntaxError: Unexpected string
object1
の値を生成するためにこのテンプレート/レイアウトを使用してobject3
を作成することはできますか?または、キーは決して数値または文字列ではありませんか?文字列ですが、object2
の作成に使用したキーの番号ではありません。
プロパティ名「は、ドットを使用して数字で始めることはできません'構文です。ただし、アンダースコア(および$とアルファベット文字)は正当な構文なので、object3._1は機能します。 –