Hintergrund
Vor Simplifier Release 8 EHP 1 wurde nur ECMAScript 5 in serverseitigen Business Objekten unterstützt. Zusätzlich zu ECMAScript 5 gab es jedoch einige nicht standardisierte unterstützte Funktionen.
Mit Release 8 EHP 1 haben wir mit der Unterstützung für ECMAScript 2022 begonnen, die viel mehr und mehr moderne Funktionen für Simplifier SBOs mit sich bringt. Mit dieser Umstellung wurde die Unterstützung für diese nicht standardisierten Funktionen jedoch eingestellt.
Wenn Sie einige dieser Features verwendet haben, müssen Sie den Code neu schreiben. 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). Zum Beispiel.
|
oder
|
Non-standard features, which can be replaced
Bedingte catch-Klauseln
Alt | ECMAScript-konforme Alternative |
try { func() } |
try { func() } |
Ausdrücke für Funktionsabschlüsse
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 |
|
|
Binden 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 => { |
Fehler-Eigenschaften
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");