Javascript Objectの冷門関数assign
2538 ワード
Object関数は、複数のオブジェクトを結合するためのassignという関数を提供します.
Object.assign(…)
複数のオブジェクトをこの関数に渡すことができます.これらのオブジェクトには独自の属性があり、列挙可能な属性があり、最初のオブジェクトにコピーされます.
関数としての最初の参加者を送ることができます.このように残りのオブジェクトは固有であり、列挙可能な属性があり、この空のオブジェクトにコピーされ、このオブジェクトに戻ります.不要な変更を避けることができます.
したがって、参の順序は最終結果に影響を及ぼします.
Canot assign to read only property属性名'of object's
転載先:https://www.cnblogs.com/splitgroup/p/7027748.html
Object.assign(…)
複数のオブジェクトをこの関数に渡すことができます.これらのオブジェクトには独自の属性があり、列挙可能な属性があり、最初のオブジェクトにコピーされます.
var a={name:'jack'};
var b={age:10};
Object.assign(a,b);
console.log(a) // 'Object {name: "jack", age: 10}'
この方法は導入された最初のオブジェクトを修正しますので、関数は最後のreturnの最初のオブジェクトになりますので、このような変更に注意してください.関数としての最初の参加者を送ることができます.このように残りのオブジェクトは固有であり、列挙可能な属性があり、この空のオブジェクトにコピーされ、このオブジェクトに戻ります.不要な変更を避けることができます.
var a={name:'jack'};
var b={age:10};
var c=Object.assign({},a,b);
console.log(c) // 'Object {name: "jack", age: 10}'
繰り返し表示される属性は、左から右に向かってパラメータを操作するため、右の値に対して上書きされます.したがって、参の順序は最終結果に影響を及ぼします.
var a={name:'jack'};
var b={name:10};
Object.assign(a,b);
console.log(a); // 'Object {name: 10}'
最初のオブジェクトに読み取り専用の属性があり、次のオブジェクトに同名の属性が存在すると、Type Errが生成されます.Canot assign to read only property属性名'of object's
var a={name:'jack'};
Object.defineProperty(a,'name',{writable:false});//
var b={name:10};
Object.assign(a,b);//
エラーが発生しましたが、すべてのコピーが失敗したという意味ではなく、コピーが成功した属性は影響を受けず、まだコピーされていない属性はコピーされません.//
Object.assign({},a,b);
転載先:https://www.cnblogs.com/splitgroup/p/7027748.html