regex = /*ここに何らかの正規表現*/; regex.test("あいうえお"); // -> true regex.test("あぁ"); // -> true regex.test("aiueo"); // -> false regex.test("あいueo"); // -> false regex.test("あい うえお"); // -> false

regex = /*ここに何らかの正規表現*/; regex.test("あいうえお"); // -> true regex.test("あぁ"); // -> true regex.test("aiueo"); // -> false regex.test("あいueo"); // -> false regex.test("あい うえお"); // -> false
はじめに JavaScript において文字数を String の length で取得すると、期待した値が得られないことがある。この記事では、実際に String の length を使うことによって発生した Prettier のバグを紹介する。 前提 JavaScript の String には length というプロパティが存在する。このlengthプロパティは文字列の文字数を表すものではない。 実際には、文字列中に含まれるUTF-16のコードユニットの数を返す。つまり、ASCIIをはじめとしたBMPに含まれるものであれば我々の期待する文字数が返ってくるが、一部の漢字やemojiなどについてはそうはならない。 たとえば、漢字の𠮟(U+20B9F)はサロゲートペアであり、2つのコードユニットで表される。そのため、length は 2 になる。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く