slice() メソッドは、文字列の一部分を取り出し、新しい文字列を返します。
構文
str.slice(beginSlice[, endSlice])
引数
beginSlice- 取り出しを開始する、
0から始まるインデックス。負の値を指定すると、文字列の最後尾からの位置を指します。例えば、-3を指定した場合、文字列の長さ - 3を開始位置とします。
endSlice- 省略可能。取り出しを終了する、
0から始まるインデックス。省略された場合、sliceメソッドは、文字列の最後までを取り出します。負の値を指定すると、文字列の最後尾からの位置を指します。例えば、-3を指定した場合、文字列の長さ - 3を終了位置とします。
戻り値
文字列の抽出されたセクションを含む新しい文字列。
詳細
slice() メソッドは、1 つの文字列からテキストを取り出し、新しい文字列を返します。一方の文字列におけるテキストへの変更は、他の文字列に影響を与えません。
slice() メソッドは、endSlice を含まずにテキストを取り出します。string.slice(1, 4) は、2 番目から 4 番目までの文字 (1 番目、2 番目、3 番目にインデックスされた文字) を取り出します。
負の数のインデックスを指定したときは、endSlice は文字列の最後からのオフセットを示します。string.slice(2, -1) は、3 番目の文字から、文字列の最後の文字から数えて 2 番目の文字までを取り出します。
例
slice() メソッドを使用して新しい文字列をつくる
以下の例は、新しい文字列を生成するために slice メソッドを使用しています。
var str1 = 'The morning is upon us.';
var str2 = str1.slice(4, -2);
console.log(str2); // OUTPUT: morning is upon u
負の値を利用したslice() メソッド
var str = 'The morning is upon us.';
str.slice(-3); // returns 'us.'
str.slice(-3, -1); // returns 'us'
str.slice(0, -1); // returns 'The morning is upon us'
仕様
| 仕様 | ステータス | コメント |
|---|---|---|
| ECMAScript 3rd Edition (ECMA-262) | 標準 | 初期定義。JavaScript 1.2 で実装。 |
| ECMAScript 5.1 (ECMA-262) String.prototype.slice の定義 |
標準 | |
| ECMAScript 2015 (6th Edition, ECMA-262) String.prototype.slice の定義 |
標準 | |
| ECMAScript 2017 Draft (ECMA-262) String.prototype.slice の定義 |
ドラフト |
ブラウザ実装状況
| 機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| 基本サポート | (有) | (有) | (有) | (有) | (有) |
| 機能 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| 基本サポート | (有) | (有) | (有) | (有) | (有) | (有) |