
Duda con this, JavaScript y Nodejs
Publicado por Asdrúbal (1 intervención) el 13/04/2014 05:09:18
Buen día a todos. Tengo una gran duda por acá, resulta que ando aprendiendo CoffeeScript (Sin embargo, éste no es el meollo del asunto aquí). He hecho un código (El cual se compila a javascript), resultando en lo siguiente
Bien, resulta que si lo "corro" en mi navegador, la salida del mismo es:
Lo cual es lo que me espero siguiendo lo que creo saber sobre el significado de this en JavaScript. Ahora bien, vean la salida cuando ejecuto lo mismo en node
¿A qué se debe esto?
Francamente tengo varios días buscando respuestas y no consigo ninguna que sea satisfactoria.
Muchas gracias de antemano.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Generated by CoffeeScript 1.7.1
(function() {
var c_exists, val;
val = this;
c_exists = typeof console !== "undefined" && console !== null;
this.x = "outside";
(function(val) {
if (c_exists) {
console.log(val === this);
}
this.x = "inside";
})(val);
if (c_exists) {
console.log(this.x);
}
}).call(this);
Bien, resulta que si lo "corro" en mi navegador, la salida del mismo es:
1
2
true
inside
Lo cual es lo que me espero siguiendo lo que creo saber sobre el significado de this en JavaScript. Ahora bien, vean la salida cuando ejecuto lo mismo en node
1
2
false
outside
¿A qué se debe esto?
Francamente tengo varios días buscando respuestas y no consigo ninguna que sea satisfactoria.
Muchas gracias de antemano.

Valora esta pregunta


0