Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
const stock: { [item: string]: number } = { apple: 5 };
console.log(stock["pear"] + 1);NaN
- Ждать, что tsc заметит несуществующий ключ: индексная сигнатура разрешает любой строковый ключ и типизирует любое чтение как
number, даже если ключа нет. - Ждать, что несуществующий ключ прочитается как
0: JavaScript даётundefined, аundefined + 1— этоNaN.
- Какая настройка компилятора даёт
stock["pear"]типnumber | undefined? - Как изменится тип чтения по ключу, если хранить остатки в
Map?