FratmScript 🤌🏻

Liste e oggetti

Le liste (["a", "b"]) e gli oggetti ({ nome: "Margherita", prezzo: 6 }) sono quelli di JavaScript, con tutti i loro metodi: push, map, filter, join, Object.keys…

Negli oggetti puoi usare la forma breve ({ nome }), le chiavi calcolate ([chiave]: valore) e i metodi (descrivi() { … }). Dentro un metodo, stu cos è l'oggetto stesso (this).

Lo spread ... copia liste e oggetti ([...a, 4], { ...o, prezzo: 7 }); il destructuring tira fuori più valori in una volta (chist è { prezzo, forno = "a legna" } = pizza). leva o.campo cancella un campo (delete).

chist è pizze = ["margherita", "marinara"]
pizze.push("diavola")

stamm a dì(pizze[0], pizze.length)
stamm a dì(pizze.map(p => p.toUpperCase()).join(", "))
stamm a dì(pizze.filter(p => p.startsWith("m")).length)

// Spread e destructuring
chist è tutte = [...pizze, "capricciosa"]
chist è [prima, ...ato] = tutte
stamm a dì(prima, ato.length)

Output

margherita 3
MARGHERITA, MARINARA, DIAVOLA
2
margherita 3
chist è nome = "Margherita"
chist è pizza = {
    nome,
    prezzo: 6,
    descrivi() {
        piglie `${stu cos.nome}: ${stu cos.prezzo} euro`
    },
}
stamm a dì(pizza.descrivi())

chist è { prezzo, forno = "a legna" } = pizza
stamm a dì(prezzo, forno)

chist è copia = { ...pizza, prezzo: 7 }
leva copia.descrivi
stamm a dì(copia.prezzo, copia.descrivi)

Output

Margherita: 6 euro
6 a legna
7 undefined

Prova questa sezione nel playground