我有使用对象作为参数的函数,如下所示:
interface Options {
foo?: string;
bar?: number;
};
function fooNction(opts: Options): void {
}
这在某些情况下可以正常工作,但不是全部:
fooNction({foo: "s"}); // OK
fooNction({a: "x"}); // fine as TS gives an Error as expected
fooNction("hello"); // no Error...
我试图像这样从 TS 2.2 对象类型扩展我的接口
interface Options extends object {
foo?: string;
bar?: number;
};
禁止基本类型,但打字稿告诉“不能很好地命名'对象'”。
有没有办法定义一个接口必须是一个对象但没有必填字段?