Почему инструмент проверки объектов VSCode добавляет загадочное поле внутри объекта? - PullRequest
0 голосов
/ 21 сентября 2018

Добавляет [x: string]: any; к любому объекту.Зачем?У объектов нет свойства x ...

VSCode popup helper

Во втором примере демонстрируется проблема - когда я наведите курсор мыши на polygon имя привязки вpolygon.y += 5 выражение, IntelliSense показывает мне всплывающее окно, в котором [x: string]: any; находится внутри фигурных скобок, поэтому очень легко предположить, что объект polygon имеет свойство x, не так ли?Разве вы не согласны с тем, что IntelliSense вместо этого должен отображать [x: string]: any вещь над определением объекта?

2nd example

1 Ответ

0 голосов
/ 21 сентября 2018

[x: string]: any; - подпись типа.Он говорит, что объект может иметь любое количество свойств, поэтому он не помечает его как ошибку, если вы сделаете, например,

levelChars.sth = "sth";

, что иногда именно то, что вы хотите, но в основном это ошибка.Typescript пометит это как ошибку и даст вашему объекту строгую подпись (без [x: string]: any;).

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