¿Cómo modifica "usar estricto" las reglas para "esto" en Javascript?
Estoy tratando de entender qué regla para "esto" que "uso estricto"; Modifica en el caso de abajo.
Despues de leer (http://unschooled.org/2012/03/understanding-javascript-this/) Mi mejor conjetura es que dado que la función isStrictModeOn () no está "adjunta" a nada, esto se refiere a nulo. Se supone que es una alternativa más sensata a Javascript simplemente adjuntando esto al objeto global. ¿Es esa la interpretación correcta del cambio que está haciendo "uso estricto" en este caso?
http://www.novogeek.com/post/ECMAScript-5-Strict-mode-support-in-browsers-What-does-this-mean.aspx
function isStrictMode(){
return !this;
}
//returns false, since 'this' refers to global object and '!this' becomes false
function isStrictModeOn(){
"use strict";
return !this;
}
//returns true, since in strict mode, the keyword 'this' does not refer to global object, unlike traditional JS. So here,'this' is null and '!this' becomes true.