Опишите одну вещь, которую вы изучаете сегодня на уроке.

Мы узнаем о вложенных массивах внутри объектов или объектах в массивах и о том, как получить к ним доступ позже. Доступ к значениям массива осуществляется с помощью квадратных скобок и порядкового номера (начиная с нуля) между ними (например, myArray[1]). Доступ к значениям объекта также можно получить с помощью квадратных скобок, но вместо порядкового номера мы используем имя ключа в кавычках (например, myObject[‘key1’]). Мы также можем использовать точечную нотацию для значений объекта, которая представляет собой имя объекта, за которым следует точка, и имя ключа (например, myObject.key1). Для объекта с вложенным массивом, который содержит больше объектов, мы просто комбинируем этот синтаксис (например, object1.[0].nestedObject1.myKey).

Разница между: function Person(){}, var person = Person()и var person = new Person()?

Первый пример — это объявление функции с именем «Person». Это создает его в глобальной области видимости, фактически ничего не выполняя. Во втором примере создается переменная, содержащая ссылку на ранее объявленную функцию с именем «Person». Возвращаемое значение этой функции хранится внутри этой переменной. В третьем примере создается новый экземпляр объекта на основе функции Person. Таким образом, переменная (человек) теперь является объектом, а не просто строкой или числом.

В чем разница между "атрибутом" и "свойством"?

Атрибут ссылается на строковое значение внутри элемента, и для этих атрибутов можно вызывать свойства. Они сопоставляются вместе по имени атрибута и связаны друг с другом через DOM, поскольку каждый элемент в DOM является объектом.

Какие языковые конструкции вы используете для перебора свойств объекта и элементов массива?

Я использую циклы для перебора списка элементов, чаще всего цикл for, хотя есть и другие типы на выбор в зависимости от обстоятельств. Существуют также функции более высокого порядка, которые перебирают элементы массива/объекта, такие как forEach(), map() и filter(); функции более высокого порядка могут служить дополнительной цели, чем просто итерация.

Что такое цикл событий?

Цикл, связанный с Node.js, который может выполнять функции, ожидая передачи определенных условий.

В чем разница между стеком вызовов и очередью задач?

Стек вызовов относится к структуре данных, которая отслеживает вызовы функций в скрипте. Всякий раз, когда функция вызывается, она помещается в стек и удаляется, когда функция завершается или возвращает значение. Очередь задач обрабатывает обратные вызовы веб-API.

В чем разница между классом ES6 и конструкторами функций ES5?

ES6 предлагает варианты создания экземпляров объектов с помощью оператора класса. Внутри вы можете определить новый объект и добавить к нему функции.