Ограничить тип Set только числами

Укажите параметр типа: const numericSet = new Set<number>(). Тогда TypeScript разрешит add с числами и отклонит строковые аргументы.

Короткий ответ

Что ответить на собеседовании

Укажите параметр типа: const numericSet = new Set(). Тогда TypeScript разрешит add с числами и отклонит строковые аргументы.

Подробный разбор

Ответ с пояснениями

Условие

Типизировать Set так, чтобы он мог хранить исключительно числовые значения.

const numericSet = new Set()

Ответ

Укажите параметр типа: const numericSet = new Set(). Тогда TypeScript разрешит add с числами и отклонит строковые аргументы.

const numericSet = new Set<number>();
numericSet.add(1);
numericSet.add(2);
// numericSet.add('3'); // ошибка типов

Тип проверяется компилятором и не устанавливает runtime-защиту для входа из JavaScript или any. Для внешних данных отдельно проверяйте typeof и при необходимости Number.isFinite. Тип number допускает NaN и Infinity; если нужны только конечные или целые значения, одного Set недостаточно.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее