রেফারেন্স অবজেক্টের জন্য বিশ্রাম / স্প্রেডটি ECMAScript 2018 এ পর্যায় 4 হিসাবে চূড়ান্ত করা হয়েছে প্রস্তাবটি এখানে পাওয়া যাবে ।
বেশিরভাগ অংশ অবজেক্ট পুনরায় সেট করার জন্য এবং একইভাবে স্প্রেডের কাজের জন্য, মূল পার্থক্যটি হ'ল স্প্রেড বৈশিষ্ট্যগুলি সংজ্ঞায়িত করে, যখন Object.assign () তাদের সেট করে । এর অর্থ অবজেক্ট.স্যাসাইন () সেটারগুলি ট্রিগার করে।
এটি মনে রাখবেন যে এগুলি বাদে, অবজেক্টটি বিশ্রাম / স্প্রেড 1: 1 মানচিত্রে অবজেক্ট.স্যাসাইন () এ এবং অ্যারে (পুনরাবৃত্ত) স্প্রেডে আলাদাভাবে কাজ করে। উদাহরণস্বরূপ, একটি অ্যারে ছড়িয়ে দেওয়ার সময় নাল মানগুলি ছড়িয়ে দেওয়া হয়। তবে অবজেক্ট স্প্রেড নাল মান ব্যবহার করে নীরবে কিছুই ছড়িয়ে যায় না।
অ্যারে (অপরিবর্তনীয়) স্প্রেড উদাহরণ
const x = [1, 2, null , 3];
const y = [...x, 4, 5];
const z = null;
console.log(y); // [1, 2, null, 3, 4, 5];
console.log([...z]); // TypeError
অবজেক্ট স্প্রেড উদাহরণ
const x = null;
const y = {a: 1, b: 2};
const z = {...x, ...y};
console.log(z); //{a: 1, b: 2}
এটি কীভাবে অবজেক্ট.সেসাইন () কাজ করবে তার সাথে সামঞ্জস্যপূর্ণ, উভয়ই নিঃশব্দে কোনও ত্রুটি ছাড়াই নাল মান বাদ দেয়।
const x = null;
const y = {a: 1, b: 2};
const z = Object.assign({}, x, y);
console.log(z); //{a: 1, b: 2}