Menu
Coddy logo textTech

Вычисляемые свойства

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

computed property — это getter, который вычисляет и возвращает значение, вместо того чтобы просто возвращать сохранённые данные. Они выглядят как обычные property, но вычисляют своё значение на лету.

Давайте рассмотрим пример. У нас есть объект с обычным свойством:

const circle = {
  radius: 5
};

Теперь добавим вычисляемое свойство с помощью getter:

const circle = {
  radius: 5,
  get diameter() {
    return this.radius * 2;
  }
};

Так мы получаем доступ к вычисляемому свойству:

console.log(circle.diameter); // Выводит: 10

Если мы обновим radius, diameter также обновится автоматически:

circle.radius = 10;
console.log(circle.diameter); // Выводит: 20

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

challenge icon

Задание

Тебе дан Rectangle class со свойствами width и height. Твоя задача — добавить computed properties для area и perimeter.

  1. Computed property <strong>area</strong> — returns width × height
  2. Computed property <strong>perimeter</strong> — returns 2 × (width + height)

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

import { Rectangle } from './rectangle.js';

// Тестовый код — не изменять
const rect = new Rectangle(5, 10);
console.log(`Area: ${rect.area}`);        // Должен вывести "Area: 50"
console.log(`Perimeter: ${rect.perimeter}`); // Должен вывести "Perimeter: 30"
quiz iconПроверьте себя

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

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

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