honey
Хотя там может про банальные вещи типа того, что можно использовать метод .one чтобы найти первый же удовлетворябщий условию рез-т, а не пробкгаться по каждому элементу
honey
honey
Пардон не так выразилась
Александр
например [{a:1},{b:2},{c:3}]
Александр
И даже если пришло все тоже самое, то он заного будет рисовать
Pavel
о, я кстати проходил собеседование в adobe, могу тоже скинуть задачки
Александр
А если привяжешься к значению, то он поймет, что пришло тоже самое и на том же месте
Александр
Ну т.е. index + значение атрибутов или еще как-то. Ключ это по сути условие для проверки изменился ли объект)
Pavel
ладно, пока что сложно понять, может как подрасту пойму)
Pavel
Pavel
вот эти вопросы были по console.log, еще просили написать фибоначчи (найти n элемент последовательности) и Live coding тоже не очень сложный, зафетчить данные и вывести их списком с картинками
Pavel
Pavel
предположим, что остальную часть собеседования я бы проходил примерно так же
Александр
Очень многое понятно становится, когда вживую голосом отвечаешь на вопросы) Как отвечаешь, как мысли формулируешь) Как мыслишь в процессе и тп =)
Pavel
это да, согласен, ну 50/50 уже неплохо 😄
Александр
И можно ли например сделать эту задачу подругому))
Александр
Ну просто письменно задолбаешься писать)) Голосом это все очень быстро проговаривается =)
honey
Ух ты, в чатике разрешены только конкретные реакции
honey
honey
То есть this -ом по умолчанию становится объект на котором вызывается метод, содержащий this
Однако, если вызов этого метода (на каком-то объекте) ОБЕРНУТ в какую-то функцию, именно контекст этой функции будет this - ом
honey
Вы разбираетесь в this?))
honey
Кто может сказать, я правильно поняла или нет?
honey
Вопрос к знатокам. Что будет выведено в консоль, а главное почему?
honey
Вот сама задача
honey
И тут будет андеф
honey
Из-за того, что вызов метода sayHi на объекте cat ОБЕРНУТ в функцию сеттаймаут?
honey
Pavel
Не уверен, но предположительно да, сеттаймаут принимает колбэк и вызывает его в своем контексте
honey
Что значит "сеттаймаут принимает колбек"?)))
honey
Я принимаю гостей, а сеттаймаут принимает колбек? Ааха
honey
Ааааааа
honey
honey
honey
Я как бы к этому пришла
Pavel
honey
Однако вопрос почему это так
honey
А сама функция и есть функция
honey
Сетаймацт то есть это и есть функция
honey
Которая работает так, что просто ждёт заданное время
Pavel
honey
А после себя тип вызывает прокинутый код
honey
Ахахх
honey
Всё дошло
honey
Короче сеттаймаут и есть функция, которая отрабатыаает так, что просто ждёт заданное время
И после того, как она отработала, она вызывает то, что прокинуто ей в виде аргумента
И вот это называется колбек
honey
Всё время меня смущало название колбек
honey
honey
honey
И именно на нём вызывается метод, содержащий this
Pavel
honey
То есть даже если у сеттаймаута есть там какой-то свой контекст...
Какая компилятору разница на контекст сеттаймаута? Мы же метод НА ОБЪЕКТЕ юзаем
honey
honey
Опачки
Pavel
Если бы вызывался, было был cat.sayHi()
honey
Погоди ка
honey
Если мы пишем ключ, мы смотрим значение, а значением в данном случае является функция
Pavel
А вызов происходит где-то внутри сеттаймаут
honey
Если мы в консоли посмотрим на метод объекта (без самого вызыва этого метода), то мы увидим тело функции (жаль что не Джесики Альбы)
А если мы в консоли посмотрим на ВЫЗОВ этого метода, вот тогда мы увидим "мяу я мурзик"
honey
Так вот
honey
Почему тогда при просмотре метода на объекте cat ( в контексте функции сеттаймаут ) мы получаем андеф
honey
Как будто this теперь это не cat, а сеттаймаут
Александр
Блин комп далеко, но ради этого включу))
honey
У него там теория за две секунды
honey
Про то что this это просто контекст в котором мы вызываем нашу функцию
honey
Это то понятно
honey
Непонятно то, почему контекст изменился
honey
Может дело в том, что я не понимаю что такое контекст
honey
Я думала что контекст это текущий объект, на котором вызывается функция
honey
И пустой контекст создаётся когда мы создаём новый экземпляр класса, напрмер
Тип изначально он пустой, а потом инициализируется тем объектом, который мы создали через конструктор
honey
Ну, кроме того, что есть глобальный объект виндоу
honey
И специальный нодовский объект, в ноде
Pavel
Он меняется в момент, когда ты пишешь cat.sayHi, в этот момент метод с контекстом cat становится функцией
Pavel
Можешь попробовать написать const func = cat.sayHi
Pavel
и вызвать func()
Pavel
по-идеи у тебя контекст поменяется на window
Александр