错误:'让'声明只能在块内部声明
Error: 'let' declarations can only be declared inside a block
在我的项目中,我有以下几行:
if (text.length > 0) {
let data = "Some value";
}
因为if
中只有一条语句,所以我想去掉括号({ }
)。我的代码看起来是这样的:
if (text.length > 0)
let data = "Some value";
然而,我得到了以下错误:
"let"声明只能在块内部声明。
if
中的每一个其他语句都可以在没有括号的情况下正常工作。为什么会出现此错误?
var a = 5;
let(a = 6) console.log(a); // 6
console.log(a); // 5
注意:let表达式和let块是非标准的let扩展,它们的支持已被删除。
因为"let"声明只能在块内部声明。
事实上,这样的代码是无用的,因为let
和const
是块范围的。
if (foo) {
let bar = true;
}
bar // bar doesn't exist here;
所以,即使你是合法的,它也不会起作用——所以这是被禁止的。
相关文章:
- 一个'var'在函数内部声明
- 错误:'让'声明只能在块内部声明
- 为什么JS类内部声明的变量是“未定义的”
- Typescript定义:如何在类内部声明类
- 在OPP JS中,您可以从构造函数访问原型函数内部声明的方法
- 最好在循环内部还是外部声明临时变量
- 这个 getter-setter 闭包是否有充分的理由以这种方式在其内部对象中声明它是私有的
- 内部对象如何在声明时引用其父对象的对象
- 从函数内部声明一个全局变量
- 为什么要在 $(函数 () { .. }) 内部声明
- 需要在构造函数内部声明一个方法而不是将其声明为原型方法的情况示例
- 声明后访问对象内部的javascript属性
- 为什么不能将函数内部的值分配给外部声明的变量(globaly)
- jQuery-函数内部变量的声明将停止解析
- 如何从函数内部声明全局变量
- 为什么定义在函数内部的x在我没有声明它为变量的情况下变成了一个全局变量?
- 是否可以通过使用函数内部声明的变量来获取函数名?
- Javascript:虽然变量是在全局作用域中声明的,但它在函数内部仍然是未定义的
- 不能在循环内部修改在循环外部声明的数组
- 在for in循环中声明内部或外部的变量