Javascript通过解构重新分配let变量[重复]
Posted
技术标签:
【中文标题】Javascript通过解构重新分配let变量[重复]【英文标题】:Javascript re-assign let variable with destructuring [duplicate] 【发布时间】:2018-07-20 17:55:22 【问题描述】:在我的 React 应用程序中,我使用的是 airbnb 的 eslint 样式指南,如果我不使用解构,它将引发错误。
在下面的情况下,我首先使用let
将两个变量latitude
和longitude
分配给位置对象数组中第一项的坐标。然后,如果用户允许我访问他们的位置,我会尝试使用解构来重新分配他们的值。
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);
解构需要在let
、const
或var
声明之后,或者需要在表达式上下文中以将其与块语句区分开来。
【讨论】:
以前从未见过,谢谢 这很茂盛,非常适合干净的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变量[重复]的主要内容,如果未能解决你的问题,请参考以下文章