Dziwne zachowanie parsowania JSON w js, „Nieoczekiwany token:”

Jak pokazano wto jsfiddleJeśli masz plik JS i tworzysz obiekt JSON bez użycia go, zachowuje się on inaczej w zależności od tego, czy klucze (elementy) są opakowane w cudzysłów, czy nie.

prawidłowy kod:{ a: 1};
zły kod:{ "a": 1 };

Otrzymasz komunikat o błędzie (w Chrome, inny dla FF / IE, ale nadal nie działa w składni)

Nieprzechwycony SyntaxError: Nieoczekiwany token:

ale jeśli używasz obiektu w jakiś sposób, na przykład:alert({ "a": 1 }); wszystko znowu jest OK.

Dlaczego to się dzieje?

questionAnswers(3)

yourAnswerToTheQuestion