函数名称在函数本身内部“不可用”

时间:2020-05-26 16:43:50

标签: javascript node.js visual-studio-code vscode-debugger

即使我可以在分配中使用该功能,为什么在VS Code调试控制台中该功能的名称“不可用”?

enter image description here

1 个答案:

答案 0 :(得分:1)

您需要阅读有关void operator的更多信息。

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中指定返回类型-这是一种具有动态类型的编程语言。

但是,使用TypeScript,您可以编写:

function foo(): void {
  const x = foo;
}