【发布时间】:2017-03-28 20:41:41
【问题描述】:
我在一个类 (MyClass) 上有一个带有可选参数的函数 (func)。可选参数的类型(MyInterface)只有可选属性。
当我使用数字之类的原语调用 foo 时,我预计会出现编译器错误。但事实并非如此。为什么会这样?有没有办法告诉类型系统将其标记为错误?
interface MyInterface {
foo?: string
}
class MyClass {
func(b?: MyInterface) : void {}
}
let c = new MyClass();
c.func();
c.func({ foo: 'bar' });
c.func({ foo: 30 }); // compiler error: OK
c.func({});
c.func(60); // No compiler error: Not what I expect
【问题讨论】:
标签: typescript