是否可以限制param
不接受字符串,数组等?
interface foo {
a?: number;
b?: string;
}
function baz(param: foo) {
}
baz("hello");
答案 0 :(得分:5)
您可以执行以下操作,使baz
至少接受一个对象:
interface foo {
a?: number;
b?: string;
}
interface notAnArray {
forEach?: void
}
type fooType = foo & object & notAnArray;
function baz(param: fooType) {
}
baz("hello"); // Throws error
baz([]); // Throws error
fooType
这里是Intersection Type。