В преддверии старта курса «React.js Developer» приглашаем будущих студентов и всех желающих посмотреть открытый вебинар на тему «Пишем приложение на React+Redux».
А сейчас предлагаем пройти квиз на знание JavaScript.
Насколько хорошо вы знаете JavaScript? Стремитесь ли к профессиональному росту?
Я составил викторину из 10 вопросов по JavaScript. Посмотрим, сможете ли вы ответить на них, не используя консоль браузера. Надеюсь, вы узнаете что-то новенькое. Ответы даны в конце статьи.
1. Что этот код выведет на консоль?
var bar = null; console.log(typeof bar === "object");
a) false
b) true
c) null
d) будет выдана ошибка
2. Что этот код выведет на консоль?
(function(){ var a = b = 3; })(); console.log("a defined? " + (typeof a !== 'undefined')); console.log("b defined? " + (typeof b !== 'undefined'));
a) true, false
b) false, true
c) true, true
d) false, false
3. В React все является ____ .
a) модулем
b) компонентом
c) пакетом
d) классом
4. От чего отказались в последних версиях React?
a) componentWillMount
b) JavaScript
c) componentDidMount
d) от приглашений на Facebook
5. Что такое Babel?
a) транспайлер
b) компилятор
c) интерпретатор
d) компилятор и транспайлер
6. Что такое виртуальная DOM?
a) точная HTML-копия реальной DOM
b) встроенный компонент браузера
c) объект JavaScript, содержащий элементы и данные
d) строка JSON, содержащая элементы и данные, возвращаемые из метода react.render
7. Какое их следующих утверждений не относится к рендерингу виртуальной DOM?
a) Реализация виртуальной DOM всегда оказывается быстрее, чем манипуляции с DOM.
b) Если что-то меняется, выполняется повторный рендер всего пользовательского интерфейса в виртуальной DOM.
c) Перерисовка DOM — самая медленная часть рендера.
d) После повторного рендера в реальную DOM вносятся только необходимые изменения.
8. Верно или неверно утверждение ниже?
useLayoutEffect запускается после рендера React-компонента и гарантирует, что обратный вызов эффекта не заблокирует отрисовку.
9. Какое из перечисленных ниже слов не является зарезервированным словом в JavaScript?
a) default
b) throw
c) finally
d) undefined
10. Что вернут эти функции?
function foo1() { return { bar: 'hello' }; } function foo2() { return { bar: 'hello' }; }
a) undefined, { bar: “hello” }
b) { bar: “hello” }, undefined
c) undefined, undefined
d) { bar: “hello” }, { bar: “hello” }
Ответы
Вопрос 1
b) Многие часто забывают, что null является объектом. Поэтому при проверке типа аргумента с помощью оператора typeof нужно также проверять, что переменной не присвоено значение null.
Вопрос 2
b) Здесь переменная b объявляется в глобальной области, но переменная a — внутри функции. Поэтому b = 3; a = undefined. Чтобы этого избежать, используйте строгий режим (use strict).
Вопрос 3
b) В React все является компонентом — это основные конструктивные блоки веба.
Вопрос 4
a) Да, это уже анонсировали. Нам придется перестать использовать этот метод.
Вопрос 5
d) Это спорно, но на сайте Babel написано, что это компилятор. Вопрос в том, является ли транспайлер компилятором.
Вопрос 6
c) Виртуальная DOM — это просто объект JavaScript, содержащий все данные, которые нам нужно сравнивать с данными реальной DOM.
Вопрос 7
a) Ее вполне можно сделать медленнее. Старайтесь не использовать глубоко вложенные объекты, а при необходимости используйте функцию мемоизации.
Вопрос 8
Неверно. Это делает хук useEffect.
Вопрос 9
d) undefined не является зарезервированным словом, его можно переназначить.
Вопрос 10
b) После оператора return необходимо указывать возвращаемое значение в той же строке, иначе автоматически подразумевается точка с запятой.
Надеюсь, вам понравились вопросы. Если вы чего-то не знали — здорово! Это значит, что вы почерпнули что-то новое.
Готовы ко второй части викторины? Переходите!
Узнать подробнее о курсе «React.js Developer».
Посмотреть открытый урок «Пишем приложение на React+Redux».

ссылка на оригинал статьи https://habr.com/ru/company/otus/blog/533716/
Добавить комментарий