Объекты в JS

В этой статье вы познакомитесь с объектами в JavaScript на конкретных примерах.

В статье про типы данных в JavaScript мы уже рассказывали про 7 различных типов данных. Их еще называют «примитивными»: поскольку в них может содержаться только одно значение (например, строка, число или что-нибудь другое).

В этой статье мы поговорим про восьмой тип данных — объекты.

Объект — это непримитивный тип данных для хранения коллекций различных значений. Это одна из основ языка, объекты очень часто используют в JavaScript. 

Вот пример объекта в JavaScript:

// объект
let student = {
    firstName: 'Дима',
    class: 10
};

Как видите, объект может хранить несколько значений. Например, в нашем объекте student хранится информация об имени школьника и классе, в которому он учится.

Примечание. Объекты в JavaScript немного отличаются от их реализации в других языках программирования. В JS не нужно создавать классы для создания объектов.

Объявление объекта

Синтаксис

Синтаксис объявления объекта в JS следующий:

let имя_объекта = {
   ключ1: значение1,
   значение2: значение2
}

Ключ:значение — свойства

При использовании синтаксиса {...} можно поместить в объект несколько свойств — так называются пары в виде ключ: значение. При этом свойства нужно разделять запятыми.

Например:

let person = { 
    name: 'Андрей',
    age: 20
};
console.log(typeof person); // Вывод: object

В этом примере:

  •  name и age — ключи,
  • 'Андрей' и 20 — значения,
  • name: 'Андрей' и age: 20 — свойства.

Можно в одну строку

Объявить объект можно и в одно строку:

let person = { name: 'Андрей', age: 20 };

Можно с помощью const

Объект, объявленный как константа, может быть изменен.
Строго говоря, мы можем поменять только поля, переопределить сам объект не получится.  
Например:
const person = { 
    name: 'Андрей',
    age: 20
};

// так сделать получится
person.name = 'Петя';

// а так уже нет
person = { 
    name: 'Петя',
    age: 20
};

Если вы не понимаете, что означает строка person.name, — об этом ниже.

Доступ к свойствам объектов

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

1. Через точку

Синтаксис

имяОбъекта.ключ

Пример

const person = { 
    name: 'Андрей', 
    age: 20, 
};

// доступ к свойству
console.log(person.name); // Вывод: Андрей

2. Через квадратные скобки

Синтаксис

имяОбъекта["ключ"]

Пример

const person = { 
    name: 'Андрей', 
    age: 20, 
};

// доступ к свойству
console.log(person["name"]); // Вывод: Андрей

Вложенные объекты

Внутри объекта можно хранить другой объект. Это называется вложенными объектами. 

Например:

const student = { 
    name: 'Андрей', 
    age: 20,
    marks: {
        science: 70,
        math: 75
    }
}

// доступ к свойству marks объекта student
console.log(student.marks); // Вывод: {science: 70, math: 75}

// доступ к свойству science объекта marks, 
// который является свойством объекта student 
console.log(student.marks.science); // Вывод: 70

Методы объектов

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

Например:

const person = {
    name: 'Сергей',
    age: 30,
    // using function as a value
    greet: function() { console.log('привет') }
}

person.greet(); // Вывод: привет

В этом примере функция используется в качестве значения для ключа greet. Поэтому для вызова функции внутри объекта нужно использовать person.greet(), а не person.greet.

 

codechick

СodeСhick.io - простой и эффективный способ изучения программирования.

2024 ©