Dado el código:
function foo() { if (!this.isValid) { this.isValid = true; } } y si tengo foo() activado por un evento de cambio de tamaño, ¿es menos eficiente hacer esto?
function foo() { this.isValid = true; } donde estaría configurando constantemente this.isValid = true . El resultado final es el mismo, pero solo restablece la variable una y otra vez. ¿Hay alguna diferencia en cuanto a la memoria para cualquiera de los dos?
No habrá una diferencia significativa en ambos. Como en el caso de if , se le agregará una comparación. En caso de puesta a cero directa del valor. omitirá la comparación, pero el operador de asignación tomará algo de tiempo.
Esto puede ayudar para un código más limpio.
function foo() { this.isValid = this.isValid || true; } // so you value will not be overwritten