オブジェクトリテラル構文は JavaScript Object Notation (JSON) とは異なります。両者は似ていますが、違いがあります。 JSON は、"property": value 構文を使用するプロパティ定義のみを許可します。プロパティ名は二重引用符で囲まなければなりません。そして、その定義を略記にすることはできません。計算されたプロパティ名も許されません。 JSON オブジェクトプロパティの値で取りうるのは、文字列、数値、true、false、null、配列、他の JSON オブジェクトのみです。これはJSONがメソッドや、プレーンでないオブジェクト、例えば Date や RegExp を表現できないことを意味しています。 JSON では、 "__proto__" は通常のプロパティキーです。オブジェクトリテラルでは、オブジェクトのプロトタイプを設定します。 JSON