文字列の長さを取得する(length)

String オブジェクトの length プロパティは、文字列の文字の個数を返します。ただし文字によっては 1 文字で 2 を返す文字があるので注意が必要です。ここでは String オブジェクトの length プロパティの使い方について解説します。

(Last modified: )

文字列の長さを取得する(length)

String オブジェクトの length プロパティは、対象の文字列の文字の数を返します。書式は次のとおりです。

文字列.length

JavaScript では内部的に文字を UTF-16 の文字コードで保管しています。多くの文字は 1 文字につき 1 つの文字コードで表されます。 length プロパティは文字列に含まれるひとつひとつの文字の文字コードの数の合計を返します。結果的に文字列に含まれる文字の数が返されます。

次のサンプルをみてください。

let foods = "Orange";
let address = "東京都";

console.log(foods.length);
>> 6

console.log(address.length);
>> 3

length プロパティを参照することで文字数を取得することができました。(全角文字であっても半角英数の文字であっても Unicode では違いはありません)。

文字列の長さを取得する(length)(1)

サロゲートペアのlengthプロパティの値

なお JavaScript では内部的に文字を UTF-16 で保管しているため、サロゲートペアについて考慮する必要があります。サロゲートペアとは 1 つの文字を 2 つの文字コードで表す文字のことで、サロゲートペアで表される文字については length プロパティが 2 を返します。

let word = "●";

console.log(word.length);
>> 2

※ ● のところには次の文字が入ります。

サロゲートペアのlengthプロパティの値(1)

サロゲートペアについては「JavaScriptにおけるサロゲートペアとは」で解説しています。サロゲートペアで表される文字が含まれる場合には、ご注意ください。

-- --

String オブジェクトの length プロパティの使い方について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。