--- title: String.prototype.slice() slug: Web/JavaScript/Reference/Global_Objects/String/slice tags: - JavaScript - Method - Prototype - Reference - String - メソッド translation_of: Web/JavaScript/Reference/Global_Objects/String/slice ---
slice()
メソッドは、元の文字列を変更せず、文字列の一部分を取り出し、それを新しい文字列として返します。
このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 https://github.com/mdn/interactive-examples をクローンしてプルリクエストを送信してください。
str.slice(beginIndex[, endIndex])
beginIndex
取り出しを開始する位置を示す 0 から始まるインデックスです。負の値の場合、 str.length + beginIndex
として扱われます。 (例えば beginIndex
が -3
の場合、 str.length - 3
として扱われます。)
beginIndex
が str.length
以上である場合、 slice()
は空文字列を返します。
endIndex
{{optional_inline}}取り出しを終える前の 0 から始まるインデックスです。このインデックスにある文字は含まれません。
endIndex
を省略した場合、 slice()
は文字列の末尾までを取り出します。負の値の場合、 str.length + endIndex
として扱われます。 (例えば endIndex
が -3
の場合、 str.length - 3
として扱われます。)
文字列の取り出された部分を含んだ新しい文字列です。
slice()
は 1 つの文字列からテキストを取り出し、新しい文字列を返します。一方の文字列におけるテキストへの変更は、他の文字列に影響を与えません。
slice()
は endIndex
を含まずにテキストを取り出します。 str.slice(1, 4)
は、 2 番目から 4 番目までの文字 (1
, 2
, 3
のインデックスの文字) を取り出します。
例えば str.slice(2, -1)
は、文字列から 3 番目の文字から最後から 2 番目の文字までを取り出します。
slice()
を使って新しい文字列をつくる以下の例は、新しい文字列を生成するために slice()
を使っています。
let str1 = 'The morning is upon us.', // the length of str1 is 23. str2 = str1.slice(1, 8), str3 = str1.slice(4, -2), str4 = str1.slice(12), str5 = str1.slice(30); console.log(str2) // OUTPUT: he morn console.log(str3) // OUTPUT: morning is upon u console.log(str4) // OUTPUT: is upon us. console.log(str5) // OUTPUT: ""
slice()
を使う下記の例は負のインデックスで slice()
を使っています。
let 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'
この例は、文字列の末尾から前方に 11
番目を開始インデックスとし、先頭から後方に 16
番目を終了インデックスとします。
console.log(str.slice(-11, 16)) // => "is u"
こちらは先頭から後方に 11
番目を開始インデックスとし、末尾から前方に 7
番目を終了インデックスとします。
console.log(str.slice(11, -7)) // => " is u"
これらの引数は、末尾から前方に 5
番目を開始インデックスとし、末尾から前方に 1
番目を終了インデックスとします。
console.log(str.slice(-5, -1)) // => "n us"
仕様書 |
---|
{{SpecName('ESDraft', '#sec-string.prototype.slice', 'String.prototype.slice')}} |
{{Compat("javascript.builtins.String.slice")}}