Вопрос на JavaScript собеседовании.
Что выведет этот код?
var y = 1;
if (function f() {}) {
y += typeof f;
}
console.log(y);
Ответ: Этот код выведет «1undefined».
В условном операторе мы описываем пустую функцию — functionf() {}. С описанием всё в порядке, и функция определена корректно, поэтому мы получаем true, а значит — переходим к тому, что делает условный оператор. А вот там уже мы пытаемся получить тип объекта f, но проблема в том, что он определён в условии и не виден внутри фигурных скобок. Его область видимости — условие, которое мы уже проверили, и дальше эта функция нигде не видна, поэтому к единице добавляется сообщение, что переменная не определена.
#js #собеседование
Вопрос на React собеседовании.
Как получить доступ к переменной в состоянии Mobx?
Ответ:
Получить доступ к переменной в состоянии можно с помощью декоратора observable для определения переменной как наблюдаемой: пример на картинке сверху.
В примере с картинки выше переменная myVariable определяется как наблюдаемая с помощью декоратора observable. Затем к переменной можно получить доступ с помощью store.myVariable. Любые изменения, внесенные в myVariable, будут автоматически вызывать обновления в зависимых компонентах или реакциях.
Подробнее о доступе к переменным написано здесь.
#react #собеседование
Вопрос на React собеседовании.
Для чего используется useRef и как он работает?
Ответ:
Хук useRef возвращает ссылку (ref-объект), которая может быть привязана к текущему значению какого-либо элемента или состояния компонента. При создании этого объекта, начальное значение устанавливается равным переданному аргументу. Такой объект сохраняется между различными рендерами компонента и его значение не меняется: если мы изменим значение переданного аргумента, это не повлияет на ref-объект.
Обычно useRef используется для доступа к дочерним элементам в императивном стиле, то есть явно обращаясь к какому-то элементу DOM. Это позволяет выполнять различные действия над элементом – изменять стили, добавлять события и т.д. (картинка сверху).
Подробнее о useRef - здесь.
#react #собеседование
Вопрос на React собеседовании.
Что такое reducer в Redux и какие параметры он принимает?
Ответ:
Редуктор – это чистая функция, принимающая в качестве параметров состояние и действие.
Внутри редуктора мы отслеживаем тип полученного действия и, в зависимости от него, модифицируем состояние и возвращаем новый объект состояния (картинка сверху).
Подробнее о редукторах – здесь.
#react #собеседование