主な内容の要点
1. lengthプロパティで文字列の長さを取得できる
文字列オブジェクト(String)の length プロパティを参照することで、その文字列に含まれる 文字コード単位 の個数を取得できる。
書式:
文字列.length
JavaScript例:
let foods = "Orange";
console.log(foods.length); // → 6
let address = "東京都";
console.log(address.length); // → 3
JavaScript2. UTF-16 とサロゲートペアの注意点
JavaScript は内部的に文字を UTF-16 で扱っており、通常は 1 文字 = 1 コードユニット(1 “length 単位”)で表されるが、サロゲートペア(1 文字を 2 つのコードユニットで表す文字)がある。
そのため、サロゲートペアで表される文字が文字列に含まれる場合、length プロパティは “2” を返すことがある。
例:
let word = "●"; // ● はサロゲートペアで表される例示文字
console.log(word.length); // → 2
JavaScript3. 実用上の注意
- 標準的な英数字や日本語の多く(基本多言語文字)は、1 文字あたり
length = 1として扱われる。 - ただし、絵文字や一部の特殊文字・記号などで、サロゲートペアによって
length = 2になる場合があるため、「見た目の文字数(グリフ数)」とlengthの値がずれる可能性がある。 - もし “ユーザーが見る文字数” に沿った処理(例:文字制限カウント)をしたい場合は、サロゲートペア対応を考慮する方法が別途必要。

