Menu
Coddy logo textTech

Uguaglianza stretta vs non rigorosa

Fa parte della sezione Fondamenti del percorso JavaScript di Coddy. Lezione 16 di 77.

In JavaScript, esistono due tipi di operatori di uguaglianza: uguaglianza debole (==) e uguaglianza stretta (===).

L’uguaglianza debole (==) verifica se due valori sono uguali dopo aver eseguito la coercizione dei tipi. Ciò significa che se gli operandi hanno tipi diversi, JavaScript proverà a convertirli in un tipo comune prima di effettuare il confronto.

Per esempio:

let b = 5 == "5";   // Risulta true, perché la stringa "5" viene convertita nel numero 5 prima del confronto
let b = 0 == false; // Risulta true, perché il valore booleano false viene convertito nel numero 0 prima del confronto
let c = "" == false; // È true, perché la stringa vuota viene convertita nel numero 0 prima del confronto

L’uguaglianza rigorosa (===), invece, verifica se due valori sono uguali senza eseguire alcuna conversione di tipo. Se gli operandi sono di tipi diversi, sono considerati diversi.

Per esempio:

let b = 5 === "5";   // Contiene false, perché non viene eseguita alcuna conversione di tipo e un numero non è uguale a una stringa
let b = 0 === false; // Contiene false, perché non viene eseguita alcuna conversione di tipo e il numero 0 non è uguale al valore booleano false

In generale, si consiglia di usare l'uguaglianza stretta (===) nella maggior parte dei casi per evitare risultati imprevisti dovuti alla coercizione dei tipi.

Allo stesso modo, esistono anche gli operatori di disuguaglianza debole (!=) e di disuguaglianza stretta (!==), che funzionano in modo simile, ma verificano la disuguaglianza invece dell’uguaglianza.

La disuguaglianza debole (!=) verifica se due valori non sono uguali dopo aver eseguito la conversione di tipo, mentre la disuguaglianza stretta (!==) verifica se due valori non sono uguali senza eseguire la conversione di tipo.

challenge icon

Sfida

Principiante

Ti viene fornito un codice con tre variabili: a, b e c.

Il tuo compito è eseguire i seguenti confronti e stampare i risultati:

  1. Verifica se a è uguale in modo non rigoroso a b e memorizza il risultato in d.
  2. Verifica se a è uguale in modo rigoroso a c e memorizza il risultato in e.
  3. Verifica se b è diverso in modo non rigoroso da c e memorizza il risultato in f.
  4. Verifica se a è diverso in modo rigoroso da b e memorizza il risultato in g.

Usa le variabili e gli operatori di confronto forniti per completare il compito.

Provalo tu

// Variabili fornite
let a = 10
let b = "10"
let c = true

// Scrivi il tuo codice qui sotto


// Non modificare la riga qui sotto
console.log(`d = ${d}`)
console.log(`e = ${e}`)
console.log(`f = ${f}`)
console.log(`g = ${g}`)
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore JavaScript online