javascript - Array and if statements -


  अगर ([]) {} / true if ([] == true) {} // false अगर ([1] == सच) {} अगर सही ([2] == सच) {} / अगर गलत ([1,2] == सच) {} / / यदि गलत (('हाय' ] == सच) {} // गलत अगर ([[aaa: 1}] == सच) {} /   

[] सरणी है । सरणी वस्तु है वस्तु सच है, इसलिए [] सच है यह ठीक है।

लेकिन मैं अन्य परिणाम नहीं समझ सकता।

 < कोड> अगर ([]) {}   

सभी जावास्क्रिप्ट ऑब्जेक्ट्स सत्य हैं - ये सभी बूलियन मान true । यदि एक ऑपरेंड एक ऑब्जेक्ट है, और दूसरे ऑपरेंड एक बूलियन है, तो दोनों ऑपरैंड्स संख्या मान के लिए जबरदस्ती एक खाली सरणी 0 :

  0 == 1 / गलत   
  के लिए जरूर होगी ([1] == सच) {} // सच   

यहाँ एक ही बात है एक आइटम के साथ एक सरणी के लिए, वह आइटम नंबर पर दबाव डालता है और उस मान की तुलना अन्य ऑपरेंड से की जाएगी:

  1 == 1 // true   < Hr> 
  if ([2] == true) {} // false   

है:

  2 == 1 / अगर झंडे   
  यदि ([1,2] == सच) {} // false   

अगर सरणी कई मदों, संख्या के लिए जबरन नाएन :

  नैन == 1 // झूठी   
  यदि (['हाय'] == सच) {} // false   

स्ट्रिंग को संख्या मान को NaN :

  NaN == 1 // गलत   
  यदि ([{aaa: 1}] == सच) {} // false   

एक ऑब्जेक्ट भी संख्या के मान को NaN :

  NaN == 1 / गलत    

Comments