「Node.js で絵文字を使う時の注意点 - Qiita」にコメントしたのですが、大雑把すぎて説明になっていない気がするので、詳細に解説したいと思います。 TL;DR 絵文字のようなサロゲートペアを含む文字列をJavaScriptで扱おうとすると面倒。 ↑ s.length、s[0] とか s.split('') とかがおかしくなる。 1文字ずつに分割したいときは Array.from が使える。 なぜなら、Array.from は内部的に for of 文のようなことをしていて、文字列に対する for of はサロゲートペアを考慮するから。 問題点と解決まで 絵文字を含む文字、つまりUTF-16のサロゲートペアを含むような文字を一文字ずつに分割したい場合、JavaScriptでは問題が生じます。つまり、どういうことかというと、 const kira = 'キラッ🌠' // 見ため上は