Limitaciones

La mayoría de implementaciones de JavaScript están libremente basadas en un estándar de script de núcleo llamado ECMA. Más allá del estándar, hay un conjunto común de construcciones de lenguaje no estándar soportadas por la mayoría de implementaciones y otras funciones/construcciones que sólo están soportadas por un subconjunto de las implementaciones de JavaScript.

Unos cuantos kits de herramientas de JavaScript públicos así como la utilización popular general de JavaScript explotan muchos de estos aspectos de lenguaje no estándar haciendo muy difícil un modelado puro del lenguaje (cuando no imposible). Una solución es un motor de inferencia complejo que analiza el Javascript para ayudar a construir un modelo preciso. Desafortunadamente, la inferencia no es siempre perfecta. Por estas razones, alguna inferencia de clase JavaScript puede ser imperfecta y marcar como erróneos campos/métodos/tipos que no lo son realmente. Por supuesto, estamos trabajando en esto y planeamos trabajar con más casos grabados conforme avancemos.