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

172
Vistas
¿Por qué expect({"[\"": 2}).toHaveProperty("[\"") no es cierto en broma?

Me gustaría probar que el objeto tiene una propiedad con el nombre ["

En el nodo js puedo definir el objeto "x" con la propiedad "[\""

 > x = {"[\"": 2} { '["': 2 } > x["[\""] 2

y por supuesto

 > '["' === "[\"" true

pero cuando escribí prueba

 expect({"[\"": 2}).toHaveProperty("[\"")

Recibí un error:

 Error: expect(received).toHaveProperty(path) Expected path: "[\"" Received path: [] Received value: {"[\"": 2}

Estas versiones tampoco funcionan.

 expect({"[\"": 2}).toHaveProperty(`["`);
 const p = `["`; expect({[p]: 2}).toHaveProperty(p);

Actualización 1

Hubo una hipótesis de que es debido a las bibliotecas.

 "esbuild-jest": "^0.5.0", "esbuild-node-tsc": "^1.8.5", "jest-text-transformer": "^1.0.2",

Pero creé un proyecto js puro con solo jest@^27.5.1 instalado y reproducido

ingrese la descripción de la imagen aquí

Actualización 2

Había una hipótesis de que depende del sistema operativo. Lo reproduje en Macbook Pro y Arch Linux. Para node js versiones 12, 14, 16.

Solución de trabajo:

 expect({"[\"": 2}[`["`]).toBeDefined();
about 4 years ago · Juan Pablo Isaza
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