Parece que se prefiere el operador de igualdad estricta siempre que sea posible: puse mi código en JSLint y obtuve los siguientes comentarios.¿Por qué usar === cuando está seguro de que los tipos son iguales?
Código:
function log() {
console.log(arguments.length == 1 ? arguments[0] : arguments);
}
La retroalimentación de JSLint:
Problem at line 2 character 34: Expected '===' and instead saw '=='.
Tengo curiosidad por saber qué ventajas tiene sobre ===
==
aquí. Básicamente, .length
devuelve un Number
, y 1
es un Number
también. Puede estar 100% seguro, por lo que ===
es solo un token extra redundante. Además, verificar el tipo mientras usted sabe que los tipos siempre serán iguales tampoco tiene ninguna ventaja en el rendimiento.
¿Cuál es en realidad la razón detrás de usar ===
aquí?
Podría ser estúpido, pero ¿podría decirme dónde la página de opciones tiene una opción para '==='/'=='? – pimvdb
Er ... solía tenerlo. Se llamaba 'eqeqeq', pero ahora no puedo encontrarlo de nuevo. – Andrea
eqeqeq, así como extensiones de opciones adicionales en http://jshint.com/ –