Есть такой код:
var user = {
name: 'John',
speak: function() {
var sayHi = function() {
console.log('Hi, my name is', this.name);
}
sayHi();
}
}
user.speak(); // выведет 'Hi, my name is'
Почему в переменной name, которая создастся в глобальной области, будет значение пустой строки, а не undefined?