0

为什么可以让在浏览器控制台中重复声明变量?

我记得我之前会报错。21 年 chrome 是否基于该 ECMA 规范?

让 a=1
未定义

让 a=12
未定义

navigator.userAgent
'Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chro
me/93.0.4577.82 Safari/537.36'

这是一个屏幕截图:

在此处输入图像描述

4

2 回答 2

3

控制台环境有许多奇怪的怪癖。它不像<script>页面上的标准标签。

其中一个怪癖就是这些。let它过去在 Chrome 中的方式是,不允许重新声明变量- 你会得到预期的错误,即重新声明是无效的语法。但是从 Chrome 80 左右(2020 年春季)开始,它被更改为 allowed

当然,您仍然不能let在标准中重新声明变量<script>

let foo = 5;
let foo = 10;

于 2021-09-23T01:51:09.147 回答
0

您不能重新声明以前let在严格模式下声明的变量。请参阅:使用“let”和“var”有什么区别?.

于 2021-09-23T01:50:49.660 回答