2017-04-05 2 views
-2

私は何を探していることはライン5にアンダースコアのようなものです:ES2015で無視/スローアウェイ/ワイルドカード値を示す方法はありますか?

const returnValues =() => { 
    const foo = {'one': 1} 
    const bar = {'two': 2} 

    return { 
    foo, bar 
    } 
} 

const { _, valueToBeUsed } = returnValues(); 

//do things with valueToBeUsed 

私が最初の変数を必要としないことを意味する方法を持っているためにきれいになるだろう。

SwiftやHaskellのようなパターンマッチング言語の中には、ワイルドカードパターンと呼ばれるものがあります。

+0

これは無効な構文です。あなたは配列の破壊を使用することを意味しましたか? – CodingIntrigue

+0

1と2はオブジェクトそのものでなければなりません。私はこの例を作ったときには考えていませんでした。例を更新しました。 – mattliu

答えて

1

returnValues関数に無効な構文が含まれています。あなたがここに構造化代入配列を使用することを意図している場合は、代わりにオブジェクトとして配列を扱うことができます。

const returnValues =() => { 
    return [ 1, 2 ]; 
} 

const { 1: valueToBeUsed } = returnValues(); 
console.log(valueToBeUsed); // 2 

returnValuesがオブジェクトを返す必要があります場合は、すべての未使用のプロパティをdestructureする必要はありません。

const returnValues =() => { 
    return { one: 1, two: 2 }; 
} 

const { two: valueToBeUsed } = returnValues(); 
console.log(valueToBeUsed); // 2 
+0

2番目のケースは、私が探していた答えです。ありがとうございました。 – mattliu

関連する問題