Size: a a a

JavaScript — русскоговорящее сообщество

2020 October 30

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
поэтому когда ты передаешь ее значение в bind, ты по сути передаешь window
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
это понятно?
источник

АМ

Александр Матчин... in JavaScript — русскоговорящее сообщество
Просто почему тут this не person мы же вроде как внутри объекта? Я так понимаю все дело в функции bind?
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
Александр Матчин
Просто почему тут this не person мы же вроде как внутри объекта? Я так понимаю все дело в функции bind?
это внутри глобального скопа
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
Александр Матчин
Просто почему тут this не person мы же вроде как внутри объекта? Я так понимаю все дело в функции bind?
потому что object literal не переопределяет this
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
sayHelloWindows: hello.bind(person)
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
я понимаю, в чем тут confusion
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
надо понять, что this определяется рантаймом
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
console.log(this)
function fn() {
 console.log(this)
}
тут this внутри будет такой же как и снаружи
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
console.log(this)
var obj = {
 value: this
}
тут тоже
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
Denys Mikhalenko
console.log(this)
function fn() {
 console.log(this)
}
тут this внутри будет такой же как и снаружи
зависит от директивы "use strict"
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
короче все эти конструкции *НЕ* создают свою область видимости
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
Sergiy Shatunov
зависит от директивы "use strict"
это мы пока оставим за скобками, а то и так перегруз )
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
я даже не думал, что в js область видимости - это такая сложная фигня
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
Denys Mikhalenko
это мы пока оставим за скобками, а то и так перегруз )
потом когда столкнётся со "странным" поведением, опять придёт сюда спрашивать
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
оказывается довольно сложно доходчиво объяснить кому-то как это работает
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
Sergiy Shatunov
потом когда столкнётся со "странным" поведением, опять придёт сюда спрашивать
ну придет и ему объяснят
источник

АМ

Александр Матчин... in JavaScript — русскоговорящее сообщество
Это я понял спасибо, но почему тогда в строке sayHello: hello мы получаем this = person, когда выводится результат внутри hello()?
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
кстати, как отменить "use strict"? в документации ничего про это не нашел
источник

DM

Denys Mikhalenko in JavaScript — русскоговорящее сообщество
никак
источник