Las inspecciones de JSHint ahora integradas en PhpStorm me informaron sobre los números mágicos de JavaScript y me doy cuenta de que hará que el código sea más claro para evitar su uso.Evitar el uso de números mágicos en JavaScript: alternativas que funcionan con JsHint
yo probamos este:
var constants = {
millisecs: 1000,
secs: 60
};
y también esto:
var constants = function() {
this.millisecs = 1000;
this.getMillisecs = function() {
return this.millisecs;
};
};
JsHint se queja de ambos.
Tomando la solución de this answer aunque funciona bien:
var constants = (function() {
var millisecs = 1000,
defaultMsgsPerSecond = 60;
this.getMillisecs = function() { return millisecs; };
this.getDefaultMsgsPerSecond = function() { return defaultMsgsPerSecond; };
})();
Es de suponer que debido al cierre. ¿Por qué es esto aceptado, mientras que las otras dos sugerencias tomadas de otra pregunta SO no lo son?
Editar: Aunque no desencadena un error, en realidad no funciona. Errores para decir constantes no está definido. JsFiddle.
Para aclarar - por "obras" quiero decir "no desencadena una advertencia de JsHint"
Un problema que aparece con claridad con sus dos primeros ejemplos de código, pero que faltan en el ejemplo de código de este último, es que las "constantes" no son tan constante - es decir, se pueden cambiar más adelante en el código (con 'constantes .millisecs = 100; '). – penartur
@penartur que me parece la respuesta: el ejemplo de trabajo se llama a sí mismo de inmediato, haciendo que sus propiedades sean privadas y, por lo tanto, solo los dos buscadores quedan expuestos. – bcmcfc
@ Wouter-Huysentruit por favor podrías explicar tu edición? – bcmcfc