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.