Объекты — это тип данных в Javascript. Подобно массивам, объекты принимают множество значений в паре ключ-значение.

let person = {
    name: 'John',
    age: 42, 
    key: 'value',
}

Это позволяет хранить несколько типов данных, которыми затем можно манипулировать с помощью различных средств.

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

Реализация

class Person {
    constructor(name, age, key){
        this.name = name;
        this.age = age;
    }
}
let john = new Person('John', 42);
console.log(john.name); //=> "John"
console.log(john.age); //=> 42

Important things to note:

  • Each class begins with a capital letter
  • The constructor is a special function that defines values for the object once it is created.
  • The this keyword: To quote MDN, "value of this depends on in which context it appears: function, class, or global." To quote FreeCodeCamp, "When used in a function, the this keyword simply points to an object to which it is bound." The this keyword is a complicated topic, and can be difficult to understand. An overly simplistic way to consider this is as a reference to where it is, and what it is. In on object it references the object, and in a function it references the function and where the function is called.
  • Объект создается с помощью new Person(). Передаваемые значения становятся значениями объекта.

Утилита

Использование класса над объектом полезно в тех случаях, когда нам нужно несколько экземпляров объекта. В случае Person у нас может быть произвольно большое количество значений, которые принимают и используют одни и те же значения. Это намного проще, чем копирование и вставка кода, повышает удобочитаемость, гибкость и снижает количество потенциальных синтаксических ошибок.

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