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

212
Vistas
Javascript Intellisense ya no funciona para las propiedades del objeto asignadas después de la creación inicial del objeto en Visual Studio 2022

En VS2022 parece haber una revisión importante en el Servicio Intellisense de Javascript en comparación con VS2019.

Javascript Intellisense ya no parece reconocer las propiedades del objeto asignadas fuera del contexto de creación inicial.

 var r = { a: 1, b: 2 }; rc = 3; //"ra" and "rb" will here be identified by Intellisense, but not "rc".

Este es un comportamiento muy frustrante cuando hay alcances y objetos inyectados de dependencia como en un proyecto AngularJs, ya que estos ya no ofrecen autocompletado inteligente o navegación usando "ir a definición".

Anteriormente, esto funcionó muy bien sin encabezados JSDoc en VS2019.

estudio visual 2019

a , b , c , d , e están todos disponibles aquí.

Intellisense funcionando correctamente en VS2019

estudio visual 2022

Solo a , b , d están disponibles aquí.

VS2022 ya no reconoce las propiedades asignadas fuera del contexto de creación

¿Hay alguna configuración o paquete conocido para modificar/corregir este nuevo comportamiento?

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

0

Esto sucede porque en javascript no tiene declaraciones de tipo y dado que solo está declarando dos propiedades, se supone que su objeto contiene solo esas. Puede evitar esto agregando comentarios, sin cambios en el código/lógica, pero intellisense los reconocerá

 /** @type { {a: number, b: number, c?: number} } */ const obj = { a: 1, b: 2 }; // Now you can access every property your object has (not only the declared) and intellisense will recognize those declared

imagen

De la misma manera se puede declarar:

 /** @type {string} */ const num = 12; // Now intellisense will recognize it as a string even if it's a number // and because in JS it's not an error to assign a number or a string to // a variable it will throw an error at runtime if you try thing like // num.trim();

Asegúrate de lo que estás declarando

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