Я пытаюсь использовать тип объединения Set и Array в качестве параметра функции:
export function demo(
items: Set<string> | string[]
): Set<string> {
const allItems = new Set<string>();
items.forEach((item: string) => {
allItems.add(item);
});
return allItems;
}
Однако код не компилируется. Выдает следующее сообщение об ошибке:
Cannot invoke an expression whose type lacks a call signature.
Type '((callbackfn: (value: string, value2: string, set: Set<string>) => void, thisArg?: any) => void) | ((callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void)' has no compatible call signatures.
Я понимаю, что Set и Array имеют разные методы, но оба имеют метод forEach (), который я использую только один.