String.toWellFormed() - заміна самотніх сурогатів на символ �
srt.toWellFormed();
toWellFormed() метод повертає новий рядок, де всі "самотні сурогати" замінюються на символом � - Unicode U+FFFD.
Рядок закодований у UTF-16 містить сурогатні пари. Так як деякі символи у UTF-16, наприклад емодзі або символи з рідкісних алфавітів, займають два кодові символи (сурогатна пара). Якщо рядок містить некоректну сурогатну пару — він вважається неправильно сформованим рядком - що може виникнути помилка при роботі з таким рядком у методі encodeURI() i encodeURIComponent().
Для перевірки чи містить рядок одинокі сурогатні пари використовується метод String.isWellFormed().
Метод String.toWellFormed() входить у специфікацію ES2024.
let s = "\uD83D";
console.log( s.toWellFormed() ); // "�" (U+FFFD)
var text='\ud834\udd1e - музика';
var text2='\udd1e - музика';
console.log(text); // '𝄞 - музика'
console.log( text2.toWellFormed() ); // '� - музика'