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

構文

str.length

説明

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

ECMASCript 2016 (ed. 7) established a maximum length of 2^53 - 1 elements. Previously, no maximum length was specified. 

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

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

基本的な使用法

var x = 'Mozilla';
var empty = '';

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

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

Assigning to length

var myString = "bluebells";

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

仕様書

仕様書 ステータス コメント
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
基本対応Chrome 完全対応 ありEdge 完全対応 ありFirefox 完全対応 1IE 完全対応 ありOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 ありnodejs 完全対応 あり

凡例

完全対応  
完全対応

関連情報

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

タグ: 
このページの貢献者: woodmix, YuichiNukiyama, ssw, teoli, ethertank, Mgjbot, Potappo
最終更新者: woodmix,