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/@@iterator/index.html | 82 ++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 files/ja/web/javascript/reference/global_objects/string/@@iterator/index.html (limited to 'files/ja/web/javascript/reference/global_objects/string/@@iterator') diff --git a/files/ja/web/javascript/reference/global_objects/string/@@iterator/index.html b/files/ja/web/javascript/reference/global_objects/string/@@iterator/index.html new file mode 100644 index 0000000000..23cab0baec --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/string/@@iterator/index.html @@ -0,0 +1,82 @@ +--- +title: 'String.prototype[@@iterator]()' +slug: Web/JavaScript/Reference/Global_Objects/String/@@iterator +tags: + - ECMAScript 2015 + - Iterator + - JavaScript + - Method + - Prototype + - Reference + - String +translation_of: Web/JavaScript/Reference/Global_Objects/String/@@iterator +--- +
{{JSRef}}
+ +

[@@iterator]() メソッドは、文字列値のコードポイントを走査し、それぞれのコードポイントを文字列値として返すイテレーターオブジェクトを返します。

+ +
{{EmbedInteractiveExample("pages/js/string-iterator.html")}}
+ + + +

構文

+ +
str[Symbol.iterator]
+ +

返値

+ +

新しいイテレーターオブジェクトです。

+ +

+ +

[@@iterator]() の使用

+ +
var str = 'A\uD835\uDC68';
+
+var strIter = str[Symbol.iterator]();
+
+console.log(strIter.next().value); // "A"
+console.log(strIter.next().value); // "\uD835\uDC68"
+
+ +

[@@iterator]() と for..of の使用

+ +
var str = 'A\uD835\uDC68B\uD835\uDC69C\uD835\uDC6A';
+
+for (var v of str) {
+  console.log(v);
+}
+// "A"
+// "\uD835\uDC68"
+// "B"
+// "\uD835\uDC69"
+// "C"
+// "\uD835\uDC6A"
+
+ +

仕様書

+ + + + + + + + + + + + +
仕様書
{{SpecName('ESDraft', '#sec-string.prototype-@@iterator', 'String.prototype[@@iterator]()')}}
+ +

ブラウザーの互換性

+ + + +

{{Compat("javascript.builtins.String.@@iterator")}}

+ +

関連情報

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