Menu
Coddy logo textTech

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

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

class в JavaScript позволяют определить properties и method, которые будут общими для всех экземпляров class.

Create класс со свойствами:

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

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

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. constructor, который принимает параметры title, author и pages и устанавливает их в качестве properties.
  2. method под названием getInfo, который возвращает string в формате: “Title: [title], Author: [author], Pages: [pages]”
  3. Экспортируй class, добавив `export` перед объявлением `class`

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

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

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

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

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

Потренируйтесь самостоятельно: Онлайн-компилятор JavaScript