Menu
CoddyTech

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