Как изменяется объект при работе с его ссылкой в JavaScript
Будет выведен объект { value: 'cde' }. first и second содержат одну ссылку, поэтому изменение через second видно при чтении через first.
Читать ответПодготовка к интервью
Разбирайте реальные вопросы, сверяйтесь с подробными ответами и готовьтесь по технологиям и компаниям.
Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.
Каталог
Будет выведен объект { value: 'cde' }. first и second содержат одну ссылку, поэтому изменение через second видно при чтении через first.
Читать ответCallback setTimeout — обычная функция и не наследует this метода speak. Замените его стрелкой, чтобы через секунду прочитать number у исходного объекта.
Читать ответОба раза будет выведено 'ho'. Сначала переменные указывают на один объект, а последующее присваивание нового объекта firstObj не меняет ссылку secondObj.
Читать ответОбычная функция внутри filter не наследует this сервиса. Замените её стрелкой или передайте this вторым аргументом filter; используйте строгое сравнение статуса.
Читать ответc и d указывают на один массив. После d.push(d) оба вывода показывают массив длины 4, последний элемент которого ссылается на него самого.
Читать ответБудут выведены Шаг 2, Шаг 4, Шаг 3, Шаг 1. Executor Promise вызывается синхронно, а обработчик then — после завершения текущего стека.
Читать ответБудут выведены undefined и b. Оба объектных ключа преобразуются в одинаковую строку '[object Object]', поэтому второе присваивание заменяет первое.
Читать ответПорядок: 1, 6, 4, 2, 3, 3.1, 5. Микрозадачи выполняются после текущего синхронного кода и между отдельными задачами таймеров.
Читать ответSpread {...storage} создаёт обычный объект, а не Map. Поэтому у результата нет метода get; корректная поверхностная копия — new Map(storage).
Читать ответMap преобразует элементы, filter отбирает их, some/every проверяют условие, includes ищет значение. Unshift и splice изменяют массив, slice возвращает копию части.
Читать ответАсинхронность позволяет не ждать завершения операции последовательно; параллелизм означает одновременное выполнение работы на нескольких исполнителях.
Читать ответПоверхностная копия создаётся spread или Object.assign и сохраняет ссылки на вложенные объекты. Для поддерживаемых данных глубокую копию делает structuredClone.
Читать ответ