Hintergrund
Vor Simplifier Release 8 EHP 1 wurde innerhalb von serverseitigen Business Objekten nur ECMAScript 5 unterstützt. Zusätzlich zu ECMAScript 5 gab es jedoch einige nicht standardisierte unterstützte Funktionen.
Mit Release 8 EHP 1 haben wir die Unterstützung für ECMAScript 2022 gestartet, was viel mehr und modernere Funktionen in Simplifier SBOs bringt. Mit dieser Umstellung wurde jedoch die Unterstützung für diese nicht standardisierten Funktionen eingestellt.
Wenn Sie einige dieser Funktionen verwendet haben, müssen Sie Ihren Code umschreiben. Für die meisten von ihnen gibt es mehrere Möglichkeiten, eine Alternative zu implementieren. Das gegebene Beispiel ist nur eine dieser vielen Möglichkeiten.
Falsche Verwendung der Simplifier API, die ersetzt werden kann
Nicht-stringifizierte Werte für String-Werte
| Alt | ECMAScript-konforme Alternative |
|
Alle Log-Funktionen (Debug, Error, Info, Critical). Z.B.
|
oder
|
Non-standard features, which can be replaced
Bedingte Catch-Klauseln
| Alt | ECMAScript-konforme Alternative |
try { func() } |
try { func() } |
Funktionsabschlussausdrücke
| Alt | ECMAScript-konforme Alternative |
function square(x) x*x |
const square = x => x * x; |
für jeden
| Alt | ECMAScript-konforme Alternative |
for each (a in arr) { |
for (let a of arr) { |
Nicht gefundene Handler
| Alt | ECMAScript-konforme Alternative |
|
|
Bindung von Objekteigenschaften
| Alt | ECMAScript-konforme Alternative |
Object.bindProperties(obj, obj2); |
Object.assign(obj, obj2);Eine weitere Alternative mit mehr Kontrolle: Object.keys(obj2).forEach(key => { |
Fehlereigenschaften
| Alt | ECMAScript-konforme Alternative |
try { ... } |
try { ... } |
Nicht standardmäßige Funktionen, ohne Ersatz
Es gab einige sehr spezifische Funktionen, die ihre eigenen Probleme hatten und von deren Verwendung immer abgeraten wurde. Für diese Funktionen bieten wir keine Alternative an. Dazu gehören:
Zugriff auf Java-Klassen, z. B. Java-Arrays
var JArray = Java.type("int[]");
var arr = new JArray(10);
oder
var System = Java.type("java.lang.System")
Laden externer Ressourcen
load("http://www.example.com/t.js");











