Nombres de propiedad válidos, asignación de propiedad y acceso en JavaScript

Pregunta actualizada

¿Qué, exactamente, califica como un nombre de propiedad válido en Javascript? ¿Cómo difieren los diversos métodos de asignación de propiedades? ¿Y cómo afecta el nombre de la propiedad al acceso a la propiedad?

Nota

Las respuestas a mi pregunta original (vista a continuación) ayudaron a aclarar algunas cosas, pero también abrieron una nueva lata de gusanos. Ahora que he tenido la oportunidad de familiarizarme un poco más con JavaScript, yocreer He podido resolverlo todo.

Como tuve dificultades para encontrar esta información consolidada en una sola explicación, pensé que podría ser útil ampliar mi pregunta original e intentar responderla.

Pregunta original

Originalmente, había cierta confusión con elGuía de JavaScript de MDN (literales de objeto). Específicamente, me preguntaba por qué afirmaban que si el nombre de una propiedad no era un identificador de JavaScript válido, entonces tendría que estar entre comillas. Sin embargo, ofrecieron un código de ejemplo que mostraba que el número 7 podía usarse, sin comillas, como nombre de propiedad.

Como resultado, la guía simplemente dejó una parte importante, yPuntiagudo actualizado (cambios en negrita):

Si el nombre de la propiedad no fuera un identificador de JavaScript válidoo número, debe estar entre comillas.

También me preguntaba por qué se permitía que los nombres de propiedades se desviaran de la regla "puede no comenzar con un dígito", que se aplica a los identificadores. Esa pregunta en realidad revela el completo malentendido que tenía sobre los nombres de propiedades, y es lo que me llevó a investigar un poco más.

Respuestas a la pregunta(2)

Su respuesta a la pregunta