In JavaScript === confronta il riferimento, non il contenuto - se le stringhe provengono da fonti diverse (ad esempio una da un campo input, l'altra da un'API), possono trovarsi in locazioni di memoria differenti e === restituisce false. Anche caratteri invisibili come spazi, a capo o caratteri Unicode speciali possono fare in modo che due stringhe otticamente identiche non siano uguali.
Cosa vuoi fare concretamente - stai confrontando input, API response o qualcos'altro? Per prima cosa controllerei la lunghezza di entrambe le stringhe con `console.log(str1.length, str2.length)` e poi vedrei con `console.log([...str1])` oppure `JSON.stringify()` se ci sono caratteri nascosti dentro. A volte aiuta anche `str1.trim()` se il problema sono gli spazi bianchi, oppure `str1.toLowerCase()` se il problema è la differenza maiuscole/minuscole.
Se le stringhe sono davvero identiche e === comunque non funziona (cosa che in realtà non dovrebbe succedere), allora dimmi come crei o carichi concretamente i valori - così possiamo approfondire. Alcune API restituiscono stringhe codificate in modo strano oppure sono stringhe numeriche invece di stringhe vere (`"123"` vs `123`).