কম্পিউটার

([] ==মিথ্যা) সত্য হলে, কেন ([] || সত্য) ফলে [] হয়? - জাভাস্ক্রিপ্ট


আমরা যদি সমস্যা বিবৃতিটি ঘনিষ্ঠভাবে দেখি, তাহলে ([] ==মিথ্যা) এবং ([] || সত্য) এর মধ্যে পার্থক্য হল নিম্নলিখিত −

প্রথম ক্ষেত্রে, আমরা ঢিলেঢালা শর্তসাপেক্ষ চেকিং ব্যবহার করছি, যাতে টাইপ জবরদস্তি করা যায়।

দ্বিতীয় ক্ষেত্রে, আমরা [] এর নিজ নিজ বুলিয়ান (সত্য বা মিথ্যা) মূল্যায়ন করছি যা হুকের নীচে টাইপ জবরদস্তির পরিবর্তে বুলিয়ান() ফাংশন ব্যবহার করে।

আসুন এখন উভয় ক্ষেত্রেই পর্দার আড়ালে ঘটে যাওয়া রূপান্তরগুলি উন্মোচন করি৷

কেস 1 − ([] ==মিথ্যা)

MDN ডক্স অনুসারে যদি দুটি ডাটা টাইপ বলে x এবং y আলগা সমতা অপারেশন ( ==) ব্যবহার করে তুলনা করা হয়, তাহলে,

Number() ফাংশন −

ব্যবহার করে বুলিয়ান মান একটি সংখ্যায় রূপান্তরিত হবে

সুতরাং, শর্তটি এখন −

হয়ে যায়
[] == 0// Number(false) = 0

তারপর যদি অবজেক্ট টাইপের ভেরিয়েবলটিকে আদিম মান −

-এ রূপান্তর করা হবে
"" == 0

এবং সবশেষে খালি স্ট্রিংটি একটি সংখ্যা-

-এ রূপান্তরিত হবে
0 == 0

উপরের শেষ পর্যন্ত সত্য ফিরে আসে

কেস 2 − ([] || সত্য)

এই ক্ষেত্রে ইনবিল্ট বুলিয়ান() ফাংশন ব্যবহার করে একটি বুলিয়ানে রূপান্তর করে []-এর সত্য/মিথ্যা মান পরীক্ষা করা হবে। এবং,

Boolean([]) = true

তাই, সত্যের মান [] বজায় রাখা হয়।


  1. জাভাস্ক্রিপ্ট মাল্টিলাইন প্রপার্টি

  2. জাভাস্ক্রিপ্ট মিল()

  3. PreventDefault( ) বনাম জাভাস্ক্রিপ্টে মিথ্যা রিটার্ন?

  4. জাভাস্ক্রিপ্টে মিথ্যা মান সনাক্ত করা