Skip to Content
JavaScript: The Definitive Guide, 7a edizione
book

JavaScript: The Definitive Guide, 7a edizione

by David Flanagan
April 2025
Intermediate to advanced
706 pages
22h 40m
Italian
O'Reilly Media, Inc.
Content preview from JavaScript: The Definitive Guide, 7a edizione

Capitolo 12. Iteratori e generatori

Questo lavoro è stato tradotto utilizzando l'AI. Siamo lieti di ricevere il tuo feedback e i tuoi commenti: translation-feedback@oreilly.com

Gli oggetti iterabili e i loro iteratori associati sono una caratteristica di ES6 che abbiamo visto più volte in questo libro. Gli array (compresi i TypedArray) sono iterabili, così come le stringhe e gli oggetti Set e Map. Ciò significa che il contenuto di queste strutture di dati può essere iterato (loop) con il ciclo for/of, come abbiamo visto nel §5.4.4:

let sum = 0;
for(let i of [1,2,3]) { // Loop once for each of these values
    sum += i;
}
sum   // => 6

Gli iteratori possono anche essere usati con l'operatore ... per espandere o "spalmare" un oggetto iterabile in un inizializzatore di array o in un'invocazione di funzione, come abbiamo visto nel §7.1.2:

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

Gli iteratori possono essere utilizzati con l'assegnazione di destrutturazione:

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

Quando si itera un oggetto Map, i valori restituiti sono coppie [key, value], che funzionano bene con l'assegnazione di destrutturazione in un ciclo for/of:

let m = new Map([["one", 1], ["two", 2]]);
for(let [k,v] of m) console.log(k, v); // Logs 'one 1' and 'two 2'

Se vuoi iterare solo le chiavi o solo i valori piuttosto che le coppie, puoi utilizzare i metodi keys() e values() ...

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

Beginning PHP 5.3

Beginning PHP 5.3

Matt Doyle
Oracle® Web Application Programming for PL/SQL® Developers

Oracle® Web Application Programming for PL/SQL® Developers

Susan Boardman, Melanie Caffrey, Solomon Morse, Benjamin Rosenzweig
AI applicata allo sviluppo Java aziendale (Italian Edition)

AI applicata allo sviluppo Java aziendale (Italian Edition)

Alex Soto Bueno, Markus Eisele, Natale Vinto

Publisher Resources

ISBN: 9798341643864