CS Fundamentals Trainer · JavaScript · Security

Predict the output: copying a parsed payload with Object.assign versus object spread.

Predict the output: copying a parsed payload with `Object.assign` versus object spread.

const payload = JSON.parse('{"__proto__": {"polluted": "yes"}}');
const viaAssign = Object.assign({}, payload);
const viaSpread = { ...payload };
console.log(viaAssign.polluted, viaSpread.polluted);
console.log(Object.keys(viaAssign), Object.keys(viaSpread));
console.log(({}).polluted);

Difficulty: hard

Answer this question

Related questions