CoffeeScript - Sintassi

Nel capitolo precedente abbiamo visto come installare CoffeeScript. In questo capitolo, esaminiamo la sintassi di CoffeeScript.

La sintassi di CoffeeScript è più graziosa rispetto alla sintassi di JavaScript. Evita le caratteristiche fastidiose come le parentesi graffe, i punti e virgola e le decelerazioni variabili.

Dichiarazioni CoffeeScript

A differenza di molti altri linguaggi di programmazione come C, C ++ e Java, le istruzioni in CoffeeScript non terminano con punto e virgola (;). Invece di ciò, ogni nuova riga viene considerata come un'istruzione separata dal compilatore CoffeeScript.

Esempio

Ecco un esempio di un'istruzione CoffeeScript.

name = "Javed"
age = 26

Allo stesso modo, possiamo scrivere due istruzioni in una singola riga separandole usando il punto e virgola come mostrato di seguito.

name = "Javed";age = 26

Variabili CoffeeScript (nessuna parola chiave var)

In JavaScript, dichiariamo una variabile utilizzando il var parola chiave prima di crearla, come mostrato di seguito.

var name = "Javed"
var age = 20

Durante la creazione di variabili in CoffeeScript, non è necessario dichiararle utilizzando l'estensione varparola chiave. Possiamo creare direttamente una variabile semplicemente assegnandole un valore come mostrato di seguito.

name = "Javed"
age = 20

Nessuna parentesi

In generale, usiamo le parentesi mentre dichiariamo la funzione, la chiamiamo e anche per separare i blocchi di codice per evitare ambiguità. In CoffeeScript, non è necessario utilizzare le parentesi e durante la creazione delle funzioni, utilizziamo un segno di freccia (->) invece delle parentesi come mostrato di seguito.

myfunction = -> alert "Hello"

Tuttavia, dobbiamo usare le parentesi in alcuni scenari. Durante la chiamata di funzioni senza parametri, useremo le parentesi. Ad esempio, se abbiamo una funzione chiamata my_function in CoffeeScript, dobbiamo chiamarla come mostrato di seguito.

my_function()

Allo stesso modo, possiamo anche separare il codice ambiguo usando le parentesi. Se osservi il seguente esempio, senza parentesi graffe, il risultato è 2233 e con parentesi graffe sarà 45.

alert "The result is  "+(22+33)

Niente parentesi graffe

In JavaScript, per i codici di blocco come funzioni, cicli e istruzioni condizionali, utilizziamo le parentesi graffe. In CoffeeScript, non è necessario utilizzare le parentesi graffe. Invece, dobbiamo mantenere le giuste rientranze (spazi bianchi) all'interno del corpo. Questa è la funzionalità che si ispira al linguaggio Python.

Di seguito è riportato un esempio di una funzione in CoffeeScript. Qui puoi osservare che invece delle parentesi graffe, abbiamo usato tre spazi bianchi come rientranza per separare il corpo della funzione.

myfunction = -> 
   name = "John"
   alert "Hello"+name

Commenti CoffeeScript

In qualsiasi linguaggio di programmazione, utilizziamo i commenti per scrivere la descrizione del codice che abbiamo scritto. Questi commenti non sono considerati parte dei programmi. I commenti in CoffeeScript sono simili ai commenti del linguaggio Ruby. CoffeeScript fornisce due tipi di commenti come segue:

Commenti su una sola riga

Ogni volta che vogliamo commentare una singola riga in CoffeeScript, dobbiamo solo inserire un tag hash prima di essa come mostrato di seguito.

# This is the single line comment in CoffeeScript

Ogni singola riga che segue un tag hash (#) è considerato come un commento dal compilatore CoffeeScript e compila il resto del codice nel file dato tranne i commenti.

Commenti su più righe

Ogni volta che vogliamo commentare più di una riga in CoffeeScript (più righe), possiamo farlo avvolgendo quelle righe all'interno di una coppia di tag hash tripli come mostrato di seguito.

###
These are the multi line comments in CoffeeScript
We can write as many number of lines as we want 
within the pair of triple hash tags.
###

Parole chiave riservate di CoffeeScript

Nella tabella seguente viene fornito un elenco di tutte le parole riservate in CoffeeScript. Non possono essere utilizzati come variabili CoffeeScript, funzioni, metodi, etichette di loop o nomi di oggetti.

Astuccio

predefinito

funzione

var

vuoto

con

const

permettere

enum

esportare

importare

nativo

__hasProp

__extends

__fetta

__bind

__indice di

attrezzi

altro

interfaccia

pacchetto

privato

protetto

pubblico

statico

dare la precedenza

vero

falso

nullo

Questo

nuovo

Elimina

tipo di

in

argomenti

eval

istanza di

ritorno

gettare

rompere

Continua

debugger

Se

altro

interruttore

per

mentre

fare

provare

catturare

finalmente

classe

si estende

super

non definito

poi

salvo che

fino a

ciclo continuo

di

di

quando

e

o

è

non è

non

no

sopra

spento