Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

123
Visualizações
La función más corta que da el mismo resultado que === al comparar 2 variables

Esta es mi opinión sobre ella. ¿Es posible hacerlo más corto? (No solo convirtiéndolo en una función de flecha) No debe usar ninguna ===

este es mi tercer intento, realmente no sé ahora si es posible acortarlo aún más

 function strictEquals(a, b) { if ([a, b].every(isNaN)) return false; return Object.is(a + 0, b + 0) || Object.is(a, b); }

segundo intento.

 function strictEquals(a, b) { if (Number.isNaN(a) && Number.isNaN(b)) { return false; } if ( (Object.is(a, 0) && Object.is(b, -0)) || (Object.is(a, -0) && Object.is(b, 0)) ) { return true; } return Object.is(a, b); }

puedes poner a prueba la tuya con esta batería de tests

 console.log('(1, 1), expected true', strictEquals(1, 1)); console.log('(NaN, NaN), expected false', strictEquals(NaN, NaN)); console.log('(0, -0), expected true', strictEquals(0, -0)); console.log('(-0, 0), expected true', strictEquals(-0, 0)); console.log("(1, '1'),expected false", strictEquals(1, '1')); console.log('(true, false), expected false',strictEquals(true,false)); console.log('(false, false), expected true', strictEquals(false,false)); console.log("('Water', 'Oil'), expected false", strictEquals('Water', 'Oil')); console.log('(Undefined, NaN), expected false', strictEquals(undefined, NaN));

este fue un error (mi primer intento)

 function strictEquals(a, b) { if ((Number.isNaN(a) && Number.isNaN(b)) || !Object.is(a, b)) return false; return Object.is(a + 1, b + 1); }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Versión modificada:

 function strictEqual(a,b) { return (Object.is(a, b) || Object.is(a+1, b+1)) && !Number.isNaN(a) }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda