You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/02-structure/article.md
+23-23Lines changed: 23 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,16 +1,16 @@
1
1
# Struttura del codice
2
2
3
-
La prima cosa da studiare riguarda la struttura del codice.
3
+
La prima cosa che studieremo riguarda la struttura del codice.
4
4
5
5
## Istruzioni
6
6
7
-
Le istruzioni sono dei costrutti sintattici e comandi che eseguono azioni.
7
+
Le istruzioni sono dei costrutti sintattici e comandi che permettono di eseguire azioni.
8
8
9
9
Abbiamo già visto un'istruzione `alert('Hello, world!')`, che mostra il messaggio "Hello world!".
10
10
11
-
All'interno del codice possiamo avere tutte le istruzioni che desideriamo. Una seconda istruzione può essere separata tramite il punto e virgola.
11
+
All'interno del codice possiamo avere tutte le istruzioni che desideriamo. Le istruzioni possono essere separate da un punto e virgola.
12
12
13
-
Ad esempio, qui dividiamo il messaggio in due:
13
+
Ad esempio, qui dividiamo il messaggio in due alert:
14
14
15
15
```js run no-beautify
16
16
alert('Hello'); alert('World');
@@ -33,7 +33,7 @@ alert('Hello')
33
33
alert('World')
34
34
```
35
35
36
-
Qui JavaScript interpreta la fine della riga come un punto e virgola "implicito". Viene anche chiamato [automatic semicolon insertion](https://tc39.github.io/ecma262/#sec-automatic-semicolon-insertion).
36
+
In questo caso, JavaScript interpreta la fine della riga come un punto e virgola "implicito". Viene anche chiamata [inserimento automatico del punto e virgola](https://tc39.github.io/ecma262/#sec-automatic-semicolon-insertion).
37
37
38
38
**In molti casi la nuova riga viene interpretata come un punto e virgola implicito. Ma "in molti casi" non significa "sempre"!**
39
39
@@ -45,9 +45,9 @@ alert(3 +
45
45
+2);
46
46
```
47
47
48
-
Il codice stampa `6`perchè JavaScript non inserisce un punto e virgola qui. E' abbastanza ovvio che se la riga finisce con un `"+"`, allora è un "espressione incompleta", quindi il punto e virgola non è richiesto. Quindi in questo caso tutto funziona come dovrebbe.
48
+
Il codice stampa `6`perché, in questo caso, JavaScript non inserisce un punto e virgola. E' abbastanza ovvio che se la riga finisce con un `"+"`, allora è un "espressione incompleta", quindi il punto e virgola non verrà inserito. Per questo, nell'esempio sopra, tutto funziona come dovrebbe.
49
49
50
-
**Ma ci sono casi in cui JavaScript "fallisce" But there are situations where JavaScript "fails" nell'interpretare un punto e virgola.**
50
+
**Ma ci sono casi in cui JavaScript "fallisce" nell'interpretare un punto e virgola, dove invece sarebbe necessario.**
51
51
52
52
Gli errori di questo tipo sono molto difficili da trovare e sistemare.
53
53
@@ -58,7 +58,7 @@ Se sei curioso di vedere un esempio concreto di questo tipo di errore, dai un oc
58
58
[1, 2].forEach(alert)
59
59
```
60
60
61
-
Non c'e bisogno di pensare al significato delle parentesi `[]` e al `forEach`. Li studieremo più avanti, per ora è sufficiente sapere il risultato: che mostrerà `1` e poi `2`.
61
+
Non c'e bisogno di pensare al significato delle parentesi `[]` e al `forEach`. Li studieremo più avanti, per ora è sufficiente sapere il risultato: mostrerà `1` e poi `2`.
62
62
63
63
Adesso andiamo ad aggiungere un `alert` prima del codice e *non* concludiamo la riga con il punto e virgola:
64
64
@@ -70,7 +70,7 @@ alert("There will be an error")
70
70
71
71
Adesso se lo eseguiamo, solo il primo `alert` viene mostrato, poi avremmo un errore!
72
72
73
-
Ma tutto si risolve se aggiungiamo un punto e virgola dopo `alert`:
73
+
Ma tutto si risolve aggiungendo un punto e virgola dopo `alert`:
74
74
```js run
75
75
alert("All fine now");
76
76
@@ -79,40 +79,40 @@ alert("All fine now");
79
79
80
80
Adesso avremmo il messaggio "All fine now", successivamente `1` seguito da `2`.
81
81
82
-
L'errore nel non aver messo il punto e virgola è avvenuto perchè JavaScript non inserisce automaticamente un punto e virgola prima delle parentesi quadre `[...]`.
82
+
L'errore nel non aver messo il punto e virgola è avvenuto perché JavaScript non inserisce automaticamente un punto e virgola prima delle parentesi quadre `[...]`.
83
83
84
-
Quindi, poichè il punto e virgola non viene auto-inserito, il codice del precedente esempio viene trattato come un istruzione singola. Quindi il motore JavaScript lo vede cosi:
84
+
Quindi, poiché il punto e virgola non viene auto-inserito, il codice del precedente esempio viene trattato come un istruzione singola. Infatti il motore JavaScript lo vede cosi:
85
85
86
86
```js run no-beautify
87
87
alert("There will be an error")[1, 2].forEach(alert)
88
88
```
89
89
90
-
Anche se dovrebbero essere due istruzioni separate, non una singola. Questo tipo di unione, in questo caso è errata, quindi produce un errore. Ci sono altre situazioni in cui si verifica questo tipo di errore.
90
+
Anche se se in realtà sono due istruzioni separate, non una singola. Questo tipo di interpretazione, in questo caso è errata. Ci possono essere altre situazioni in cui si verifica questo tipo di errore.
91
91
````
92
92
93
-
E' consigliato quindi, di mettere il punto e virgola fra ogni istruzione, anche se vengono scritte in righe diverse. Questa regola è largamente adottata dalla community. Ripetiamolo nuovamente -- *è possibile*evitare di scrivere il punto e virgola la maggior parte delle volte. Ma è più sicuro -- specialmente per un novizio -- inserirle al termine di ogni istruzione.
93
+
E' consigliato quindi, di inserire il punto e virgola fra ogni istruzione, anche se vengono scritte in righe diverse. Questa è una regola largamente adottata dalla community. Ripetiamolo nuovamente -- *è possibile*omettere il punto e virgola la maggior parte delle volte. Ma è più sicuro -- specialmente per un novizio -- inserirlo al termine di ogni istruzione.
94
94
95
95
## Commenti
96
96
97
-
Con il passare del tempo, i programmi sono diventati sempre più complessi. E' diventato necessario aggiungere *commenti*che descrivessero i comportamenti del codice e il perchè.
97
+
Con il passare del tempo, i programmi sono diventati sempre più complessi. Ed è diventato necessario aggiungere *commenti*per poter descrivere i comportamenti del codice.
98
98
99
-
I commenti possono essere messi in qualsiasi punto dello script. Infatti non hanno alcun effetto sull'esecuzione del codice, poichè il motore JavaScript semplicemente li ignora.
99
+
I commenti possono essere messi in qualsiasi punto dello script. Infatti non hanno alcun effetto sull'esecuzione del codice, poiché il motore JavaScript semplicemente li ignora.
100
100
101
-
**I commenti su una singola linea incominciano con due caratteri di slash `//`.**
101
+
**I commenti su una singola linea si inseriscono con due caratteri di slash `//`.**
102
102
103
-
Il resto della linea è il commento. Può occupare un intera linea oppure seguire l'istruzione.
103
+
Il resto della linea è il commento. Può occupare un intera linea oppure essere posta in seguito ad un'istruzione.
104
104
105
-
Come segue:
105
+
Vediamo un esempio:
106
106
```js run
107
-
// Questo commento occupa una riga a parte
107
+
// Questo commento occupa un'intera riga
108
108
alert('Hello');
109
109
110
-
alert('World'); // Questo commento segue l'istruzione
110
+
alert('World'); // Questo commento segue un istruzione
111
111
```
112
112
113
113
**I commenti multilinea incominciano con un singolo carattere di slahs ed un asterisco <code>/*</code> e finiscono con un asterisco ed un carattere di slash <code>*/</code>.**
114
114
115
-
Come segue:
115
+
Come nell'esempio:
116
116
117
117
```js run
118
118
/* Un esempio con due messaggi.
@@ -124,7 +124,7 @@ alert('World');
124
124
125
125
Il contenuto dei commenti viene ignorato, quindi se inseriamo codice al suo interno <code>/* ... */</code> non verrà eseguito.
126
126
127
-
Qualche volta diventa utile per bloccare temporaneamente qualche porzione di codice:
127
+
Qualche volta può essere utile per bloccare temporaneamente qualche porzione di codice:
128
128
```js run
129
129
/* Commentiamo il codice
130
130
alert('Hello');
@@ -139,7 +139,7 @@ In molti editor una linea di codice può essere commentata con la combinazione d
139
139
````warn header="I commenti annidati non sono supportati!"
140
140
Non si possono inserire `/*...*/` all'interno di altri `/*...*/`.
0 commit comments