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

206
Views
Object.freeze no funciona en URL searchParams.set()

¿Hay alguna manera de forzar la recreación/clonación de un objeto para que se use específicamente en el objeto URL ?

Intenté usar Object.freeze(new URL('http://example.com)) , sin embargo, todavía puedo agregar y eliminar searchParams al objeto a través url.searchParams.set('a', 'b') .

Esperaba que al menos uno de estos arrojara errores:

 // Using freeze() const url = Object.freeze(new URL('http://example.com')) url.searchParams.set('a', 'b') console.log(url.toString()) // Using seal() const url2 = Object.seal(new URL('http://example2.com')) url2.searchParams.set('c', 'd') console.log(url2.toString()) // Also freezing the searchParams const url3 = Object.freeze(new URL('http://example3.com')) Object.freeze(url3.searchParams) url3.searchParams.set('e', 'f') console.log(url3.toString())

Me gustaría tener una forma en la que se arroje un error si se usa el objeto frozen en lugar de clonarlo.

about 4 years ago · Santiago Gelvez
1 answers
Answer question

0

Hay dos cosas potenciales que te hacen tropezar aquí:

En primer lugar, congelar un objeto no congela sus subobjetos. No es recursivo. Hay muchas implementaciones de una función de 'congelación profunda' que funciona de forma recursiva, la documentación de MDN en Object.freeze presenta una. Esto puede o no funcionar en tipos incorporados, donde algunas propiedades son de solo lectura (por ejemplo, no puede ejecutar url.searchParams = <new value> , esto genera un error, que probablemente interrumpirá muchas implementaciones).

En segundo lugar, configurar o alterar objetos congelados no genera un error a menos que esté en modo estricto. De lo contrario, el conjunto falla silenciosamente.

about 4 years ago · Santiago Gelvez 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!