Оговорка 5: const a = ‘a’ не равно const a = ‘a’ как const и const a:’a’=’a’

Обычно мы можем пропустить аннотацию типа, потому что знаем, что typescript выведет тип за нас.

но оказалось, что аннотация типа или без нее действительно имеет значение.

const a = 'a' // 'a'
//    ^?
const c = [a] // string[]
//    ^?

const a1 = 'a' as const // 'a'
//    ^?
const c1 = [a1] // 'a'[]
//    ^?

const a2:'a' = 'a' // 'a'
//    ^?
const c2 = [a2] // 'a'[]
//    ^?
Вход в полноэкранный режим Выйти из полноэкранного режима

обратите внимание, что c — это string[], а c2 и c3 — 'a'[]

игровая площадка

это работает как задумано, читайте объяснение здесь

Оцените статью
devanswers.ru
Добавить комментарий