vscode编译ts文件时提示无法声明块范围变量“name”

clipboard.png

但是在我的定义上name和age变量其实性质差不多,为什么name变量会提示这个错误
编译时终端提示:
clipboard.png

阅读 10.2k
1 个回答

在 TS 自带的类型声明里面,已经声明了全局变量 declare const name:naver (源码), 也即 window.name。所以,如果你再在全局作用域中声明 name 的话,就属于重复声明了。
你可以试着把它放进函数或模块里,如:

function foo() {
    var {name, hoby: {one}, age} = getInfo(); 
}

就不会报错了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进