新しい方法でES6オブジェクト

1.object.is()は、2つの値が等しいか否かを判断します

  <スクリプトタイプ= " テキスト/ javascriptの" > のvar FLAG1 =オブジェクト。である' FOO '' FOO ' )。
        console.log(FLAG1)。// のvar FLAG2 =オブジェクト。です'' '' )。
        console.log(FLAG2)。// のvar FLAG3 =オブジェクト。です({}、{})。
        console.log(FLAG3)。// のvar FLAG4 =オブジェクト。である0、 - 0
            
        
        
        



)。 console.log(FLAG4)。// のvar flag5 =オブジェクト。ある(NaNでは、NaN)。// にconsole.log(flag5) </スクリプト>

合わせたオブジェクトの2.Object.assign()メソッドは、対象物(ターゲット)にコピーされ、すべての列挙属性のソースオブジェクト(ソース)。

Object.assign最初のパラメータは、ソース・オブジェクトのパラメータが後ろにあり、ターゲット・オブジェクトのメソッドです。

ソースオブジェクトとターゲットオブジェクトは、同じ名前、または同じname属性のソースオブジェクトの複数の属性を持っている場合、属性の後に以前の属性を上書きすることに注意してください。

<スクリプトタイプ= " テキスト/ javascriptの" >
             / * 
             * object.asign()
             * / 
            VARの 目標 = {名:" 小米" }。
            VARの ソース1 = { 
                年齢:23 
                性別:1 
                名前:" 暁明" 
            }; 
            VaRの ソース2 = {父:" 大の明" }。
            
            console.log(Object.assign(ターゲットソース1ソース2)); // {名: "暁明"、年齢:23、性別:1、父: "大の明"} 
</ SCRIPT>

3. Object.keys()、Object.values()、Object.entries()

Object.keys方法は、配列を返し、オブジェクト自体のメンバーは、キーパラメータ(継承されない)全てのトラバース(可算)属性です。

VAR OBJ = {FOO:' バー'、バズ:42 }。
Object.keys(OBJ)
// [ "foo"という、 "バズ"]

ES2017は、で導入Object.keysのサポートObject.valuesObject.entriesのために、オブジェクトを横断するサプリメントとしてfor...ofリサイクル。

{キー、値、エントリ} =せてオブジェクト。
OBJせ {:= 1、B:2、C:3 }。

{(キーのキー(OBJ)とする)
  はconsole.log(キー)。// ''、 'B'、 'C' 
} 

のための{(値の値(OBJ)とする)
  はconsole.log(値)。// 1、2、3 
} 

のための{(エントリの[キー値](OBJ)とする)
  はconsole.log([キー、値])。// [ 'A'、1]、[ 'B'、2]、[ 'C'、3] 
}

Object.valuesこの方法は、配列を返し、オブジェクト自体のメンバーは、パラメータ(継承されない)全てのトラバース(可算)キー属性です。

CONST OBJ = {FOO:' バー'、バズ:42 }。
Object.values(OBJ)
// [ "バー"、42]

セクションで説明するルールと一致するメンバーの配列の並び順、及び「越え属性」の章を返します。

CONST OBJ = { 100' A '2' B '7' C ' }。
Object.values(OBJ)
// [ "B"、 "C"、 "A"]

配列を返すように上記のコードでは、と呼ばれる属性値は、小から大横断に、大きさに応じた値ですbca

Object.valuesオブジェクト自体はプロパティを横切ることができる返すだけです。

 

場合Object.valuesメソッドのパラメータは文字列で、各文字の配列を返します

Object.values(' FOO ' // [ 'F'、 'O'、 'O']

パラメータがオブジェクトでない場合、Object.valuesそれは最初にそのオブジェクトをオンにします。オブジェクトおよび包装ブール値の値は、非継承プロパティの例として、追加されません。したがって、Object.valuesそれは空の配列を返します。

Object.values(42// [] 
Object.values(// []

 

Object.entries()この方法は、配列を返し、オブジェクト自体のメンバーは、パラメータ(継承されない)全てのトラバース(可算)キー属性アレイです。

CONST OBJ = {FOO:' バー'、バズ:42 }。
Object.entries(OBJ)
// [[ "foo"という、 "バー"]、[ "バズ"、42]]

 

Object.entries基本的な目的は、オブジェクトの属性を横断することです。

せOBJ = {1:1、2:2 }。
{([K、V] Object.entriesの(OBJ)とする)
  はconsole.log(
    $ {JSON.stringify(V)} `` $ {JSON.stringify(K)} 
  ;)
} 
// "1":1
 // "2":2

Object.entries別の有用な方法は、実際にオブジェクトということであるMap構造。

CONST OBJ = {FOO:' バー'、バズ:42 }。
constのマップ= 新しい地図(Object.entries(OBJ)); 
マップ// 地図{FOO: "バー"、バズ:42}

Object.fromEntries()方法は、Object.entries()キー配列にオブジェクトの逆の動作。

Object.fromEntries([ 
  [ ' FOO '' バー' ]、
  [ ' バズ'42 ] 
])
// {FOO "バー"、バズ:42}
// 一例
constのエントリ= 新しい地図([ 
  [ ' FOO '' バー' ]、
  [ ' バズ'42 ] 
]); 

Object.fromEntries(エントリー)
// {FOO: "バー"、バズ:42} 

// 二例
のconstマップ= マップ()。セット' FOO ')。セット' バー'偽の); 
Object.fromEntries(マップ)
// {FOO:真、バー:偽}

 

おすすめ

転載: www.cnblogs.com/150536FBB/p/11607658.html