';让块';仅在Mozilla JavaScript扩展中可用(使用moz选项)

';让块';仅在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 block”仅在Mozilla JavaScript扩展中可用(使用moz选项)

这一错误的原因是什么?

是非标准化的,并且是壁虎特有的(它也被认为是)

JSHint需要使用启用Gecko-only特性

这样做的标准方法是

{
  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
风格的行为,因为正如前面提到的,它被认为更好。