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 |
---|---|---|---|---|---|---|
基本サポート | (有) | (有) | (有) | (有) | (有) | (有) |