Comportamiento de análisis JSON extraño en js, "token inesperado:"

Como se demuestra eneste jsfiddleSi tiene un archivo JS y crea un objeto JSON sin usarlo, se comporta de manera diferente dependiendo de si las claves (miembros) están envueltas entre comillas o no.

codigo valido:{ a: 1};
codigo invalido:{ "a": 1 };

Lo que obtendrás es un mensaje de error (en Chrome, diferente para FF / IE, pero aún falla en la sintaxis)

SyntaxError no detectada: fichas inesperado :

pero si usas el objeto de alguna manera, por ejemplo:alert({ "a": 1 }); todo está bien otra vez.

¿Por qué pasó esto?

Respuestas a la pregunta(3)

Su respuesta a la pregunta