Существует ли флаг компилятора Typescript, чтобы следующий код не компилировался?
interface A {
key: number
}
var B = {} as A;
Для любых случаев, когда тип A расширяет B. Так, что для вышеупомянутой компиляции ему пришлось быиспользуйте двойное утверждение: var B = {} as any as A;
Некоторые другие примеры этого сценария, где A расширяет B, но разрешено утверждать, что B имеет тип A.
class A {
public key = 1;
}
var B = {} as A; // Would not want to compile
declare var A: number | null;
var B = A as number; // Would not want to compile