Hacker News Digest

01 октября 2025 г. в 14:06 • vincentrolfs.dev • ⭐ 107 • 💬 53

OriginalHN

#typescript#javascript#performance#temporal-dead-zone#var#let#const#microsoft

The Temporal Dead Zone, or why the TypeScript codebase is full of var statements

В TypeScript-коде Microsoft активно используются устаревшие var вместо современных let и const, несмотря на их проблемы с областью видимости. Это связано с Temporal Dead Zone (TDZ) — зоной, где переменные объявлены, но не инициализированы. При использовании let и const обращение к переменным в TDZ вызывает ошибки, что повышает надёжность, но требует вычислительных ресурсов.

Переход на var в критичных к производительности участках дал TypeScript до 8% ускорения в бенчмарках, поскольку var избегает проверок TDZ. Это демонстрирует компромисс между безопасностью кода и производительностью, особенно в крупных проектах, где даже небольшие оптимизации значимы.