gpt4 book ai didi

javascript - 它是 firefox 开发者版中的错误吗?

转载 作者:可可西里 更新时间:2023-11-01 01:26:19 25 4
gpt4 key购买 nike

看看下面的代码:

var c = 50;

{
console.log(y);
let y = 50;
}

这段代码应该会抛出一个 ReferenceError 而它确实会抛出。但是在控制台中,附带异常的消息让我大吃一惊。它说:

ReferenceError: can't access lexical declaration 'c' before initialization

在代码中,c 是声明的第一个变量。错误消息表明 c 的声明有问题。显然是 block 内的 y 变量导致了异常。我们不能在声明之前使用使用 let 声明的变量。当我在第一行声明另一个变量时,比如 test,错误消息变为:

ReferenceError: can't access lexical declaration 'test' before initialization

我是否遗漏了什么或者我对错误的看法是否正确?我有最新的 Firefox Developer Edition(版本 49.0a2)。

另一件值得注意的事情是 block 只是一个封闭 block ,它不是函数体。

最佳答案

本帖是按照 this meta post 制作的,而不是关闭的(见 this )。


正如 @Martin Smith@Sam Onela 所说( 12 ),这个问题在版本 53/54 中得到了解决。 Relevant bugzilla report ,由 Devashish 制作(原始海报)。

关于javascript - 它是 firefox 开发者版中的错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38258719/

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