web-dev-qa-db-ja.com

Javascriptが再構成してlet変数を破壊する

私のReactアプリでは、破壊を使用しないとエラーをスローするairbnbのeslintスタイルガイドを使用しています。

以下の状況では、最初にletを使用して、2つの変数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エラー。

27
plmok61
 ({ latitude, longitude } = props.userLocation.coords);

letconst、またはvar宣言の後、またはブロック文と区別するために式コンテキスト内にある必要があります。

63
Jonas Wilms