На занятиях мы узнали, что .bind() можно использовать для приведения переменной к определенной функции, в то время как «this» относится к тому, когда функция вызывается и получает значение.

Хотя все они выглядят одинаково, они выполняют разные задачи.

function Person(){} // Defines a function called 'Person'

var person = Person() // calls the 'Person' function and assigns return value to 'person' variable

var person = new Person() // creates 'Person' object and assigns to 'person' variable. Must include this when referring to object

Атрибуты и свойства звучат так, как будто они взаимозаменяемы, но это разные вещи. Обычно атрибуты относятся к элементам HTML. Например, «src» — это атрибут элемента «img». Принимая во внимание, что свойства используются в объектах JavaScript для доступа к значениям с использованием записи через точку (person.property) или квадратных скобок (person["property"]).

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

Цикл событий используется для таких задач, как обратные вызовы и обработчики событий.

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

Есть 3 основных различия между классами ES6 и конструкторами функций ES5.

Синтаксис: ES6 использует «класс» и «конструктор» для определения класса и его свойств, чтобы сделать код чище вместо использования «нового».

Наследование: ES6 может расширять классы с помощью «extends», в то время как ES5, по-видимому, требует крови, пота и слез.

Методы: в ES6 использование this будет автоматически ссылаться на вызываемый класс, в то время как ES5 требует больше работы.