Avatar ·

क्यों ++[[]][+[]]+[+[]] JavaScript में स्ट्रिंग "10" लौटाता है?

सभी को नमस्ते! मैं JavaScript सीख रहा हूँ और एक बहुत ही अजीब कोड देखा। एक लेख में यह expression देखा:\n\n```javascript\nconsole.log(++[[]][+[]]+[+[]]); // "10" आउटपुट करता है\n```\n\nमैं बिल्कुल नहीं समझ पा रहा हूँ कि यह कैसे काम करता है। Array, plus plus, empty array square brackets में और plus empty array मिलकर स्ट्रिंग "10" कैसे देते हैं? मुझे पता है कि JS में type coercion होता है, लेकिन यह किसी जादू जैसा लगता है।\n\nमैंने इसे भागों में समझने की कोशिश की, लेकिन और उलझ गया। उदाहरण के लिए, `++[[]]` का क्या मतलब है? या `+[]`? इन सबसे "10" कैसे आता है, कुछ और क्यों नहीं? क्या कोई कदम-दर-कदम समझा सकता है कि इस expression में वास्तव में क्या हो रहा है?\n\nमैं विस्तृत स्पष्टीकरण के लिए बहुत आभारी रहूँगा, क्योंकि मैं गहरे स्तर पर समझना चाहता हूँ कि JavaScript में operators और type coercion कैसे काम करते हैं। धन्यवाद।