আমি সম্প্রতি এটি 2 == [2]
জাভাস্ক্রিপ্টে আবিষ্কার করেছি । দেখা যাচ্ছে যে, এই ছটফটকের বেশ কয়েকটি আকর্ষণীয় পরিণতি রয়েছে:
var a = [0, 1, 2, 3];
a[[2]] === a[2]; // this is true
একইভাবে, নিম্নলিখিত কাজগুলি:
var a = { "abc" : 1 };
a[["abc"]] === a["abc"]; // this is also true
এমনকি অপরিচিত এখনও, এটি কাজ করে:
[[[[[[[2]]]]]]] == 2; // this is true too! WTF?
এই আচরণগুলি সমস্ত ব্রাউজার জুড়ে সামঞ্জস্যপূর্ণ বলে মনে হয়।
কোনও ভাষা কেন এটি একটি ভাষা বৈশিষ্ট্য?
এখানে এই "বৈশিষ্ট্য" এর আরও উন্মাদ পরিণতি রয়েছে:
[0] == false // true
if ([0]) { /* executes */ } // [0] is both true and false!
var a = [0];
a == a // true
a == !a // also true, WTF?
এই উদাহরণগুলি jimbojw দ্বারা পাওয়া গেছে http://jimbojw.com খ্যাতি সেইসাথে walkingeyerobot ।
+"2"
2