JavaScript | 文字列の長さを取得する(length プロパティ)

javascrpit JavaScript
スポンサーリンク

主な内容の要点

1. lengthプロパティで文字列の長さを取得できる

文字列オブジェクト(String)の length プロパティを参照することで、その文字列に含まれる 文字コード単位 の個数を取得できる。

書式:

文字列.length
JavaScript

例:

let foods = "Orange";
console.log(foods.length);  // → 6

let address = "東京都";
console.log(address.length);  // → 3
JavaScript

2. UTF-16 とサロゲートペアの注意点

JavaScript は内部的に文字を UTF-16 で扱っており、通常は 1 文字 = 1 コードユニット(1 “length 単位”)で表されるが、サロゲートペア(1 文字を 2 つのコードユニットで表す文字)がある。
そのため、サロゲートペアで表される文字が文字列に含まれる場合、length プロパティは “2” を返すことがある。

例:

let word = "●";  // ● はサロゲートペアで表される例示文字
console.log(word.length);  // → 2
JavaScript

3. 実用上の注意

  • 標準的な英数字や日本語の多く(基本多言語文字)は、1 文字あたり length = 1 として扱われる。
  • ただし、絵文字や一部の特殊文字・記号などで、サロゲートペアによって length = 2 になる場合があるため、「見た目の文字数(グリフ数)」と length の値がずれる可能性がある。
  • もし “ユーザーが見る文字数” に沿った処理(例:文字制限カウント)をしたい場合は、サロゲートペア対応を考慮する方法が別途必要。
タイトルとURLをコピーしました