Corsi on-line

ECMAScript 6: come JavaScript gestirà le stringhe

Le specifiche di ECMAScript 6 (nome in codice “Harmony“), cioè il nuovo standard per lo sviluppo in linguaggio JavaScript, sono per il momento in fase di definizione; un lavoro cominciato nel corso del 2008, che ha portato alla pubblicazione di una prima draft nel 2001, dovrebbe ora terminare entro l’anno corrente, in giugno secondo le previsioni del team al quale è stato affidato il compito della sua implementazione. Ma nonostante ad oggi non sia ancora disponibile una stable release, alcune features sono già note, tra di esse buona parte delle funzionalità per la gestione delle stringhe.

JS6_Logo

Da questo punto di vista ECMAScript 6 presenta innanzitutto nuove opportunità per l’interpolazione, l’esempio seguente mostra  come sia possibile utilizzare la keyword let per definire due variabili da stampare successivamente all’interno di una stringa:

let first = 'Homer ';
    let last = 'Simpson';
    console.log('Peggio di ${first} ${last}!');
        // Peggio di Homer Simpson!

In secondo luogo è interessante notare come tale standard preveda finalmente la possibilità di definire template basati su stringhe multilinea, anche in questo caso sarà possibile osservare il funzionamento di tale features tramite un esempio che evidenzia il ruolo svolto dalla keyword let:

let multiLine = '
    Bart
    ora basta!
    Vai in camera tua
    e sculacciati';

Harmony” prevede inoltre che le stringhe siano iterabili; in pratica si potrà applicare un ciclo di tipo for/of ad una stringa, ottenendo in output la sequenza di caratteri dalla quale essa è formata:

for (let ch of 'xyz') {
        console.log(ch);
    }
    // x
    // y
    // z

Nello stesso modo il nuovo standard consentirà di generare un array sulla base dei caratteri che compongono una stringa passata come parametro all’operatore “...“, questi ultimi infatti verranno convertiti nei valori del vettore:

let chars = [...'bart'];
 // ['b', 'a', 'r', 't']

Da segnalare anche l’introduzione di 3 nuovi metodi il cui compito è in pratica quello di verificare la presenza di una sottostringa all’interno di una stringa; nel caso specifico degli esempi proposti tutte le espressioni utilizzate restituiranno “true” in quanto l’esito della verifica sarà positivo.

'homer'.startsWith('home')
'homer'.endsWith('omer')
'homer'.includes('ome')

I 3 metodi presentati prevedono anche un parametro numerico intero opzionale grazie al quale sarà possibile indicare il numero d’ordine del carattere dal quale dovrà essere iniziata la verifica, ecco perché un’espressione come quella espressa di seguito:

'homer'.startsWith('omer', 1)

restituirà “true“; rimossa infatti (o in questo caso esclusa) l’iniziale “h” dalla stringa “homer”, “omer” diventa la sua parte iniziale nonché sequenza completa.

Post correlati
I più letti del mese
Tematiche