Hallo alle,
warum ergibt der Aufruf von compare in den beiden Vergleichspaaren jeweils den gleichen Wert? Bei einem case-sensitive Vergleich hätte ich erwartet, dass bei einem Wechsel der Schreibung des Anfangsbuchstabens die Reihenfolge wechselt. Wo ist sonst der Sinn eines case-sensitive Vergleichs?
const caseCollate = Intl.Collator("de-DE", { sensitivity: "case" });
console.log(caseCollate.compare("roh", "Rot")); // -1 (erwarte 1)
console.log(caseCollate.compare("Roh", "rot")); // -1
console.log(caseCollate.compare("rot", "Roh")); // 1
console.log(caseCollate.compare("Rot", "roh")); // 1 (erwarte -1)
Der erwartete Vorzeichenwechsel ergibt sich nur, wenn ich "roh" mit "Roh" vergleiche, d.h. der String case-insensitive gleich ist. Ist das irgendwo spezifiziert? Ich finde nichts, und die Texte bei ECMA-402 oder MDN geben das auch nicht her. Meine ich.
Rolf
--
sumpsi - posui - obstruxi
sumpsi - posui - obstruxi