Skip to Content
JavaScript 第7版
book

JavaScript 第7版

by David Flanagan, 村上 列
November 2021
Intermediate to advanced
784 pages
12h 13m
Japanese
O'Reilly Japan, Inc.
Content preview from JavaScript 第7版

12章イテレータとジェネレータ

反復可能なオブジェクトとイテレータはES6の機能です。本書では、これまで何度も紹介してきました。型付き配列を含めて、配列は反復可能です。同じように、文字列やSetオブジェクト、Mapオブジェクトも反復可能です。つまり、§5.4.4で説明したように、これらのデータ構造の内容は、for/ofループを使って反復(巡回)することができます。

let sum = 0;
for(let i of [1,2,3]) { // 値ごとに1度ループする。
    sum += i;
}
sum // => 6

また、§7.1.2で説明したように、反復可能なオブジェクトは、...演算子を使って、配列の初期化や関数呼び出しの際に展開できます。この展開を行うときにもイテレータが使われます。

let chars = [..."abcd"];    // chars == ["a", "b", "c", "d"]
let data = [1, 2, 3, 4, 5];
Math.max(...data)           // => 5

イテレータは分割代入でも使われます。

let purpleHaze = Uint8Array.of(255, 0, 255, 128);
let [r, g, b, a] = purpleHaze; // a == 128

Mapオブジェクトを反復する場合、戻り値は[キー, 値]ペアになります。つまり、for/ofループ中で分割代入を行うことができます。

let m = new Map([["one", 1], ["two", 2]]); for(let [k,v] of m) console.log(k, v); // 「one 1」、「two 2」とログに記録。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Gatsby JS: Build PWA Blog with GraphQL, React and WordPress

Gatsby JS: Build PWA Blog with GraphQL, React and WordPress

Rangel Stoilov
Seleniumデザインパターン & ベストプラクティス

Seleniumデザインパターン & ベストプラクティス

Dima Kovalenko, 玉川 紘子, 太田 健一郎, 笹井 崇司

Publisher Resources

ISBN: 9784873119700Other