【问题标题】:Getting an Invalid left-hand side in assignment在分配中获得无效的左侧
【发布时间】:2014-08-06 09:41:20
【问题描述】:

我收到Uncaught SyntaxError: Invalid left-hand side in assignment 错误

[d1,d2] =[d2,d1];

有人知道为什么吗?

【问题讨论】:

  • 你想用这个语句达到什么目的?
  • 这是一个(现在的)javascript 兼容变量交换:stackoverflow.com/questions/16201656/…
  • 当前的 JavaScript 不能这样工作。但看起来 ECMAScript 6 可能会。
  • 并非所有(或很多)浏览器都支持此功能。 stackoverflow.com/questions/6983026/…
  • @PatrickHofman 这是我正在使用的库中的一些代码。它在一个我可能不会使用的函数中,因为我预计在我正在编码的项目中不需要它。感谢您提供合规代码。谢谢大家。

标签: javascript


【解决方案1】:

通过查看 SO 的其他帖子,您可能已经做了一个很好的尝试,因为您的代码看起来很像 this comment 的代码。

不幸的是,您使用的功能与 ECMAScript 6 一起运行,但并非所有浏览器都支持该功能(目前),如您所见 here 和更具体的 this one

您应该使用此评论所在答案中的代码。

d2 = [d1, d1 = d2][0];

【讨论】:

  • “并非所有浏览器都支持 ECMAScript”并没有真正的意义,因为按照当今的说法,JavaScript 是 ECMAScript 的一种实现。今天,每个常见的浏览器都至少支持 ECMAScript 3 (as JavaScript 1.5),并且,正如您链接到的图表所示,大部分 ECMAScript 5。(由于政治原因,ES4 被“跳过”。)更准确地说是解构赋值是 ECMAScript 6 草案规范特性和isn't supported in all browsers
【解决方案2】:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-15
相关资源
最近更新 更多