MDC ==
অপারেটরটিকে নিম্নরূপ বর্ণনা করে :
যদি দুটি অপারেন্ড একই ধরণের না হয়, জাভাস্ক্রিপ্ট অপারেন্ডগুলিকে রূপান্তর করে তবে কঠোর তুলনা প্রয়োগ করে app অপারেন্ড যদি কোনও সংখ্যা বা বুলিয়ান হয় তবে অপারেন্ডগুলি যদি সম্ভব হয় তবে সংখ্যায় রূপান্তরিত হয়; অন্যথায় যদি অপরেন্দ্র একটি স্ট্রিং হয়, অন্য অপারেন্ড যদি সম্ভব হয় তবে স্ট্রিংয়ে রূপান্তরিত হয়।
এটি মাথায় রেখে, আমি "true" == true
নিম্নলিখিত হিসাবে মূল্যায়ন করব :
- তারা কি একই ধরণের? না
- হয় হয় কোন সংখ্যা বা বুলিয়ান অপারেন্ড করা হয়? হ্যাঁ
- আমরা উভয়কে একটি সংখ্যায় রূপান্তর করতে পারি? না (
isNaN(Number("true")) // true
) - হয় একটি স্ট্রিং অপরেন্ড হয়? হ্যাঁ
- আমরা কি অন্য অপারেন্ডকে স্ট্রিংয়ে রূপান্তর করতে পারি? হ্যাঁ (
String(true) === "true" // true
)
আমি স্ট্রিংগুলি দিয়ে শেষ করেছি "true"
এবং "true"
যার মূল্যায়ন করা উচিত true
তবে জাভাস্ক্রিপ্টটি মিথ্যা দেখাচ্ছে।
আমি কি মিস করেছি?