typescript - Feil TS2339: Egenskapen 'name' finnes ikke på typen 'Function'
Jeg har følgende funksjon:
export function output(functions: Function[], inputs: unknown[]) {
for (let func of functions) {
console.log(`=== ${func.name} ===`);
for (let input of inputs) {
console.log(`"${input}"\t-> ${func(input)}`);
}
console.log();
}
}
Det fungerer fint. Men tsc-kompilatoren klager på denne linjen:
console.log(`=== ${func.name} ===`);
Sier :
Feil TS2339: Egenskapen 'name' finnes ikke på typen 'Function'.
Hva forårsaker problemet?
Svar #1
Jeg klarte å gjenskape dette problemet. Det ser ut til at lib.d.ts-filen som definerer grensesnittet for Function, ikke har "name" som en egenskap.
Se Typescript-problem 6623, som har en omgåelse.
Egenskapen name på grensesnittet Function er definert i
lib.es6.d.ts. Hvis du kompilerer med--target ES6bør du se det.