TypeScript版本: master
代码
b.d.ts:
declare class C { static m(): void }
declare namespace C {}
export = C;
import * as C from "./b";
C.m();
预期行为:
src/a.ts(1,1): error TS7038: A namespace-style import will import a module namespace object, not a class.
src/a.ts(2,3): error TS2339: Property 'm' does not exist on type 'typeof C'.
实际行为:
src/a.ts(2,3): error TS2339: Property 'm' does not exist on type 'typeof C'.
3条答案
按热度按时间jfewjypa1#
如果我们在构造JSX节点时也这样做就好了。对于
import * as C ... <C> </C>
,我们应该在导入语句处添加一个错误。2lpgd9682#
另外,如果为这种情况添加另一个诊断代码,那么快速修复可以更新为建议该修复。这是一个简单的检查是否有属性不存在错误的更改,然后检查是否有
default
和default
具有该成员。如果是,则发出替代诊断,否则发出正常诊断。(技术上可以将此泛化为建议非默认命名成员内的成员,如果其他名称对齐,但我认为这并不十分有用)omhiaaxx3#
在
instanceof
中使用时也是如此。