String オブジェクトは文字の並びを表したり操作したりするために使用されます。
解説
文字列は、テキスト形式で表現可能なデータを保持するのに便利です。最もよく使われる操作として、文字列の長さをチェックする length プロパティ、 文字列に対する + および += 演算子を用いた文字列の連結、文字列の中の部分文字列の存在や位置をチェックする indexOf() メソッド、部分文字列を取り出す substring() メソッドが挙げられます。
文字列の生成
文字列は文字列リテラルからプリミティブとして、または String/String コンストラクターを使用して文字列として生成することができます。
const string1 = "文字列プリミティブ"; const string2 = 'これも文字列プリミティブ'; const string3 = `別な文字列プリミティブ`;
const string4 = new String("文字列オブジェクト");
文字列プリミティブと文字列オブジェクトは、ほとんどの場合は交換して使用することができます。下記の「文字列プリミティブと String オブジェクト」を参照してください。
文字列リテラルは単一引用符または二重引用符を使用して指定することができ、どちらでも同様に扱われますが、逆引用符文字 ` を使用することもできます。最後の形はテンプレートリテラルを指定し、この形式では式を補完することができます。
文字へのアクセス
文字列内の個々の文字へのアクセス方法には、二通りの方法があります。そのひとつは charAt() メソッドです。
return 'ねこ'.charAt(1) // "こ" が返される
そしてもうひとつは、文字列を配列のようなオブジェクトとして扱い、数値の添字を用いる方法です。 (ECMAScript 5 で導入)
return 'ねこ'[1] // "こ" が返される。
ブラケット記法を使用した文字アクセスでは、これらのプロパティに値を設定したり削除したりすることはできません。関連したプロパティを書き込んだり設定したりすることもできません。 (より詳細な情報は Object.defineProperty() を参照してください。)
文字列の比較
C 言語では 文字列の比較の為に strcmp() 関数を用います。 JavaScript では単純に 小なり / 大なり演算子を用います。
let a = 'a'
let b = 'b'
if (a < b) { // true
console.log(a + ' は ' + b + ' より小さい')
} else if (a > b) {
console.log(a + ' は ' + b + ' より大きい')
} else {
console.log(a + ' と ' + b + ' は等しい')
}
String インスタンスから継承される localeCompare() メソッドを使用して同等の結果を得ることもできます。
なお、 a == b は a と b の文字列が等しいかどうかを、通常の大文字小文字を区別して比較します。大文字小文字に関係なく比較したい場合は、次のように関数を使用してください。
function isEqual(str1, str2)
{
return str1.toUpperCase() === str2.toUpperCase()
} // isEqual
この関数では、特定の UTF-8 文字の変換に問題があるため、小文字の代わりに大文字を使用します。
文字列プリミティブと String オブジェクト
JavaScript では、プリミティブ値の文字列と String オブジェクトの文字列は区別されることに注意してください。 (Boolean や Numbers にも同じことが言えます。)
文字列リテラル (二重引用符または単一引用符で示されます)、および String 関数をコンストラクター以外の場面で (すなわち new キーワードを使わずに) 呼び出した場合はプリミティブの文字列になります。 JavaScript では、必要に応じてプリミティブの文字列が自動的に String オブジェクトに変換されるので、プリミティブの文字列に対して String オブジェクトのメソッドを使用することができます。プリミティブの文字列に対して、メソッドの呼び出しやプロパティの参照が行われようとした場合、 JavaScript は自動的にプリミティブの文字列をオブジェクトでラップし、メソッドを呼び出したりプロパティの参照を行ったりします。
let s_prim = 'foo' let s_obj = new String(s_prim) console.log(typeof s_prim) // Logs "string" console.log(typeof s_obj) // Logs "object"
プリミティブの文字列と String オブジェクトは eval() を使用すると異なる結果となります。 eval に渡されたプリミティブは、ソースコードとして扱われます。 String オブジェクトは他のオブジェクトと同様に、オブジェクトとしてそのままの文字列を返します。
let s1 = '2 + 2' // 文字列プリミティブを生成
var s2 = new String('2 + 2') // String オブジェクトを生成
console.log(eval(s1)) // 数値の 4 を返す
console.log(eval(s2)) // 文字列の "2 + 2" を返す
こういった理由から、プリミティブの文字列を期待して実装されたコードは String オブジェクトでうまく動作しないことがあります。しかし、一般的にはこれらの違いを考慮しなければならないことはあまりありません。
なお、 String オブジェクトは valueOf() メソッドを用いることで、プリミティブの文字列に変換することができます。
console.log(eval(s2.valueOf())) // 数値の 4 を返す
エスケープ表記
通常の文字列とは異なる特殊な文字を表示するためには、エスケープ表記を使用します。
| コード | 出力 |
|---|---|
\XXX( XXX = 1~3桁の8進数、 0~377 の範囲) |
ISO-8859-1 の文字または U+0000 から U+00FF の間の Unicode コードポイントです。 |
\' |
単一引用符 |
\" |
二重引用符 |
\\ |
バックスラッシュ (\文字) |
\n |
改行 |
\r |
復帰 |
\v |
垂直タブ |
\t |
水平タブ |
\b |
バックスペース |
\f |
ページ送り |
\uXXXX (XXXX = 4桁の16進数、 0x0000~0xFFFF の範囲) |
UTF-16 のコード単位 / U+0000 から U+FFFF の間の Unicode コードポイント |
\u{X} ... \u{XXXXXX}( X…XXXXXX = 1~6桁の16進数、 0x0–0x10FFFF の範囲) |
UTF-32 のコード単位 / U+0000 から U+10FFFF の間の Unicode コードポイント |
\xXX( XX = 2桁の16進数、 0x00~0xFF の範囲) |
ISO-8859-1 の文字 / U+0000 から U+00FF の間の Unicode コードポイント |
長い文字列リテラル
時には、コードに非常に長い文字列が含まれる場合があります。行を延々と長くしたり、エディターに任せて折り返したりするよりも、実際の文字列の内容に影響を与えずに文字列をソースコード内で複数行に分割したいことがあります。これを行うには2つの方法があります。
方法 1
+演算子を使用して、次のように複数の文字列を追加することができます。
let longString = "This is a very long string which needs " +
"to wrap across multiple lines because " +
"otherwise my code is unreadable."
方法 2
各行の末尾にバックスラッシュ文字 (\) を使用して、文字列が次の行に続くことを示すことができます。バックスラッシュの後に、 (改行を除いて) 空白やその他の文字を置いたり、インデントを置いたりしていないか確認してください。さもないと動作しません。
この形式は以下のようになります。
let longString = "This is a very long string which needs \ to wrap across multiple lines because \ otherwise my code is unreadable."
これらの結果はともに同じ文字列が生成されます。
コンストラクター
String()- 新しい
Stringオブジェクトを生成するために使用します。コンストラクターではなく関数として呼び出されたときは型変換を行うので、普通はより有用です。
静的メソッド
String.fromCharCode(num1 [, ...[, numN]])- 指定された Unicode 値の列から生成した文字列を返します。
String.fromCodePoint(num1 [, ...[, numN)- 指定された Unicode コードポイントの列から生成した文字列を返します。
String.raw()- 生のテンプレート文字列から生成した文字列を返します。
インスタンスプロパティ
String.prototype.length- 文字列の
lengthを反映します。読み取り専用です。
インスタンスメソッド
String.prototype.charAt(index)indexで指定された位置の文字 (UTF-16 コード 1 つから成ります) を返します。String.prototype.charCodeAt(index)indexで与えられた位置の文字の UTF-16 の値を示す数を返します。String.prototype.codePointAt(pos)posで指定された位置から始まる UTF-16 エンコードされた際のコードポイントの、コードポイントの値である正の整数を返します。String.prototype.concat(str [, ...strN ])- 2 つ (以上) の文字列を連結し、新しい文字列を返します。
String.prototype.includes(searchString [, position])- 文字列中に
searchStringが含まれているかを返します。 String.prototype.endsWith(searchString [, length])- 文字列の末尾に指定された文字列
searchStringが含まれているかを返します。 String.prototype.indexOf(searchValue [, fromIndex])- 呼び出す
Stringオブジェクト中で、searchValueが最初に現れる位置を返します。見つからなかった場合は-1を返します。 String.prototype.lastIndexOf(searchValue [, fromIndex])- 呼び出す
Stringオブジェクト中で、searchValueが最後に現れる位置を返します。見つからない場合は-1を返します。 String.prototype.localeCompare(compareString [, locales [, options]])- 参照文字列
compareStringが、並べ替え順において、与えられた文字列の前になるか後になるか、あるいは、同じかどうかを示す数値を返します。 String.prototype.match(regexp)- 文字列に対して正規表現
regexpを一致させるために使用されます。 String.prototype.matchAll(regexp)regexpが一致するものすべてのイテレーターを返します。String.prototype.normalize([form])- 呼び出された文字列の値の Unicode 正規化形式を返します。
String.prototype.padEnd(targetLength [, padString])- 現在の文字列の末尾から指定された文字列で埋めた、長さ
targetLength文字の新たな文字列を返します。 String.prototype.padStart(targetLength [, padString])- 現在の文字列の先頭から指定した文字列で埋めた、長さ
targetLength文字の新たな文字列を作成します。 String.prototype.repeat(count)- オブジェクトの要素を
count回繰り返した文字列を返します。 String.prototype.replace(searchFor, replaceWith)searchForが現れたところをreplaceWithで置換するために使用します。searchForは文字列または正規表現であり、replaceWithは文字列または関数です。String.prototype.replaceAll(searchFor, replaceWith)searchForが現れたところすべてをreplaceWithで置換するために使用します。searchForは文字列または正規表現であり、replaceWithは文字列または関数です。String.prototype.search(regexp)- 正規表現
regexpと呼び出された文字列が一致するところを検索します。 String.prototype.slice(beginIndex[, endIndex])- 文字列の一区間を取り出し、新しい文字列を返します。
String.prototype.split([sep [, limit] ])- 呼び出した文字列を、部分文字列
sepが現れるところで分割し、文字列の配列を生成して返します。 String.prototype.startsWith(searchString [, length])- 呼び出した文字列が文字列
searchStringで開始されているかを判断します。 String.prototype.substr()- 文字列において、指定された位置から指定された文字数の文字を返します。
String.prototype.substring(indexStart [, indexEnd])- 呼び出した文字列の指定された位置以降 (または区間) にある文字が入った新しい文字列を返します。
String.prototype.toLocaleLowerCase( [locale, ...locales])-
文字列内の文字が、現在のロケールに沿って小文字に変換されます。
ほとんどの言語では、これは
toLowerCase()と同じものを返します。 String.prototype.toLocaleUpperCase( [locale, ...locales])-
文字列内の文字が、現在のロケールに沿って大文字に変換されます。
ほとんどの言語では、これは
toUpperCase()と同じものを返します。 String.prototype.toLowerCase()- 小文字に変換された文字列の値を呼び出して返します。
String.prototype.toString()- 指定されたオブジェクトの文字列を返します。
Object.prototype.toString()メソッドを上書きします。 String.prototype.toUpperCase()- 大文字に変換された文字列の値を呼び出して返します。
String.prototype.trim()- 文字列の先頭と末尾にある空白を削除します。 ECMAScript 5 標準の一部です。
String.prototype.trimStart()- 文字列の先頭にある空白を削除します。
String.prototype.trimEnd()- 文字列の末尾にある空白を削除します。
String.prototype.valueOf()- 指定されたオブジェクトのプリミティブ値を返します。
Object.prototype.valueOf()メソッドを上書きします。 String.prototype.@@iterator()- 文字列値のコードポイントを反復処理し、文字列値として各コードポイントを返す、新しい
Iteratorオブジェクトを返します。
HTML ラッパーメソッド
非推奨です。これらのメソッドは避けてください。
以下のメソッドは、それぞれ、特定の HTML タグでラップされた文字列のコピーを返します。
String.prototype.anchor()<a name="name">(ハイパーテキストのターゲット)String.prototype.big()<big>String.prototype.blink()<blink>String.prototype.bold()<b>String.prototype.fixed()<tt>String.prototype.fontcolor()<font color="color">String.prototype.fontsize()<font size="size">String.prototype.italics()<i>String.prototype.link()<a href="url">(URL へのリンク)String.prototype.small()<small>String.prototype.strike()<strike>String.prototype.sub()<sub>String.prototype.sup()<sup>
例
文字列変換
String を使用すると、 toString() よりも信頼性の高い代替手段となり、 null, undefined, symbols に対して使用することもできます。
let outputStrings = []
for (let i = 0, n = inputValues.length; i < n; ++i) {
outputStrings.push(String(inputValues[i]));
}
仕様書
| 仕様書 |
|---|
| ECMAScript (ECMA-262) String の定義 |
ブラウザーの互換性
| デスクトップ | モバイル | サーバー | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
String | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 3 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
String() constructor | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 3 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
anchor | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox
完全対応
1
| IE 未対応 なし | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
big | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 3 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
blink | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 3 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
bold | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 3 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
charAt | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 3 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
charCodeAt | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 4 | Opera 完全対応 4 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
codePointAt | Chrome 完全対応 41 | Edge 完全対応 12 | Firefox 完全対応 29 | IE 未対応 なし | Opera 完全対応 28 | Safari 完全対応 10 | WebView Android 完全対応 41 | Chrome Android 完全対応 41 | Firefox Android 完全対応 29 | Opera Android 完全対応 28 | Safari iOS 完全対応 10 | Samsung Internet Android 完全対応 4.0 | nodejs
完全対応
4.0.0
|
concat | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 4 | Opera 完全対応 4 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
endsWith | Chrome 完全対応 41 | Edge 完全対応 12 | Firefox 完全対応 17 | IE 未対応 なし | Opera 完全対応 28 | Safari 完全対応 9 | WebView Android 完全対応 ≤37 | Chrome Android 完全対応 36 | Firefox Android 完全対応 17 | Opera Android 完全対応 24 | Safari iOS 完全対応 9 | Samsung Internet Android 完全対応 3.0 | nodejs
完全対応
4.0.0
|
fixed | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 3 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
fontcolor | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 3 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
fontsize | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 3 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
fromCharCode | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 4 | Opera 完全対応 4 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
fromCodePoint | Chrome 完全対応 41 | Edge 完全対応 12 | Firefox 完全対応 29 | IE 未対応 なし | Opera 完全対応 28 | Safari 完全対応 10 | WebView Android 完全対応 41 | Chrome Android 完全対応 41 | Firefox Android 完全対応 29 | Opera Android 完全対応 28 | Safari iOS 完全対応 10 | Samsung Internet Android 完全対応 4.0 | nodejs
完全対応
4.0.0
|
includes | Chrome 完全対応 41 | Edge 完全対応 12 | Firefox
完全対応
40
| IE 未対応 なし | Opera 完全対応 28 | Safari 完全対応 9 | WebView Android 完全対応 41 | Chrome Android 完全対応 41 | Firefox Android
完全対応
40
| Opera Android 完全対応 28 | Safari iOS 完全対応 9 | Samsung Internet Android 完全対応 4.0 | nodejs 完全対応 4.0.0 |
indexOf | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 3 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
italics | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 3 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
lastIndexOf | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 6 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
length | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 3 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
link | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 3 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
localeCompare | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 5.5 | Opera 完全対応 7 | Safari 完全対応 3 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
match | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 4 | Opera 完全対応 4 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
matchAll | Chrome 完全対応 73 | Edge 完全対応 79 | Firefox 完全対応 67 | IE 未対応 なし | Opera 完全対応 60 | Safari 完全対応 13 | WebView Android 完全対応 73 | Chrome Android 完全対応 73 | Firefox Android 完全対応 67 | Opera Android 完全対応 52 | Safari iOS 完全対応 13 | Samsung Internet Android 未対応 なし | nodejs 完全対応 12.0.0 |
normalize | Chrome 完全対応 34 | Edge 完全対応 12 | Firefox 完全対応 31 | IE 未対応 なし | Opera 完全対応 21 | Safari 完全対応 10 | WebView Android 未対応 なし | Chrome Android 完全対応 34 | Firefox Android 完全対応 31 | Opera Android 完全対応 21 | Safari iOS 完全対応 10 | Samsung Internet Android 完全対応 2.0 | nodejs 完全対応 0.12 |
padEnd | Chrome 完全対応 57 | Edge 完全対応 15 | Firefox 完全対応 48 | IE 未対応 なし | Opera 完全対応 44 | Safari 完全対応 10 | WebView Android 完全対応 57 | Chrome Android 完全対応 57 | Firefox Android 完全対応 48 | Opera Android 完全対応 43 | Safari iOS 完全対応 10 | Samsung Internet Android 完全対応 7.0 | nodejs
完全対応
8.0.0
|
padStart | Chrome 完全対応 57 | Edge 完全対応 15 | Firefox 完全対応 48 | IE 未対応 なし | Opera 完全対応 44 | Safari 完全対応 10 | WebView Android 完全対応 57 | Chrome Android 完全対応 57 | Firefox Android 完全対応 48 | Opera Android 完全対応 43 | Safari iOS 完全対応 10 | Samsung Internet Android 完全対応 7.0 | nodejs
完全対応
8.0.0
|
raw | Chrome 完全対応 41 | Edge 完全対応 12 | Firefox 完全対応 34 | IE 未対応 なし | Opera 未対応 なし | Safari 完全対応 10 | WebView Android 未対応 なし | Chrome Android 完全対応 41 | Firefox Android 完全対応 34 | Opera Android 未対応 なし | Safari iOS 完全対応 10 | Samsung Internet Android 完全対応 4.0 | nodejs 完全対応 4.0.0 |
repeat | Chrome 完全対応 41 | Edge 完全対応 12 | Firefox 完全対応 24 | IE 未対応 なし | Opera 完全対応 28 | Safari 完全対応 9 | WebView Android 未対応 なし | Chrome Android 完全対応 36 | Firefox Android 完全対応 24 | Opera Android 完全対応 28 | Safari iOS 完全対応 9 | Samsung Internet Android 完全対応 3.0 | nodejs
完全対応
4.0.0
|
replace | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 4 | Opera 完全対応 4 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
replaceAll | Chrome 完全対応 85 | Edge 完全対応 85 | Firefox 完全対応 77 | IE 未対応 なし | Opera 完全対応 71 | Safari 完全対応 13.1 | WebView Android 完全対応 85 | Chrome Android 完全対応 85 | Firefox Android 完全対応 79 | Opera Android 未対応 なし | Safari iOS 完全対応 13.4 | Samsung Internet Android 未対応 なし | nodejs 未対応 なし |
search | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 4 | Opera 完全対応 4 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
slice | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 4 | Opera 完全対応 4 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
small | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 3 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
split | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 4 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
startsWith | Chrome 完全対応 41 | Edge 完全対応 12 | Firefox 完全対応 17 | IE 未対応 なし | Opera 完全対応 28 | Safari 完全対応 9 | WebView Android 完全対応 ≤37 | Chrome Android 完全対応 36 | Firefox Android 完全対応 17 | Opera Android 完全対応 24 | Safari iOS 完全対応 9 | Samsung Internet Android 完全対応 3.0 | nodejs
完全対応
4.0.0
|
strike | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 3 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
sub | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 3 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
substr | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 4 | Opera 完全対応 4 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
substring | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 3 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
sup | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 3 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
toLocaleLowerCase | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 5.5 | Opera 完全対応 4 | Safari 完全対応 1.3 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
toLocaleUpperCase | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 5.5 | Opera 完全対応 4 | Safari 完全対応 1.3 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
toLowerCase | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 3 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
toSource | Chrome 未対応 なし | Edge 未対応 なし | Firefox
未対応
1 — 74
| IE 未対応 なし | Opera 未対応 なし | Safari 未対応 なし | WebView Android 未対応 なし | Chrome Android 未対応 なし | Firefox Android 完全対応 4 | Opera Android 未対応 なし | Safari iOS 未対応 なし | Samsung Internet Android 未対応 なし | nodejs 未対応 なし |
toString | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 3 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
toUpperCase | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 3 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
trim | Chrome 完全対応 4 | Edge 完全対応 12 | Firefox 完全対応 3.5 | IE 完全対応 9 | Opera 完全対応 10.5 | Safari 完全対応 5 | WebView Android 完全対応 ≤37 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 11 | Safari iOS 完全対応 5 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
trimEnd | Chrome
完全対応
66
| Edge
完全対応
12
| Firefox
完全対応
61
| IE 未対応 なし | Opera
完全対応
53
| Safari 完全対応 12 | WebView Android
完全対応
66
| Chrome Android
完全対応
66
| Firefox Android
完全対応
61
| Opera Android
完全対応
47
| Safari iOS 完全対応 12 | Samsung Internet Android
完全対応
9.0
| nodejs
完全対応
10.0.0
|
trimStart | Chrome
完全対応
66
| Edge
完全対応
12
| Firefox
完全対応
61
| IE 未対応 なし | Opera
完全対応
53
| Safari 完全対応 12 | WebView Android
完全対応
66
| Chrome Android
完全対応
66
| Firefox Android
完全対応
61
| Opera Android
完全対応
47
| Safari iOS 完全対応 12 | Samsung Internet Android
完全対応
9.0
| nodejs
完全対応
10.0.0
|
| Unicode code point escapes \u{xxxxxx} | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 40 | IE 完全対応 4 | Opera 完全対応 4 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 40 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
valueOf | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 4 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
@@iterator | Chrome 完全対応 38 | Edge 完全対応 12 | Firefox
完全対応
36
| IE 未対応 なし | Opera 完全対応 25 | Safari 完全対応 9 | WebView Android 完全対応 38 | Chrome Android 完全対応 38 | Firefox Android
完全対応
36
| Opera Android 完全対応 25 | Safari iOS 完全対応 9 | Samsung Internet Android 完全対応 3.0 | nodejs 完全対応 0.12 |
凡例
- 完全対応
- 完全対応
- 未対応
- 未対応
- 非標準。ブラウザー間の互換性が低い可能性があります。
- 非標準。ブラウザー間の互換性が低い可能性があります。
- 非推奨。新しいウェブサイトでは使用しないでください。
- 非推奨。新しいウェブサイトでは使用しないでください。
- 実装ノートを参照してください。
- 実装ノートを参照してください。
- ユーザーが明示的にこの機能を有効にしなければなりません。
- ユーザーが明示的にこの機能を有効にしなければなりません。
- 非標準の名前を使用しています。
- 非標準の名前を使用しています。