From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../global_objects/string/slice/index.html | 120 +++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 files/ja/web/javascript/reference/global_objects/string/slice/index.html (limited to 'files/ja/web/javascript/reference/global_objects/string/slice') diff --git a/files/ja/web/javascript/reference/global_objects/string/slice/index.html b/files/ja/web/javascript/reference/global_objects/string/slice/index.html new file mode 100644 index 0000000000..aeea092161 --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/string/slice/index.html @@ -0,0 +1,120 @@ +--- +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 +--- +
{{JSRef}}
+ +

slice() メソッドは、元の文字列を変更せず、文字列の一部分を取り出し、それを新しい文字列として返します。

+ +
{{EmbedInteractiveExample("pages/js/string-slice.html", "taller")}}
+ + + +

構文

+ +
str.slice(beginIndex[, endIndex])
+ +

引数

+ +
+
beginIndex
+
+

取り出しを開始する位置を示す 0 から始まるインデックスです。負の値の場合、 str.length + beginIndex として扱われます。 (例えば beginIndex-3 の場合、 str.length - 3 として扱われます。)

+ +

beginIndexstr.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")}}

+ +

関連情報

+ + -- cgit v1.2.3-54-g00ecf