length プロパティは String オブジェクトの文字列長を UTF-16 コード単位で表します。

構文

str.length

説明

このプロパティは、文字列内のコード単位の数を返します。UTF-16(JavaScript によって使われるフォーマット)は、基本的な文字を表すためには 1 つの 16 ビットを使用しますが、一般的に使用されない文字を表すために 2 つの 16 ビットを使用する場合があるので、実際の文字数と一致していない可能性があります。

ECMAScript 2016 (ed. 7) では最大長が 2^53 - 1 要素と制定されました。それ以前は最大長は定まっていませんでした。 Firefox 内にある文字列の最大長は 2**30 - 2 (~1GB) です。Firefox 65 以前での最大長は 2**28 - 1 (~256MB) でした。

空の文字列の場合、length は 0 になります。

String.length 静的プロパティは 1 を返します。

基本的な使い方

let x = 'Mozilla';
let empty = '';

console.log(x + ' の文字数:' + x.length + ' 文字(コード個数)' );
/* "Mozilla の文字数:7 文字(コード個数)" */

console.log('空文字の文字数:' + empty.length + ' 文字' );
/* "空文字の文字数:0 文字" */

length プロパティへの代入

let myString = "bluebells";

// Attempting to assign a value to a string's .length property has no observable effect. 
myString.length = 4;
console.log(myString);
// expected output: "bluebells"
console.log(myString.length);
// expected output: 9

仕様書

仕様書 ステータス コメント
ECMAScript 1st Edition (ECMA-262) 標準 最初の定義。JavaScript 1.0 で実装。
ECMAScript 5.1 (ECMA-262)
String.prototype.length の定義
標準  
ECMAScript 2015 (6th Edition, ECMA-262)
String.prototype.length の定義
標準  
ECMAScript Latest Draft (ECMA-262)
String.prototype.length の定義
ドラフト  

ブラウザーとの互換性

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
lengthChrome 完全対応 ありEdge 完全対応 12Firefox 完全対応 1IE 完全対応 ありOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 ありnodejs 完全対応 あり

凡例

完全対応  
完全対応

関連情報

ドキュメントのタグと貢献者

最終更新者: mdnwebdocs-bot,