Diferença entre == e === em TypeScript
Olá a todos! Por favor, expliquem para um iniciante em TypeScript: qual é a diferença fundamental entre os operadores == e ===? Eu li que em JavaScript o primeiro faz coerção de tipos, enquanto o segundo é uma comparação estrita, mas em TypeScript, pelo que entendi, os tipos já são estritamente controlados pelo compilador.
Aqui está um exemplo que me confunde:
const a: number = 5;
const b: string = "5";
if (a == b) {
console.log("Igual com ==");
}
if (a === b) {
console.log("Igual com ===");
}O primeiro if exibe uma mensagem, o segundo não. Eu esperava que o TypeScript não me permitisse nem comparar number e string sem coerção explícita, mas o código compila. Por que isso acontece? O TypeScript não deveria gerar um erro em a == b? Ou isso é uma característica da tipagem estrita apenas em nível de compilação, enquanto em runtime a lógica do JavaScript ainda é usada?
Tentei ativar strict: true no tsconfig.json — mas
No answers yet.
Faça login para deixar uma resposta