Назад к вопросам
Junior
77
questionbank

Что такое вычисляемые свойства?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Вычисляемые свойства (computed properties) — это свойства, которые зависят от других данных и пересчитываются только при их изменении. В отличие от методов, вычисляемые свойства кэшируются.

Основные преимущества:

  • Кэширование: Значение вычисляемого свойства кэшируется и пересчитывается только при изменении его зависимостей. Это повышает производительность, особенно при сложных вычислениях или частом использовании свойства.
  • Декларативность: Код становится более читабельным и понятным, так как логика вычисления отделена от шаблона.
  • Повторное использование: Одно и то же вычисляемое свойство можно использовать в разных частях шаблона.

Сравнение с методами:

Характеристика Вычисляемое свойство Метод
Вычисление Только при изменении зависимо При каждом обращении
Кэширование Есть Нет
Синтаксис Как свойство объекта Как функция
Производительность Выше при повторном обращении с теми же зависимостями Ниже при повторном обращении

Вычисляемые свойства используются, например, во фреймворках Vue.js и React (с использованием хука useMemo).

Пример на Vue.js:

<script>
export default {
  data() {
    return {
      firstName: 'John',
      lastName: 'Doe'
    };
  },
  computed: {
    fullName() {
      // Это вычисляемое свойство зависит от firstName и lastName
      return this.firstName + ' ' + this.lastName;
    }
  }
};
</script>

<template>
  <div>
    <p>{{ fullName }}</p> // Обращение к вычисляемому свойству
  </div>
</template>

Пример на React с useMemo:

import React, { useMemo } from 'react';

function Profile({ firstName, lastName }) {
  const fullName = useMemo(() => {
    // Это вычисляемое значение зависит от firstName и lastName
    return firstName + ' ' + lastName;
  }, [firstName, lastName]); // Массив зависимостей

  return (
    <div>
      <p>{fullName}</p>
    </div>
  );
}