IL TIPO PRIMITIVO SYMBOL
Symbol è un nuovo dato primitivo JS introdotto con la specifica ECMA 2015 (ES6). Un simbolo rappresenta un valore unico e anonimo. Per crearli non possiamo usare la sintassi letterale ma si usa il tipo Symbol. I simboli sono molto utili quando vogliamo evitare conflitti di proprietà su un oggetto. Un altro esempio di utilizzo è quando vogliamo passare ad una funzione un valore univoco non replicabile.
CODICE DI ESEMPIO
IMPLEMENTARE IL PROTOCOLLO ITERATOR
Un iteratore per essere tale deve essere in grado di accedere ad una sequenza di elementi uno alla volta. L’aver implementato il protocollo Iterator non significa che possiamo scorrere ad esempio un array con un for of.
IMPLEMENTARE IL PROTOCOLLO ITERABLE
Un oggetto Iterable ci consente di personalizzare il modo con cui una sequenza viene attraversata, ad esempio attraverso un ciclo for of. Il protocollo Iterable deve implementare una proprietà next il cui valore è una funzione.
ASYNC ITERATOR
Possiamo implementare il protocollo Iterable con un Iteratore asincrono.
INTRODUZIONE AI GENERATORI
Le funzioni come sappiamo sono un blocco di codice eseguite per intero o comunque, fino al return. Con i generatori abbiamo a disposizione un meccanismo parziale di esecuzione del codice delle funzioni. Possiamo avviare la funzione ed eseguire lo stop in un certo punto. Facciamo eseguire una porzione di funzione, poi un’altra porzione e così via, il tutto con il mantenimento dello stato interno.
IMPORTARE ED ESPORTARE VALORI DA UN GENERATORE (CODICE)
CREARE UN ITERATORE INFINITO CON I GENERATORI
I generatori implementano i protocolli Iterable e Iterator, dato che implementano Iterable possiamo utilizzare un for of per iterare sugli elementi.
Scrivi un commento