Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

198
Visualizações
¿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 à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda