Hace unas semanas, he leído este hilo Is < faster than <=? sobre operadores de comparación en C
. Se dijo que no hay diferencia en el rendimiento entre <
y <=
ya que se interpretan como comandos de máquina iguales/similares.JavaScript - === vs == operadores rendimiento
Al mismo tiempo, en las "mejores prácticas" de nuestra empresa, se decía que siempre deberíamos usar "===" para comparar cosas en lugar de "==". Entonces, comencé a preguntarme si esto siempre es apropiado ya que estoy acostumbrado a usar "==" y "typeof ... ==" y no quiero cambiar mi forma de escribir: -]
Tenga en cuenta que esto es en el contexto de JavaScript.
Por lo tanto, tengo un poco de investigación y aquí Which equals operator (== vs ===) should be used in JavaScript comparisons? Se dice que:
Esto es debido a que el operador de igualdad == qué tipo coerción ... lo que significa que el intérprete intenta implícita para convertir los valores y luego hace la comparación.
Por otro lado, el operador === identidad no hace tipo la coacción, y por lo tanto no convierte los valores de los valores al comparar
y empecé a preguntarme si esto significa que cuando uso el operador "===" obtendré un buen rendimiento ya que no se gastarán recursos en la conversión de los operandos. Y después de que todo el código se convierte en comandos de máquina, ¿significa esto que así como no hay diferencia en C
cuando usa <
y <=
, esto es lo mismo en JavaScript y en otros idiomas?
El camino al infierno está pavimentado con micro-optimizaciones. – asawyer
"Y después de que toda la codificación se convierta en comandos de máquina" Pero no todas las instrucciones en diferentes idiomas se convierten necesariamente en el mismo código de máquina. – BoltClock
Intente echar un vistazo a esta publicación: http://stackoverflow.com/questions/8044750/javascript-dformance-difference-between-double-equals-and-triple-equals – Chase