Символы, итераторы и генераторы
Символы в TypeScript, типизация итераторов и генераторов
Символы, итераторы и генераторы
Символы (Symbol) – один из примитивных типов JavaScript, добавленный в ES2015. TypeScript расширяет их поддержку типом unique symbol, обеспечивая строгую типизацию уникальных идентификаторов. Вместе с протоколом итерации и генераторами символы формируют мощную систему абстракций для работы с последовательностями данных.
Что вы изучите
- Символы в TypeScript –
unique symbol, well-known символы (Symbol.iterator,Symbol.hasInstance,Symbol.toPrimitive), использование символов как ключей объектов. - Итераторы и
for...of– интерфейсыIterableиIterator, протоколSymbol.iterator, отличияfor...ofотfor...in, создание пользовательских итерируемых объектов. - Генераторы и типизация
yield– функции-генераторы, типGenerator<T, TReturn, TNext>, делегирование черезyield*, асинхронные генераторы.
Предварительные знания
- Генераторы в JavaScript – базовый синтаксис
function*иyield - Дженерики в TypeScript – параметризованные типы
Подглавы
Почему это важно
Протокол итерации пронизывает весь современный JavaScript: деструктуризация массивов, spread-оператор, for...of, Array.from, Promise.all – все они опираются на Symbol.iterator. Понимание этих механизмов позволяет создавать элегантные абстракции для работы с потоками данных, ленивыми коллекциями и асинхронными последовательностями. TypeScript добавляет к этому строгую типизацию, делая код безопаснее и выразительнее.