Что такое связывание?
Продвинутые темы
Связывание (binding) — это установка соответствия между значением/данными и чем-то ещё: this и функцией, данными и UI, именем и значением. Смысл зависит от контекста.
Основные значения термина
Привязка this (bind)
bind создаёт функцию с зафиксированным this:
const bound = fn.bind(obj); // this = obj навсегдаСвязывание данных (data binding) в UI
Синхронизация данных и представления:
- Одностороннее — данные → UI (React: state рендерится в разметку).
- Двустороннее — данные ↔ UI (Angular/Vue: изменение в поле обновляет данные и наоборот,
v-model).
<input v-model="text"> <!-- двусторонний биндинг -->Связывание имён (name binding)
Сопоставление переменной и значения в области видимости (lexical binding).
Раннее/позднее связывание
- Раннее — на этапе компиляции (статические языки).
- Позднее — в рантайме (JS:
this, полиморфизм).
Коротко для собеседования
Связывание — установка соответствия. В JS: привязка this (bind), связывание данных и UI (одностороннее — данные→UI, двустороннее — ↔, как v-model), связывание имён в области видимости. JS использует позднее связывание (this определяется в рантайме).