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