IL TIPO PRIMITIVO SYMBOL

JS

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

Copy to Clipboard

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.

Copy to Clipboard
Iterator

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.

Copy to Clipboard

ASYNC ITERATOR

Possiamo implementare il protocollo Iterable con un Iteratore asincrono.

Copy to Clipboard

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.

Copy to Clipboard

IMPORTARE ED ESPORTARE VALORI DA UN GENERATORE (CODICE)

Copy to Clipboard

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.

Copy to Clipboard

LINK AI POST PRECEDENTI

IL LINGUAGGIO JAVASCRIPT

LINK AL CODICE SU GITHUB

GITHUB