Menu
Coddy logo textTech

Свойства и методы

Часть раздела Объектно-ориентированное программирование путешествия по JavaScript на Coddy — урок 13 из 56.

Классы в JavaScript позволяют нам определять свойства и методы, которые будут общими для всех экземпляров класса.

Создайте класс со свойствами:

class Car {
  constructor(make, model) {
    this.make = make;
    this.model = model;
  }
}

При создании экземпляра конструктор устанавливает следующие свойства:

const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.make);  // Вывод: 'Toyota'
console.log(myCar.model); // Вывод: 'Corolla'

Добавьте метод в класс:

class Car {
  constructor(make, model) {
    this.make = make;
    this.model = model;
  }
  
  getDescription() {
    return `This car is a ${this.make} ${this.model}.`;
  }
}

Теперь мы можем вызвать этот метод у любого экземпляра:

const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.getDescription()); // Вывод: 'This car is a Toyota Corolla.'
challenge icon

Задание

Создайте класс с именем Book в файле book.js со следующим содержимым:

  1. Конструктор, который принимает параметры title, author и pages и устанавливает их в качестве свойств.
  2. Метод с именем getInfo, который возвращает строку в формате: “Title: [title], Author: [author], Pages: [pages]”
  3. Экспортируйте класс, добавив `export` перед объявлением `class`

Шпаргалка

Классы в JavaScript определяют свойства и методы, общие для всех экземпляров.

Создайте класс с конструктором:

class Car {
  constructor(make, model) {
    this.make = make;
    this.model = model;
  }
}

Создайте экземпляр, используя new:

const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.make);  // Вывод: 'Toyota'

Добавьте методы в класс:

class Car {
  constructor(make, model) {
    this.make = make;
    this.model = model;
  }
  
  getDescription() {
    return `This car is a ${this.make} ${this.model}.`;
  }
}

Вызывайте методы у экземпляров:

const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.getDescription()); // Вывод: 'This car is a Toyota Corolla.'

Экспортируйте класс:

export class Car {
  // определение класса
}

Попробуйте сами

import { Book } from './book.js';

// Тест (не изменяйте эту часть)
const book = new Book("JavaScript Basics", "John Doe", 200);
console.log(book.getInfo());
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Объектно-ориентированное программирование