gpt4 book ai didi

typescript - 为什么 'null' 从 VS Code 中 Document.getElementById 的返回类型中删除?

转载 作者:行者123 更新时间:2023-12-03 15:49:56 24 4
gpt4 key购买 nike

VS代码版本:
VS Code Version
我正在 VS Code 中尝试一些“Type Narrowing”代码,但 VS Code 提供的信息类型与 TypeScript Playground 不同:
VS 代码给出:Document.getElementById的返回类型是 HTMLElement :
VS Code
VS Code
而 TypeScript Playground 提供:Document.getElementById的返回类型应该是 HTMLElement | null :
enter image description hereel在空检查预计类型为 HTMLElement | null 之前:
enter image description hereel空检查后预计类型为 HTMLElement作为类型缩小:
enter image description here
我已经将全局 typescript 包升级到 v4.0.2 并设置 typescript.tsdk/Users/<username>/.nvm/versions/node/v12.16.3/lib/node_modules/typescript/lib在用户 settings.json 中
我已将严格的类型检查选项设置为:

    /* Strict Type-Checking Options */
"strict": true,
// "noImplicitAny": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
// "strictBindCallApply": true,
// "strictPropertyInitialization": true,
// "noImplicitThis": true,
"alwaysStrict": true,
是否有我在 tsconfig.json 中遗漏的一些配置? ?

最佳答案

根据 VS Code Docs :

Typically the first step in any new TypeScript project is to add a tsconfig.json file. A tsconfig.json file defines the TypeScript project settings, such as the compiler options and the files that should be included. To do this, open up the folder where you want to store your source and add a new file named tsconfig.json. Once in this file, IntelliSense (Ctrl+Space) will help you along the way.


所以, tsconfig.json文件应位于项目的根目录中。
解决您的问题的另一个步骤是添加 "strict": true在您新创建的 tsconfig.json 上文件。

关于typescript - 为什么 'null' 从 VS Code 中 Document.getElementById 的返回类型中删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64512252/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com