Вам необходимо узнать больше об void
операторе .
Оператор void оценивает данное выражение, а затем возвращает undefined.
Итак, в вашем случае это означает:
- Возьмите выражение функции
function foo() { ... }
- Оцените его и ничего не верните
void function test() {
console.log('boo!');
// expected output: "boo!"
}();
try {
test();
} catch (e) {
console.log(e);
// expected output: ReferenceError: test is not defined
}
Если вы хотите, чтобы это работало, отбросьте void
:
function foo() {
const x = foo;
}
Хотя, я предполагаю, что вы хотели указать тип возврата для функции. Если это так, вы не можете указать тип возвращаемого значения в JavaScript - это язык программирования с динамической c типизацией.
Хотя с TypeScript вы можете написать:
function foo(): void {
const x = foo;
}