Почему «let readIndex: 0» не вызывает ошибку компиляции TypeScript? - PullRequest
0 голосов
/ 06 апреля 2019

Я случайно добавил следующий код в свою программу TypeScript, что означает тип let readIndex=0:

let readIndex:0;

Исходя из этого, компилятор TypeScript создает следующий код JS:

let readIndex;

Почему компиляция не провалилась?Я бы не ожидал, что это будет даже правильный синтаксис, поскольку 0 не является допустимым именем типа, но, очевидно, я ошибаюсь.

Что же тогда означает этот синтаксис?

1 Ответ

3 голосов
/ 06 апреля 2019

0 не является допустимым именем типа

0 является числовым литеральным типом , поэтому это допустимый синтаксис.Это несколько сбивает с толку и не очень полезно в качестве числового литерального типа 'singleton', потому что обычно эти типы появляются как элементы в объединенном типе, таком как 0 | 1, но синтаксис такой, какой он есть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...