Moteur JavaScript Rhino
A partir de la version 8.5, ThingWorx utilise la version 1.7.11 du moteur Rhino.JavaScript. Rhino inclut toutes les fonctions de JavaScript 1.7 et offre une prise en charge partielle des fonctions de JavaScript 1.8. Il fournit également les fonctionnalités/outils généraux suivants :
Scripting direct de Java
Shell JavaScript
Compilateur JavaScript
Débogueur JavaScript
JavaScript 1.7 est la version par défaut utilisée dans le shell Rhino. Le langage JavaScript est régi et documenté par la norme ECMAScript ECMA-262 en tant que langage de programmation générique multiplateforme. Les versions 1.3 et ultérieures de Rhino sont conformes à l'édition 3 de cette norme. Les versions 1.6 et ultérieures de Rhino implémentent la norme ECMAScript pour XML ECMA-357 (E4X). Pour plus d'informations sur le moteur Rhino, accéder à ses notes de mise à jour et comprendre sa mise en oeuvre, consultez le site https://developer.mozilla.org.
* 
Rhino ne prend pas en charge les arguments supplémentaires dans le service JavaScript localeCompare dans ThingWorx. Il vérifie uniquement le premier argument du service car localeCompare n'est pas une fonction standard de la norme ECMAScript ECMA-262.
Prototypes globaux intégrés verrouillés
En général, il est déconseillé de modifier les objets prototypes intégrés tels que Array.prototype ou String.prototype. Etant donné que ces objets résident dans le périmètre de prototypes partagé utilisé pour toutes les exécutions de script, leur modification peut avoir de sérieuses conséquences. C'est la raison pour laquelle à compter de la version 8.5, les objets prototypes sont verrouillés sur ThingWorx Platform.