Javascript re-assignment let variable with destructuring

2022-08-30 04:59:26

在我的 React 应用程序中,我使用的是 Airbnb 的 eslint 风格指南,如果我不使用 destructuing,它将抛出错误。

在下面的情况下,我首先使用将两个变量分配给位置对象数组中第一项的坐标。然后,如果用户已授予我访问其位置的权限,我将尝试使用解构来重新分配其值。letlatitudelongitude

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;
}

在语句内部进行析构会导致错误。ifunexpected token

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


答案 1
 ({ latitude, longitude } = props.userLocation.coords);

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


答案 2