JavaScript es y será un mundo a parte. Siguiendo nuestras entradas que buscan mejorar la optimización de nuestras Apps y Webs, compartimos otros consejos interesantes de sencilla aplicación.
Reemplazar == por ===
Esto puede parecer ridículo para el operador de comparación == es ineficiente en cantidad de request comparado con el operador estricto ===. Según unas pruebas, solamente empatan en cantidad de comparaciones cuando son número, para todo lo demás (string, objetos, etc) el operador === es más eficiente, ya que permite realizar una mayor cantidad de operaciones por segundo.
Redondeo con ~~
Algo curioso que ocurre con el redondeo es que se suele emplear el Math.round() cuando el operador ~~ elimina decimales utilizando mucha menos memoria:
Math.round(1.123) // Más Pesado
~~ (1.123) // Más Ligero
Sin embargo, una pequeña aclaración, el operador ~~ elimina los decimales consiguiendo un número entero, Math.round() redondea dependiendo el valor decimal, así que no es un reemplazo 100% exacto, aunque si útil en la mayoría de los casos.
Variable en Caché
Consejo básico pero que nunca está de mas, si vamos a utilizar un elemento del DOM, siempre es aconsejable guardarlo en una variable así se guarda en el caché de JS y el sistema no debe ir a buscarlo nuevamente, en caso de necesitarlo. Por ejemplo, en lugar de hacer esto:
document.getElementById('componente')
document.getElementById('componente').value = 'red'
Podemos hacer esto:
let componente = document.getElementById('componente')
componente.value = 'red'
En sistemas grandes donde se opere con elementos del DOM constantemente, será un gran alivio para el rendimiento.