2011-06-17 21 views
22

Estamos considerando adoptar el Google JavaScript coding guidelines dentro de nuestra compañía para mantener la coherencia entre los proyectos, pero una cosa me confunde. En la sección en constants dice usar la anotación de palabra clave @const para el cumplimiento constante en tiempo de compilación, pero nunca antes me he encontrado con el símbolo @. ¿Es esta una extensión de Google o parte del lenguaje central?¿Qué significa @const en JavaScript?

Aquí es el texto completo:

Para los no primitivas, utilizar la anotación @const.

/** 
* The number of seconds in each of the given units. 
* @type {Object.<number>} 
* @const 
*/ 
goog.example.SECONDS_TABLE = { 
    minute: 60, 
    hour: 60 * 60 
    day: 60 * 60 * 24 
} 

Esto permite que el compilador para hacer cumplir constante-dad.

En cuanto a la palabra clave const, Internet Explorer no lo analiza, así que no lo use.

Respuesta

16

Las anotaciones JSDoc como esta se pueden usar para dar pistas sobre el Google Closure Compiler como se describe en this page. Nuevamente, esto no forma parte del lenguaje, y el uso de @constant (además de agregar cierta información para el programador) solo es relevante si utiliza el compilador de cierre en su proyecto.

Esperamos que esto ayude :)

4

Parece que se refiere al uso de @const en JSDoc (Think JavaDoc) para marcar objetos constantes.

No es una palabra clave javascript ni parte del lenguaje, solo algo usado en la documentación en línea en JSDoc.

Editar: La mención de 'nunca use la palabra clave const' puede confundirlo. Las directrices dicen que no se use const porque IE no lo admite, en su lugar marcando la constante "constantes" en la documentación.

Algunos compiladores de JavaScript pueden analizar JSdoc para notación como esa, pero dudo que sea estándar.

+1

dudo mucho cualquier corriente principal motor de JS analiza jsdoc – Raynos

+0

Si, como se ha explicado anteriormente sitifensys que es raro Google mierda. –

Cuestiones relacionadas