তাই আমি জাভা স্ক্রিপ্টে ভর অ্যাসাইনমেন্টটি ঠিক কীভাবে কাজ করে তা দেখার জন্য আমি অন্যান্য দিন ঘুরেছিলাম।
প্রথম আমি কনসোলে এই উদাহরণটি চেষ্টা করেছি:
a = b = {};
a.foo = 'bar';
console.log(b.foo);
ফলাফলটি ছিল "বার" একটি সতর্কতার মধ্যে প্রদর্শিত হচ্ছে। এটি যথেষ্ট ন্যায্য, aএবং bসত্যই একই বস্তুর কেবলমাত্র উপস্বাদ। তখন আমি ভেবেছিলাম, কীভাবে আমি এই উদাহরণটিকে আরও সহজ করে তুলব।
a = b = 'foo';
a = 'bar';
console.log(b);
বেশ একই জিনিস, তাই না? ভাল এই সময়, এটি প্রথম উদাহরণের আচরণ থেকে যেমন প্রত্যাশা করব তা ফিরে আসে fooনা bar।
কেন এমন হয়?
এনবি এই উদাহরণটি আরও নীচের কোড সহ আরও সহজ করা যেতে পারে:
a = {};
b = a;
a.foo = 'bar';
console.log(b.foo);
a = 'foo';
b = a;
a = 'bar';
console.log(b);
(আমি সন্দেহ করি যে জাভাস্ক্রিপ্ট স্ট্রিংগুলির মতো আদিমদের সাথে আচরণ করে এবং হ্যাশগুলির সাথে পৃথক সংখ্যার সাথে পৃথকভাবে আচরণ করে Has