Тонкости func.call(obj)
Всем привет! Есть код:
function sayBye() {
console.log('outside')
};
let user = {
sayHi: function() {
sayBye.call(user)
},
sayBye: function() {
console.log('Bye')
}
};
user.sayHi(); // outside ??? почему не 'Bye'
Как я рассуждаю.
Последней строчкой кода запускается метод sayHi() объекта user.
Метод говорит запусти функцию sayBye в контексте user.
В контексте user функция есть, но выполняется внешняя. Почему?
|