84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
現在のobjがオブジェクトであるか配列であるかを判断します。配列の場合、結果も配列になります。それ以外の場合、結果は通常のオブジェクトになります
あなたの理解は間違っています、この文は如果 obj 存在,并且是对象
如果 obj 存在,并且是对象
参照型(オブジェクト)でない場合は、現在のキーの値が基本型であることを意味し、新しい結果に対応するキーをこの値に直接設定します
ちなみに、オブジェクトをディープコピーするとメモリリークが発生する可能性があるためです。キーは型を参照する可能性があり、それによってそれ自体が内部的に参照され、メモリ リークが発生するため、ディープ コピーは参照型キーに遭遇した場合にのみヒープ メモリのアドレスをコピーします。
そして、質問の最初の行では、splice を判断することによって、それが配列であるかオブジェクトであるかを判断するのは厳密ではありません。Array.isArray であるオブジェクトの下に splice と呼ばれるプロパティがある場合はどうなるでしょうか。このメソッドは適切にサポートされており、これに置き換えることができます。
splice
ES6 の場合は、Object.assign()だけ
Object.assign()
obj がオブジェクトであるか配列であるかを判断します。配列のみが splice メソッドを持っているためです。obj.splice が obj が配列であることを示す戻り値を持つ場合、結果も配列になります。それ以外の場合、結果はオブジェクトになります。
obj.splice
if (obj が存在し、obj がオブジェクトである)、null typeof もオブジェクトなので、もう 1 つの判断ステップで null を削除できます。
typeof
コピーされた値が private值,那么就直接赋值就可以,如果是对象,那么就像上一步一样递归的复制对象,直到复制的值是private 値の場合。
private
浅いコピーと深いコピーについて言えば、恥ずかしながら私が書いた記事を読むことをお勧めします.../a/11...
現在のobjがオブジェクトであるか配列であるかを判断します。配列の場合、結果も配列になります。それ以外の場合、結果は通常のオブジェクトになります
あなたの理解は間違っています、この文は如果 obj 存在,并且是对象
参照型(オブジェクト)でない場合は、現在のキーの値が基本型であることを意味し、新しい結果に対応するキーをこの値に直接設定します
ちなみに、オブジェクトをディープコピーするとメモリリークが発生する可能性があるためです。キーは型を参照する可能性があり、それによってそれ自体が内部的に参照され、メモリ リークが発生するため、ディープ コピーは参照型キーに遭遇した場合にのみヒープ メモリのアドレスをコピーします。
そして、質問の最初の行では、
splice
を判断することによって、それが配列であるかオブジェクトであるかを判断するのは厳密ではありません。Array.isArray であるオブジェクトの下に splice と呼ばれるプロパティがある場合はどうなるでしょうか。このメソッドは適切にサポートされており、これに置き換えることができます。ES6 の場合は、
Object.assign()
だけobj がオブジェクトであるか配列であるかを判断します。配列のみが splice メソッドを持っているためです。
obj.splice
が obj が配列であることを示す戻り値を持つ場合、結果も配列になります。それ以外の場合、結果はオブジェクトになります。if (obj が存在し、obj がオブジェクトである)、null
typeof
もオブジェクトなので、もう 1 つの判断ステップで null を削除できます。コピーされた値が
private
值,那么就直接赋值就可以,如果是对象,那么就像上一步一样递归的复制对象,直到复制的值是private
値の場合。浅いコピーと深いコピーについて言えば、恥ずかしながら私が書いた記事を読むことをお勧めします...
/a/11...