Sobes.tech
Junior

Qual è la differenza tra == e === in JavaScript?

sobes.tech AI

Risposta dell'AI

L'operatore == (uguaglianza allentata) esegue la conversione di tipo degli operandi prima del confronto.

L'operatore === (uguaglianza stretta) non esegue la conversione di tipo. Confronta sia i valori che i tipi degli operandi.

// Esempi ==
console.log(5 == '5');   // true (la stringa '5' viene convertita in numero 5)
console.log(true == 1);    // true (il numero 1 viene convertito in true)
console.log(null == undefined); // true (regola speciale)

// Esempi ===
console.log(5 === '5');  // false (il tipo number non è uguale al tipo string)
console.log(true === 1);   // false (il tipo boolean non è uguale al tipo number)
console.log(null === undefined); // false (il tipo null non è uguale al tipo undefined)

L'uso di === è preferibile nella maggior parte dei casi, poiché è più prevedibile ed evita comportamenti non evidenti legati alla conversione di tipo.