Ruan Yifeng の ES6 チュートリアルで割り当てとデフォルト値の構造化を見たとき、この部分がよくわかりませんでした。
元のリンク
リーリーES6 は、位置に値があるかどうかを判断するために内部的に厳密等価演算子 (===) を使用していることに注意してください。したがって、配列メンバーが厳密に unknown と等しくない場合、デフォルト値は有効になりません。
この本には、上記のコードは次のコードと同等であると記載されています
リーリーこの [1][0]
の出所を聞いてもいいですか?このままではいけないでしょうか?
配列を分解するときの原則は次のとおりです: 1 つ以上の変数を配列 A に入れ、この配列 A を別の配列 B と等しくします。その後、分解中に、配列 A の特定の位置の値は次と等しくなります。配列 B の対応する位置。値。
リーリーこのコードの意味は、最初に配列 A を作成することです。配列 A の最初の項目は x で、次に配列 B、B = [1] があります。
リーリー次に A = B とします。最終的な効果は A[ 0] = B[0]、つまり
x=B[0]
,也即x=[1][0]
です。未定義に等しいかどうかを判断するときは、次のようにします
の右側の[1]の1はxに対応します。つまり、
に対応します。[1][0]
はx解体、解体、解体。 。 。つまり、等号の右側にあるものを解くことが目的なので、
[1]
を解く必要があります。だから
let [x]=[1]
,那么x
就是[1][0]
,也就是1
。所以其实x
的赋值是根据[1][0]
が判断することになる。私の言っていることが理解できたかどうかわかりませんが、ドキュメントを渡した方がよいでしょう:
https://developer.mozilla.org...