';让块';仅在Mozilla JavaScript扩展中可用(使用moz选项)
我正在尝试下面的简单代码,但它抛出了以下错误 “let block”仅在Mozilla JavaScript扩展中可用(使用moz选项) 这一错误的原因是什么?是非标准化的,并且是壁虎特有的(它也被认为是) JSHint需要使用启用Gecko-only特性 这样做的标准方法是';让块';仅在Mozilla JavaScript扩展中可用(使用moz选项),javascript,ecmascript-6,mozilla,Javascript,Ecmascript 6,Mozilla,我正在尝试下面的简单代码,但它抛出了以下错误 “let block”仅在Mozilla JavaScript扩展中可用(使用moz选项) 这一错误的原因是什么?是非标准化的,并且是壁虎特有的(它也被认为是) JSHint需要使用启用Gecko-only特性 这样做的标准方法是 { let a=20,b,c; console.log(a,b,c); } 是非标准化的,并且是壁虎特有的(也有) JSHint需要使用启用Gecko-only特性 这样做的标准方法是 { let a=20,
{
let a=20,b,c;
console.log(a,b,c);
}
是非标准化的,并且是壁虎特有的(也有)
JSHint需要使用启用Gecko-only特性
这样做的标准方法是
{
let a=20,b,c;
console.log(a,b,c);
}
该语法不是ECMAScript-6。
let
的标准用法如下所示:
{
let a=20, b, c;
console.log(a,b,c);
}
因此,不管这种语法是什么,它显然是一个Mozilla扩展,只有在编写特定于Mozilla的代码时才可用。这种语法不是ECMAScript-6。
let
的标准用法如下所示:
{
let a=20, b, c;
console.log(a,b,c);
}
因此,不管这种语法是什么,它显然是一个Mozilla扩展,只有在编写特定于Mozilla的代码时才可用。取决于您尝试执行的操作。您认为该代码的作用是什么?取决于您试图做什么。你认为这段代码的作用是什么?大括号有什么用?JS没有块作用域,对吗?@evolutionxbox ES6有<代码>设a=1;{let a=2}等于
var a=1;(函数(){var a=2})(
在ES5中。仅用于let和const?或者对于VAR也是如此?@evolutionxbox let和const是块范围和非提升的。var保持了遗留变量的行为。检查Babel和Typescript如何传输代码,这提供了一个良好的视角。var
的功能级别范围被认为是混乱和限制的;块级范围更具逻辑性和灵活性。但是ECMA不想破坏向后兼容性。所以var
仍然以同样的方式工作,但是他们添加了一个新的关键字let
来执行块范围变量。他们同时添加了const
,并给出了let
风格的行为,因为正如前面提到的,它被认为更好。这里的花括号有什么用?JS没有块作用域,对吗?@evolutionxbox ES6有<代码>设a=1;{let a=2}等于var a=1;(函数(){var a=2})(
在ES5中。仅用于let和const?或者对于VAR也是如此?@evolutionxbox let和const是块范围和非提升的。var保持了遗留变量的行为。检查Babel和Typescript如何传输代码,这提供了一个良好的视角。var
的功能级别范围被认为是混乱和限制的;块级范围更具逻辑性和灵活性。但是ECMA不想破坏向后兼容性。所以var
仍然以同样的方式工作,但是他们添加了一个新的关键字let
来执行块范围变量。他们同时添加了const
,并给出了let
风格的行为,因为正如前面提到的,它被认为更好。