【问题标题】:Why does my variable show it's deprecated?为什么我的变量显示它已被弃用?
【发布时间】:2021-11-25 13:06:57
【问题描述】:

我的编辑器(VS Code)显示我的变量名已被弃用。变量名称从第 2 行中删除。你能帮我吗?

let name = \'Mark\';
name = 5;
console.log(name);
  • 这是因为你用5 覆盖了你的\'Mark\' 值,所以首先没有理由将它设置为\'Mark\'
  • 对于 Dai,即使我删除了 (name = 5) 行,它仍然显示已弃用。
  • @Ivar 该副本不适用于let name,仅适用于var name
  • vscode 不会显示弃用的解释吗?

标签: javascript


【解决方案1】:

在浏览器中,the global name variable has special meaning。多年来,当人们试图创建自己的名为name 的全局变量,然后发现它被强制转换为字符串时,这引起了很多人的困惑。

如果您使用的检查器遵循let name 的声明,则它似乎无法对name 的赋值进行特殊处理。

如果将代码放入函数中,您会看到该消息消失了。

【讨论】:

  • 那是IIFE吗?如果是这样,开头的感叹号是做什么的。它喜欢否定它还是什么?
  • 是一个 IIFE,并且 !符号仅用于小优化。根本没关系。
【解决方案2】:

在 VS Code 中,找到显示已弃用的变量名称姓名.放置光标并右键单击它,然后选择“转到定义”。它将打开另一个名为lib.dom.d.ts.

只需删除该行“声明常量名称:无效;”
这将从弃用列表中删除您的变量名称。

【讨论】:

  • 您实际上是在修改全局 typescript 命名空间。每当您升级 typescript 或做任何其他事情时,这可能会变回来。还有一些打字稿代码可能取决于此。绝对不推荐。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-09
  • 2012-02-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多