小编Fla*_*rna的帖子

typescript 2.2 接口扩展对象类型

我有使用对象作为参数的函数,如下所示:

interface Options {
    foo?: string;
    bar?: number;
};

function fooNction(opts: Options): void {
}
Run Code Online (Sandbox Code Playgroud)

这在某些情况下工作正常,但不是全部:

fooNction({foo: "s"});   // OK
fooNction({a: "x"});     // fine as TS gives an Error as expected
fooNction("hello");      // no Error...
Run Code Online (Sandbox Code Playgroud)

我试图像这样从 TS 2.2 对象类型扩展我的接口

interface Options extends object {
    foo?: string;
    bar?: number;
};
Run Code Online (Sandbox Code Playgroud)

禁止基本类型,但打字稿告诉“不能很好地命名‘对象’”。

有什么方法可以定义接口必须是对象但没有必填字段?

typescript typescript2.2

9
推荐指数
1
解决办法
6781
查看次数

标签 统计

typescript ×1

typescript2.2 ×1