Javascript通过解构重新分配let变量[重复]

Posted

技术标签:

【中文标题】Javascript通过解构重新分配let变量[重复]【英文标题】:Javascript re-assign let variable with destructuring [duplicate] 【发布时间】:2018-07-20 17:55:22 【问题描述】:

在我的 React 应用程序中,我使用的是 airbnb 的 eslint 样式指南,如果我不使用解构,它将引发错误。

在下面的情况下,我首先使用let 将两个变量latitudelongitude 分配给位置对象数组中第一项的坐标。然后,如果用户允许我访问他们的位置,我会尝试使用解构来重新分配他们的值。

let latitude = locations[0].coordinates[1];
let longitude = locations[0].coordinates[0];

if (props.userLocation.coords) 
  // doesn't work - unexpected token
   latitude, longitude  = props.userLocation.coords;

  // causes linting errors
  // latitude = props.userLocation.coords.latitude;
  // longitude = props.userLocation.coords.longitude;

if 语句中解构会导致unexpected token 错误。

以老式方式重新分配变量会导致 ESlint: Use object destructuring 错误。

【问题讨论】:

【参考方案1】:
 ( latitude, longitude  = props.userLocation.coords);

解构需要在letconstvar 声明之后,或者需要在表达式上下文中以将其与块语句区分开来。

【讨论】:

以前从未见过,谢谢 这很茂盛,非常适合干净的try catch 块,函数返回一个对象。 如果你使用现代 JS 并且通常省略分号,在这种情况下,你必须在语句之前或在前一行的末尾有一个分号。否则,括号表达式将被解释为对前一行右值的函数调用。 第一次在 Node 的 repo github.com/nodejs/node/blob/master/lib/internal/crypto/… 看到这个,谢谢你的解释! MDN 文档:developer.mozilla.org/en-US/docs/Web/javascript/Reference/…

以上是关于Javascript通过解构重新分配let变量[重复]的主要内容,如果未能解决你的问题,请参考以下文章

javascript 使用解构分配从嵌套对象分配变量

javascript 使用解构分配从对象分配变量

javascript 使用解构分配从数组中分配变量

高级JavaScript第篇

let 和 const 是 JavaScript 中用于声明变量的关键字

JavaScript学习笔记 -- ES6学习 变量的解构赋值