मुझे हाल ही में पता चला है कि 2 == [2]
जावास्क्रिप्ट में। जैसा कि यह पता चला है, इस quirk के कुछ दिलचस्प परिणाम हैं:
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 प्रसिद्धि के साथ-साथ walkeyerobot द्वारा भी पाए गए ।
+"2"
यह भी संख्या 2 है