Назад
Найбільший каламбур: тегований шаблонний літерал у JavaScript
SiTech AI Team2 წთ. საკითხავი

Найбільший каламбур: тегований шаблонний літерал у JavaScript

Програміст Нішант Шукла у новому есеї доводить, що конструкція ${{ }} у тегованих шаблонних літералах JavaScript — найбільший каламбур, який він будь-коли знаходив. Мовляв, цей каламбур живе не в англійській мові, а в коді.

Програміст і автор Нішант Шукла опублікував 26 вересня 2026 року есе, у якому доводить: конструкція ${{ }}, прихована в тегованих шаблонних літералах JavaScript, — найбільший каламбур, який він будь-коли знаходив. Цей каламбур, за його словами, не в англійській мові, а в коді.

Один рядок, два прочитання

Шукла починає з Шекспіра. У «Дванадцятій ночі» рядок "Better a witty fool than a foolish wit" перетворює іменник fool на прикметник foolish, а прикметник witty — на іменник wit. Такі каламбури спираються на граматику, інші — на контекст: в «Отелло» рядок "Put out the light, and then put out the light" спершу означає загасити свічку, а потім стає метафорою вбивства Дездемони.

Оксфордський словник визначає каламбур через жартівливий ефект. Шукла зауважує, що гумор суб'єктивний, але нагадує: природні мови та мови програмування мають одну спільну властивість — граматику. Саме на ній тримається його улюблений каламбур.

Теговані шаблонні літерали

У JavaScript є теговані шаблонні літерали: функція-тег обробляє шаблон. У прикладі Шукли тег dedent прибирає зайві відступи із системного промпту. Функція-тег отримує текстові частини літерала та обчислені значення ${...} як окремі аргументи, тож може робити з кожним що завгодно.

Звідки береться ${{ }}

Більшість шаблонних мов дозволяють писати шаблон тим самим засобом, що й кінцевий продукт: текст із дірками для змінних. Синтаксис {{ }} використовують Mustache, Handlebars, Jinja2, шаблони Django, Liquid, шаблони Angular і Vue.

Шукла описує функцію-тег prompt, виклики якої виглядають так, ніби вона приймає шаблони {{ }}: ${{ url }}, ${{ notes }}, ${{ time }}. Уся річ у збігу: ${...} обчислює те, що всередині дужок, а { url } — це скорочений запис об'єкта, еквівалентний { url: url }. Тож один рядок має два прочитання: ви бачите {{ url }}, а рушій — об'єкт. «JavaScript бачить одне, а ви — інше. Синтаксис {{ url }} живе у вашій голові», — пише автор.

Від внутрішньої ідеї до SDK

Тег prompt створює рядок, який інструмент спостережуваності Helicone обробляє для аналізу промптів. Шукла каже, що користувався цією ідеєю всередині компанії ще 2024 року, а згодом Джастін із Helicone зробив її офіційною в SDK. Автор визнає, що, можливо, переграв із каламбуром, але пишається ним.

Він пов'язує жарт із двома власними есе: у «Grammar models are back, baby!» трактує каламбур як один рядок із двома розборами й повертає розподіл імовірностей між ними, а в «Spatial languages» дає парсеру другий вимір.

SSiTech

SiTech — веброзробка з підтримкою AI

Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.