Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

124
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!