【ヴュー] ES6の解体割り当て - 割り当ては解体オブジェクト

脱構築とオブジェクトの配列の重要な違いがあります。

アレイの要素が順に配置され、変数の値は、その位置によって決定されます

オブジェクトのプロパティは、注文していない、と変数が正しい値を得るために、同じ名前の属性でなければなりません。

基本的な使い方

  •  解体に失敗した場合は、変数の値が等しいですundefined。 
    ましょう{バー、FOO} = {FOO: 'AAA'、バー: 'BBB' }。
    FOO // "AAA" 
    バー// "BBB" 
    
    {}バズましょう = {FOO: 'AAA'、バー: 'BBB' }; 
    バズ// 未定義

     

  • 変数名や属性名が矛盾している場合は、次のように、それが書かれている必要があります。
    ましょう{FOO:バズ} = {FOO: 'AAA'、バー: 'BBB' }。
    バズ// "AAA" 
    のfoo // エラー:fooが定義されていません

    上記のコードはfoo、一致したパターンでbaz可変です。本当に割り当ては、変数であるbazというよりも、モード、foo

オブジェクトの解体のデフォルト

  • 条件の発効のデフォルト値は、そのオブジェクトのプロパティの値が正確に同じですundefined
    VAR {X = 3} = {}; 
    X // 3 
    
    VAR {X、Y = 5} = {X 1 }。
    X // 1つの 
    Y // 5 
    
    VAR {X:Y = 3} = {}; 
    Y // 3 
    
    VAR {X:Y = 3} = {X:5 }。
    Y // 5 
    
    VAR:= {メッセージMSG = '何かが間違っていました'} } {。
    MSG // "何かが間違っていた" 
    
    VAR {X = 3} = {X:不定}; 
    X // 3 
    
    VAR {X = 3} = {X:NULL ;} 
    X // ヌル
  • あなたは、変数が代入の解体のために宣言されている場合は、非常に注意してください。
    // 書き込みエラー
    LET Xを、
    {X} = {X :. 1 };
     // にSyntaxError:上記のコード記述された構文エラーは、エラーになり
    ますよう// JavaScriptエンジン{x}構文エラーが発生することにより、コードブロックとして理解されます。
    //括弧はJavaScriptを避けるために、行の先頭を書きません。この問題を解決するために、コードのブロックとして解釈します。
    // の正しい表現 LETのX; ({X} = {X:} 1)。
  • 解体割り当てモードの中で等号の左側を可能にする、任意の変数名を置かないでください。そのため、代入式を記述することは非常に奇妙です。
    ({} = [ ])。
    ({} = 'ABC' )。
    ({} = [])。

    上記の式は無意味ですが、構文は合法ですが、それを実行することができます。

  • 配列はオブジェクトの特殊な性質であるので、オブジェクトは、属性の配列を解体することができます
    せARR = [1、2、3 ]。
    {せ = - :最後最初、[1 arr.length] 0} ; ARR 
    最初// 1 
    最後// 3

     

おすすめ

転載: www.cnblogs.com/websmile/p/11528527.html