相关疑难解决方法(0)

是否在ES6中使用let或const声明变量?

我已经玩ES6一段时间了,我注意到虽然声明的变量var按预期提升了......

console.log(typeof name); // undefined
var name = "John";
Run Code Online (Sandbox Code Playgroud)

... 用吊装声明letconst似乎有一些问题的变量:

console.log(typeof name); // ReferenceError
let name = "John";
Run Code Online (Sandbox Code Playgroud)

console.log(typeof name); // ReferenceError
const name = "John";
Run Code Online (Sandbox Code Playgroud)

这是否意味着变量声明let或未声明const?这是怎么回事?这个问题letconst这个问题有什么区别吗?

javascript const let hoisting ecmascript-6

240
推荐指数
5
解决办法
5万
查看次数

复制对象时Javascript未捕获的ReferenceError

我正在学习Javascript并在Chrome浏览器控制台上运行一些小实验.我遇到了如下问题.

let obj = {a:1, b:2}
let obj2 = {...obj, [b]:8}
Run Code Online (Sandbox Code Playgroud)

未捕获的ReferenceError:b未定义

由于我还没有定义,所以预计这个未被捕获的引用错误b.

然后我试过obj2 = 3,我收到了一个错误

未捕获的ReferenceError:未定义obj2

当我尝试时let obj2 = 3,我收到了一个错误

未捕获的SyntaxError:已声明标识符'obj2'

我真的很困惑.是否obj2已声明,为什么会出现此类错误?

javascript

6
推荐指数
0
解决办法
71
查看次数

标签 统计

javascript ×2

const ×1

ecmascript-6 ×1

hoisting ×1

let ×1