【JS】let不允许重复声明

最近在看阮一峰的ECMAScript,看到下面这里想了好久也没想明白为什么???(由于之前学了太多语言的语法规则,就有了惯性思维…)

【JS】let不允许重复声明

对比下面这个函数就可发现,上面的会报错arg变量已经定义了,即let不允许在函数内部重新声明参数。

【JS】let不允许重复声明

原来,不能在函数内部重新声明参数,是要考虑作用域范围的,第二个函数里面有两层作用域,let声明变量那行新增了一个块级作用域,用内层一对花括号{}表示,因此它所在的作用域与func(arg)函数(外层{})没有在同一个作用域内,可以重新声明参数,所以第二个函数调用没有报错。

emmmm沙雕前端 es6语法太细了叭

以上是 【JS】let不允许重复声明 的全部内容, 来源链接: utcz.com/a/68545.html

回到顶部