Александр
и это как была независимая функция, так и осталась
honey
погоди ка
honey
а
honey
она там по ссылке ведь
honey
или...как, запутався
Александр
Александр
honey
ты как будто бы имеешь ввиду, что функция сейХай не принадлежит ни объекту Дог, ни объекту Кат*
honey
а здесь ты птичке записал по ключе функцию кота - сказать привет
honey
и теперь у птички есть такой метод
Александр
Александр
Она определяет контекст (то где сейчас находится) в момент исполнения
Александр
Но не на этапе присвоения ее коту или собаке
Александр
Александр
Александр
Это одна и та же функция)
Александр
Их не три
Это все еще одна и та же функция)
honey
так, то есть мы пока выяснили, что мы можем брать поля одного объекта и присваивать их другому объекту
и при этом это будет самая первая созданная функция, которая скопирвоана по ссылке
honey
?
Александр
ага
honey
так, хорошо, сейчас буду дальше разбираться с этим знанием ?_?
honey
:D
honey
итого - здесь передается просто функция, но не сам объект
honey
...
honey
а, аааа... типа в функции нет контекста в самой
honey
вроде дошло
honey
вроде дошло)))
Александр
когда ты делаешь setTimeout(Cat.sayHi,1000)
Та фактически делаешь следующее
var arguments = {callback: sayHi, timeout: 1000};
wait for arguments.timeout
call arguments.callback
honey
да
honey
всё, я поняла
honey
спасибо :D
honey
большое
honey
было интересно
honey
ну вообще, я удивлена, что если пишешь obj.func() - сам обджект при этом не учитывается)
оказывается (сюрприз) - передается только сама функция, без своего окружения
honey
ой, это вообще прикол
honey
а вот замыкание запоминает своё лексическое окружение
Александр
ага)
контекст - это по сути переменная. Какой-то объект.
Это может быть глобальный объект, или локальный. Это не важно.
Но просто у самой функции его изначально нет. Он берется из окружения в момент вызова функции
honey
мы не можем как-то это использовать чтобы запомнить текущий контекст?
honey
например контекст объекта Кот
Александр
setTimeout(()=>Cat.sayHi(),1000)
Александр
setTimeout(Cat.sayHi.bind(Cat), 1000)
Александр
через bind можно задать контекст вручную
honey
что через байнд можно привязать это я знаю
honey
угу
honey
а вот я читала про то, что можно "сразу задать контекст ИЛИ прокинуть его через байнд"
как понять "сразу задать контекст" ?
honey
ты случайно не знаешь ? что значит "сразу задать"
honey
хм, всё ещё думаю про то как передаются функции
получается, что функции (тобишь метод если это объект) - всегда своя собственная, даже если она прописана у объекта*...
Александр
honey
honey
вот эта статья, где написано ИЛИустановить this в вызове, или сделать байнд
honey
https://developer.mozilla.org/en-US/docs/Web/API/setTimeout
Александр
honey
ну, колл привязывает и вызывает :D
honey
и чего дальше
honey
мы вызываем сей хай с привязанным контекстом
honey
а байнд бы просто привзяал контекст
honey
хмм, а может имелось ввиду ВНЕ таймаута забайндить контекст и эту переменную прокинуть
honey
может это имелось ввиду
honey
Спасибо что дошел до компа и поразбирался со мной!)
Александр
Ты можешь контекст изначально закрепить за функцией
Александр
В статье твоей как раз примеры на эту тему есть
Александр
bounded function
honey
разобрались с Пашей, я не понимала что контекс присваивает в момент выполнения
honey
🥳
Александр
https://www.youtube.com/watch?v=X85soC5evw0
Александр
Вроде неплохо объясняют)
honey
мвс это про модел вью контроллер?
honey
вечерочка
honey
Александр
Ага
honey
с си шарпа ещё помню это понятие)
фронтендеру оно нужно ?
Александр
Ну как бы да…
honey
ну нужно так нужно)
honey
чего ты
honey
https://roadmap.sh/frontend
honey
чекнула роадмап по фронтенду, не нашла мвс, хотя тут куча другого (в том числе опционального)
honey
на нулевом стейдже rs school тоже такого нет, ну мб дальше где-то будет)
Александр
Да там видео короткое)
В базе можно конечно и не учить это.
Но полезно бывает знать паттерны)
Mvc и mvvm
И то и другое можно например с реактом использовать
Александр
На простых проектах может и нафик не нужно, но на крупных проектах придерживаться паттернов - хорошо
honey
На простых проектах может и нафик не нужно, но на крупных проектах придерживаться паттернов - хорошо
Понятно)
Просто если это не прям обязательная штука, то поверхностно посмотреть можно, и то - зачем, если в 90% случаев это не юзается, я и так уже как мне кажется полтора года никуда не двигаюсь, потому что хватаюсь за всё под ряд и ничего до конца не довожу)
Конкретно в сбере с джунов МВС вы спрашиваете?)
Ты наверное можешь ответить только за ваш отдел/команду, или за весь сбер целиком мб?