Может Typescript или TSlint предупреждать о неявных типах - PullRequest
0 голосов
/ 12 марта 2019

Если объекты в машинописи имеют одинаковые поля или все поля класса B также находятся в классе A, тогда класс B также является экземпляром класса A в соответствии с средством проверки типов машинописи,См. Следующий пример:

class A {
    foo: string;
    bar: string;
}

class B {
    foo: string;
}

function convertAtoB(input: A): B {
    return input;
}

В этом примере convertAtoB() должен преобразовывать ввод типа A в экземпляр типа B. Однако текущая реализация не выдает никаких ошибок или предупреждений,потому что класс A обладает тем же свойством foo, что и B.Возвращаемое значение теперь содержит оба поля foo и bar, что нежелательно.

Существуют ли какие-либо флаги компилятора, дополнения TSlint или другие приемы, которые могут предупреждать об этом сценарии или выдавать ошибку (время компиляции).

...