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

290
Views
En JavaScript, ¿es mejor lanzar una excepción primero y luego devolver el valor o viceversa?

Digamos que el argumento de value puede ser una string o null

 function doSomething1(value) { if (value) { // do something } throw new Error("No value provided"); } function doSomething2(value) { if (!value) { throw new Error("No value provided"); } // do something }

En ese caso, quiero verificar el value y arrojar un error si es nulo.

Pregunta: ¿Existe alguna diferencia técnica en términos de rendimiento o uso de memoria entre las funciones doSomething1 y doSomething2 teniendo en cuenta que // do something puede ser pequeña o enorme? ¿El orden de lanzamiento de la excepción influirá en el rendimiento en cualquier nivel o se trata de casos de uso 100% idénticos?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

No hay absolutamente ninguna diferencia en términos de tiempo de ejecución:

En ambos casos, si el value es null , tiene una verificación booleana y un lanzamiento de error; de lo contrario, tiene una verificación y la ejecución del bloque // do something .

La diferencia es puramente estilo de código. Personalmente, prefiero el segundo, ya que reduce el nivel de sangría en uno en // do something , y pone el manejo de errores en un solo lugar (mientras que en el primero, tiene el control al comienzo del método y el lanzamiento en el final).

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!