Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

155
Vistas
Texto mecanografiado: la cadena se puede asignar a {} Tipo

Por qué es esto:

 const test: {} = "test" // shouldn't this raise "Type 'string' is not assignable to type '{}'." error? console.log(test)

¿Un código mecanografiado válido?
Hace solo un momento, este fragmento de código hizo que enviara llamadas API incorrectas, porque tenía algo como esto:

 const getAPIData = async (id: string, filters: NetworkFilters | {} = {})

Lo que quería lograr es que los filters tuvieran un valor predeterminado de objeto sin propiedades, pero por mi error pasé una cadena allí y esto rompió mis llamadas a la API. ¿Por qué es posible? Debería generar un error.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Lamentablemente, este es uno de los casos extremos en TS en el que probablemente sea una buena idea explicar qué significa realmente assignable .

{} es un objeto sin propiedades, pero como tal, se le puede asignar cualquier objeto y la string no es una excepción. (la string también tiene métodos fe toLowerCase ).

Si, por ejemplo, declaraste const test: { toLowerCase: () => string } = "test" , tampoco obtendrás un error, porque toLowerCase es un método de string .

Si dijo const test: { notAStringMethod: () => string } = "test" , entonces esto falla, porque notAStringMethod no es un método de string y, por lo tanto, no se puede asignar.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda