如何在此处注释c
为任意类型的可选数组?
const a = ({ b, ...c }: { b: string, c: ? }) => null
答案 0 :(得分:1)
由于这是财产的解构,因此它不是数组,而是object
:
const a = ({ b, ...c }: { b: string, c: object}) => null;
实时非TypeScript示例:
const a = ({ b, ...c }) => {
console.log("typeof c:", typeof c); // true
console.log("Array.isArray(c):", Array.isArray(c)); // false
console.log(JSON.stringify(c)); // '{"x":1,"y":2,"z":3}'
};
a({x: 1, y: 2, z: 3});
答案 1 :(得分:0)
如前所述,任何类型的可选数组:<Response [403]>
c?: Array<any>
示例:
const a = ({b, c}: { b: string, c?: Array<any> }): void => null
const a = ({b, c}: { b: string, c?: Array<any> }): void => {
console.log('b:', b)
if (c instanceof Array) {
for (let item of c) {
console.log('c item:', item)
}
}
}
a({b: '1', c: [1]})
a({b: '1'})
正在解压缩,{b, c}:
和b
都是变量。 c
是非法声明。