* и про подобные нюансы терминологии во фронтенде *
Собрал список любимых противоречивых терминов из мира фронтенда.
1) React — библиотека, а не фреймворк!
Фреймворком может называться, например, Angular, т. к. он жёстко контролирует структуру приложения, а React напротив — позволяет написание кода без особых строгих правил.
Я же считаю, что React можно назвать фреймворком, так как голый React сам по себе не использует примерно никто. Всегда идёт комбинация из стека Vite, TS, Router, Redux, Query, Next, FSD и много-много других штукенций. Вся это экосистема хоть и состоит из разрозненных кубиков, но собранные воедино они смотрятся вполне как самый настоящий фреймворк.
2) Параметры и аргументы функций — не одно и то же!
function fn(ehehe) {}
ehehe
здесь — параметрfn(ehehe)
А тут
ehehe
— аргументУ меня появился бзик на этот счёт при составлении сценариев к своим урокам, но кажется, что всем плевать на это разграничение, ибо из контекста зачастую и так понятно, о чём идёт речь.
3) Элемент, тег, узел (нода) — не одно и то же! А до кучи ещё и давайте упомянем понятия БЭМ-блок и БЭМ-элемент...
<div>
в HTML-коде— тег и элемент
div
между <>
в HTML-коде— имя тега
const divElement: HTMLDivElement = document.querySelector('div')
— в JS (TS) коде можно назвать и элементом и узлом
И про БЭМ:
<button class="button">
<span class="button__label">Click</span>
</button>
Здесь:
HTML-элемент с классом
button
— БЭМ-блокHTML-элемент с классом
button__label
— БЭМ-элементЯ полностью исключил из своего фронтендерско-объяснятельского лексикона слово "узел" (нода) и стараюсь по минимуму использовать слово "тег". Считаю, что словом "элемент" во фронтенде можно указать на любой кирпичик и в HTML-разметке и в DOM-дереве в контексте JS-кода. А вот когда в объяснении мне нужно пояснить что-то по методологии БЭМ, приходится чётко разделять понятия HTML-элемент и БЭМ-элемент (надеюсь, что хоть кому-то это разграничение в моих объяснениях помогло лучше усвоить материал).
@media (width < 1024px) {}
— медиазапрос, медиавыражение, директива media и at-rule правило в одном флаконе
const obj = { wow: 'bla' }
—
wow
здесь можно назвать и свойством и полем и ключом, а ещё пропом (от слова property)#рефлексия_о_фронтенде #совет_новичкам