Operatori di confronto
Restituisce un valore booleano che indica il risultato del confronto.
expression1 comparisonoperator expression2
Argomenti
expression1
Qualsiasi espressione.comparisonoperator
Qualsiasi operatore di confronto (<, >, <=, >=, ==, !=, ===, !==)expression2
Qualsiasi espressione.
Note
Nel confronto di stringhe realizzato in JScript, viene utilizzato il valore Unicode di ogni carattere dell'espressione stringa.
Di seguito viene descritto il diverso funzionamento dei vari gruppi di operatori a seconda del tipo e del valore di expression1 e di expression2:
Relazionali (<, >, <=, >=)
Viene eseguito un tentativo di conversione in valori numerici sia di expression1 che di expression2.
Se entrambe le espressioni sono stringhe, viene eseguito un confronto lessicografico delle stringhe.
Se una delle due espressioni è NaN, viene restituito false.
Lo zero negativo equivale allo zero positivo.
Un infinito negativo è minore di qualsiasi altro valore, compreso se stesso.
Un infinito positivo è maggiore di qualsiasi altro valore, compreso se stesso.
Uguaglianza (==, !=)
Se i tipi delle due espressioni sono diversi, viene eseguito un tentativo di conversione del tipo in stringa, numero o valore booleano.
Il valore NaN è diverso da qualsiasi altro valore, compreso se stesso.
Lo zero negativo equivale allo zero positivo.
Il valore null equivale sia a null che a undefined.
I valori sono considerati uguali se sono stringhe identiche, valori numerici equivalenti, oggetti identici, valori booleani identici oppure se, quando di tipo diverso, è possibile ricondurli a uno dei tipi precedenti tramite coercizione.
Qualsiasi altro confronto viene considerato diverso.
Identità (===, !==)
Il funzionamento di questi operatori è identico a quello degli operatori di uguaglianza. L'unica differenza è che non viene eseguita alcuna conversione dei tipi, che devono essere gli stessi per essere considerati uguali.