VSCode точно отображает правильный тип Typescipt во всплывающей подсказке? Ошибка no-лишнего типа утверждения - PullRequest
0 голосов
/ 26 октября 2019

Я пытаюсь лучше понять const assertions в TS

Рассмотрим массив allDeviceTypes на изображении ниже, когда я наведите курсор мыши на имя переменной, VSCode говорит мне, что тип возвращаемого значения string[]

Typesciprt

Однако, если я использую утверждение const для сужения типа, я вижу желаемый суженный тип, но меня встречает ошибка TSLint:

This assertion is unnecessary since it does not change the type of the expression. (no-unnecessary-type-assertion)tslint(1)

Так что же это? Является ли тип выражения одинаковым или VSCode 1.40.0 + TSlint 5.11.0 не отображает правильный тип во всплывающей подсказке?

enter image description here

1 Ответ

1 голос
/ 26 октября 2019

Код VS верный, он обращается к серверу языка машинописи, чтобы предоставить информацию о типе при наведении курсора, поэтому он показывает ту же информацию о типе, что и компилятор машинописи.

Я иногда находил TSчто-то вроде ошибки, и быстрый поиск обнаружит, что у других тоже были проблемы с этим правилом.

Еще кое-что, что стоит рассмотреть, это то, что TS lint близок к тому, чтобы быть устаревшим, см. этот пост от сопровождающих: https://link.medium.com/T2BsQB3500.

Возможно, вы захотите перейти на ES lint или просто отключить правило в этой строке.

...