VSCode 没有显示内联打字稿错误

VSCode isn't showing inline typescript errors

我刚刚安装了 Deno 1.9.2 并在我的电脑上打开了一个空白文件夹。我正在学习有关 TypeScript 基础知识的教程。这就是我的问题所在。

const someFunc = (n: number) => {
  if (n % 2 === 0) {
    return "even"
  }
}

const value = someFunc(4)
value.substring(1)

有一次 VSCode 给老师一个关于价值的在线警告说 Object is possibly 'undefined'. 我环顾四周,被告知要改变我的 VSCode typescript.validate.enable 为真。我已经这样做了,而且我已经多次重新启动 VSCode。当我 运行 我的代码带有 deno run index.ts 时,我得到了我的错误。有什么想法吗?

此错误与 VSCode 或 Deno 无关。 在您提供的代码中,函数 someFunc 具有 return 类型的 string | undefined。我猜你的 tsconfig.jsonstrictFunctionTypes: true
您可以通过以下方式修复此错误:

正确处理所有情况-

const someFunc = (n: number) => {
  if (n % 2 === 0) {
    return 'even';
  }
  return ''
};

或在您的 tsconfig.json -

中禁用 strictFunctionTypes
{
  "compilerOptions": {
    "strictFunctionTypes": false,
    "plugins": [
      {
        "name": "typescript-deno-plugin",
        "enable": true, // default is `true`
        "importmap": "import_map.json"
      }
    ]
  }
}

虽然我不确定 Deno 是否可以在没有 strictFunctionTypes 的情况下工作。