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

O_o华丽丽
  • 130

clipboard.png

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

回复
阅读 7.5k
1 个回答

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

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

就不会报错了。

宣传栏