2009-07-07 18 views
26

Eventuali duplicati:
Javascript === vs == : Does it matter which “equal” operator I use?Quando dovresti usare === vs ==,! == vs! =, Ecc. In javascript?

Quali sono le differenze tra === e ==, == == e ... quando si dovrebbe utilizzare un unico e quando si deve utilizzare il altro?

Matt

+4

Questo è un duplicato di circa 1000 domande –

+1

Puoi pubblicare un link a queste altre domande? Cerco sempre di guardare prima, ovviamente i titoli non erano abbastanza chiari da poter essere trovati facilmente. Forse avere questa domanda aiuterà anche a indirizzare le persone nella giusta direzione nel caso in cui non abbiano cercato la cosa esatta. – Matt

+1

I miei pensieri esattamente. Eccone uno: http://stackoverflow.com/questions/359494/javascript-vs – GManNickG

risposta

32

=== è l'operatore Identità e viene utilizzato per verificare che il valore e il tipo siano uguali.

così ..

"3" == 3 // true 
"3" === 3 // false 
1 == true // true 
1 === true // false 
"1" == true // true 
"1" === true // false 

in modo che quando si cura che il valore e il tipo sono uguali, o non uguale agli operatori l'uso di identità === o! ==

+0

bello e definitivo – annakata

+0

"1" == vero .. cosa? Ho pensato di conoscere queste regole grazie per aver evidenziato –

+0

@ KissKoppány se sei confuso, perché 1 e 0 sono operatori booleani. == non digita la conversione, quindi '1' == 1 == true, '0' == 0 == false. === NON esegue la conversione del tipo. Generalmente è meglio andare con === a meno che non si aspetti frequentemente che le tue variabili cambino, il che è bizzarro (almeno per me) – Prefix

8

I "normali" == operatori in JavaScript eseguono tipo di coercizione, e del loro meglio per fare le cose come trattare una stringa come numero o un oggetto come una stringa dove richiesto. Gli operatori === più lunghi saranno non do tipo di coercizione, ma piuttosto un confronto rigoroso all'interno del tipo.

2

=== e !== sono gli stessi == e !=, ma in aggiunta controlla i tipi di variabile.

Problemi correlati