Опишите одну вещь, которую вы изучаете сегодня на уроке.
Ранее мы научились вызывать свойство объекта, ссылаясь на ключ, используя запись через точку (object.property) или запись в квадратных скобках (object["property"]). Но что, если мы не знаем сразу, какое свойство нужно вернуть? Мы можем использовать запись в квадратных скобках и сохранить входную строку в переменной, затем мы можем назвать переменную как наше свойство, например object[myVariable]
. Обратите внимание, переменная не нуждается в кавычках, потому что она хранит строку, которую мы хотим использовать.
Разница между: function Person(){}
, var person = Person()
и var person = new Person()
?
function Person(){}
просто определяет новую функцию с именем Person. Это будет включать логику функции, но функция еще не будет вызываться или вызываться в программе.var person = Person()
вызывает функцию Person, а затем сохраняет возвращаемое значение в переменной с именем person.var person = new Person()
создает новый экземпляр объекта, используя функцию Person в качестве шаблона. Затем этот новый объект сохраняется в переменной с именем person.
В чем разница между «атрибутом» и «свойством»?
Атрибуты размещаются в HTML, тогда как свойства распознаются в DOM. Javascript не обязательно может обращаться к атрибутам напрямую, но может обращаться к свойствам через DOM.
Какие языковые конструкции вы используете для перебора свойств объекта и элементов массива?
Циклы — лучший кандидат для циклического перебора свойств объектов и элементов в массиве, поскольку они позволяют разработчику точно определить, как элементы должны повторяться, в каком порядке, а также что следует делать с теми элементами, которые повторяются. Использование цикла foreach()
гарантирует, что каждый элемент получит одно и то же действие, так как этот цикл будет автоматически перебирать каждый элемент без необходимости его определения.
Что такое цикл событий?
Цикл событий — это способ Javascript избежать бесконечных циклов путем создания стека событий, который размещает функции в том порядке, в котором они были вызваны, а затем выполняет их в этом порядке.
В чем разница между стеком вызовов и очередью задач?
- Стек вызовов — это структура, содержащая очередь функций, ожидающих обработки. Когда вызывается новая функция или событие, оно помещается в конец стека вызовов.
- Очередь задач обрабатывает все сообщения, полученные от веб-API. Как только стек вызовов пуст, возвращается очередь задач.
В чем разница между конструкторами классов ES6 и конструкторами функций ES5?
Классы ES6 отличаются от функций ES5 тем, что каждый экземпляр объекта наследуется от конструктора. Классы ES6 выполняют эту работу по добавлению функций к вновь созданному объекту. Конструкторы функций ES5 должны вызываться с использованием ключевого слова new
. Классы ES6 гарантируют, что ключевое слово this
относится только к новому создаваемому объекту.