Що таке декларативний підхід?
Декларативний підхід - це стиль програмування, за якого ти описуєш, що має бути зроблено**, а не** як саме це зробити крок за кроком**.**
Просте визначення
Декларативний підхід = "Що я хочу отримати" Імперативний підхід = "Як я хочу це отримати"
Приклад на JavaScript
Імперативний стиль:
(ти керуєш процесом - як саме досягти мети)
const numbers = [1, 2, 3, 4, 5];
const doubled = [];
for (let i = 0; i < numbers.length; i++) {
doubled.push(numbers[i] * 2);
}
console.log(doubled);Декларативний стиль:
(ти просто описуєш, що хочеш отримати)
const numbers = [1, 2, 3, 4, 5];
const doubled = numbers.map(n => n * 2);
console.log(doubled);Тут ти не пояснюєш "як саме обійти масив", ти просто кажеш: "хочу масив, де кожен елемент помножений на 2".
Ще приклад - робота з DOM
Імперативно (чистий JS):
const el = document.createElement("h1");
el.textContent = "Hello, world!";
document.body.appendChild(el);Декларативно (React):
function App() {
return <h1>Hello, world!</h1>;
}Ти не описуєш процес створення і вставки елемента в DOM - React робить це за тебе.
Де використовується декларативний підхід
- React - UI описується декларативно через JSX
- SQL - "Вибери всі рядки, де вік > 18" (а не як пройти по таблиці)
- CSS - "Зроби текст червоним" (а не інструкції з відмальовування пікселів)
- HTML - "Ось заголовок, ось кнопка" (а не як їх відмалювати)
Переваги декларативного підходу
Код легше читати і розуміти - "що" важливіше, ніж "як" Менше помилок, пов'язаних із ручним керуванням станом Простіше масштабувати і підтримувати Легше тестувати, тому що кожен компонент можна розглядати як чисту функцію
Коротка відповідь
Для співбесідиКоротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.