Как определить тип постоянного массива по его содержимому?

#arrays #typescript

Вопрос:

Если я определю следующий массив:

 const array = ['a', 'b', 'c'];
 

Его тип будет таким string[] . Как вывести тип из его содержимого, чтобы избежать необходимости повторять содержимое массива в определении типа array ? Т. е. это:

 const array: ['a', 'b', 'c'] = ['a', 'b', 'c'];
 

Ответ №1:

Я нашел самое простое решение: const утверждение.

 const array = ['a', 'b', 'c'] as const;
 

Подробное объяснение находится здесь.

Комментарии:

1. Большую часть времени вам нужно выводить аргументы функций. Здесь catchts.com/infer-arguments вы можете найти, как это сделать без as const