サロゲートペア文字列(例えば👨👩👧👧のような絵文字)を文字数カウントにすると、だいたい1文字以上の扱いになります。 (何文字になるかは、カウント方法で変わってくる)
そこで、簡単に1文字扱いで取得できる方法がないか調べました。 JavaScriptのIntlオブジェクトを使えば、1文字扱いで戻ってくる!! ちょっと感動した。
const segmenter = new Intl.Segmenter("ja", { granularity: "grapheme" }); const text = ""; // 文字数カウントしたい文章 console.log("textLenght: " + [...segmenter.segment(text)].length);
ただ、主要ブラウザのうちではFirefoxが非対応なので、素直には使えなさそうです。