Skip to content

Commit 9a296fa

Browse files
authored
Merge pull request #142 from longo-andrea/feature/use-strict
The modern mode, "use strict"
2 parents d5c1724 + 51c8855 commit 9a296fa

File tree

1 file changed

+21
-18
lines changed

1 file changed

+21
-18
lines changed

1-js/02-first-steps/03-strict-mode/article.md

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Per molto tempo JavaScript si è evoluto senza problemi di compatibilità. Nuove funzionalità venivano aggiunte al linguaggio, ma quelle vecchie non cambiavano.
44

5-
Questo ha consentito al vecchio codice di non diventare obsoleto. Ma lo svantaggio è stato che cosi facendo gli errori e le decisioni imperefette fatte dai creatori di JavaScript, rimarranno nel linguaggio per sempre.
5+
Questo ha consentito al vecchio codice di non diventare obsoleto. Ma lo svantaggio è stato che cosi facendo gli errori e le decisioni imperfette fatte dai creatori di JavaScript, rimarranno nel linguaggio per sempre.
66

77
Cosi è stato fino al 2009 quando è apparsa ECMAScript 5 (ES5). Ha aggiungo nuove funzionalità al linguaggio e ne ha modificate alcune già esistenti. Per far si che il vecchio codice continui a funzionare, molte modifiche vengono disattivate di default. Diventa quindi necessario abilitarle esplicitamente con la direttiva `"use strict"`.
88

@@ -19,14 +19,14 @@ Per esempio:
1919
...
2020
```
2121

22-
Impareremo presto le funzioni(un modo per raggruppare le istruzioni).
22+
Impareremo presto le funzioni (un modo per raggruppare le istruzioni).
2323

24-
Guardando avanti, notiamo che `"use strict"` può essere applicato all'inizio di una funzione(la maggior parte) piuttosto che all'intero script. La modalità strict sarà quindi attiva solo all'interno di quella funzione. Solitamente si utilizza nell'intero script.
24+
Guardando avanti, notiamo che `"use strict"` può essere applicato all'inizio di una funzione (la maggior parte) piuttosto che all'intero script. La modalità strict sarà quindi attiva solo all'interno di quella funzione. Solitamente si utilizza nell'intero script.
2525

2626
````warn header="Assicurati che \"use strict\" sia all'inizio"
2727
Assicurati `"use strict"` sia all'inizio dello script, altrimenti la modalità script non verrà abilitata.
2828
29-
Qui non si attiva la modalità strict:
29+
Qui vediamo un esempio in cui non verrà attivata la modalità strict:
3030
3131
```js no-strict
3232
alert("some code");
@@ -60,27 +60,30 @@ Potete provare con `key:Shift+Enter` per inserire più righe di codice, con `use
6060
<Enter to run>
6161
```
6262

63-
Funziona nella maggior parte dei browser, tra cui Firefox Chrome.
63+
Funziona nella maggior parte dei browser, tra cui Firefox e Chrome.
6464

65-
Nel caso in cui non funzioni, la miglior strada da seguire è quella di assicurarsi che `use strict` venga inserito, in questo modo:
65+
Nel caso in cui non funzioni, la miglior strada da seguire è quella di assicurarsi che `use strict` venga inserito, in questo modo:
6666

6767
```js
68-
(function() {
69-
'use strict';
68+
"use strict";
69+
70+
// codice
71+
...
72+
```
73+
74+
75+
## Dovremmo utilizzare "use strict"?
7076

71-
// ...codice...
72-
})()
77+
Può sembrare una domanda ovvia, ma non lo è.
7378

79+
Potrebbero consigliarvi di iniziare tutti gli script con `"use strict"`... Ma sapete cosa c'è di bello?
7480

75-
## Utilizzare sempre "use strict"
81+
JavaScript moderno supporta le "classi" e i "moduli" - delle strutture avanzate del linguaggio (a cui arriveremo più avanti), che abilitano `use strict` in automatico. Quindi non è necessario inserire la direttiva `"use strict"` se utilizziamo queste funzionalità.
7682

77-
Le differenze tra `"use strict"` contro la modalità di "default" non è ancora stata spiegata.
83+
**Quindi, per ora `"use strict";` è un ospite ben accetto nei vostri script. Più avanti, quando il vostro codice sarà suddiviso in classi e moduli, potrete ometterlo.**
7884

79-
Nel prossimo capitolo, mentre impareremo le caratteristiche del linguaggio, terremo d'occhio anche le differenze tra la modalità strict e quella di default. Fortunatamente non sono molte. E senza dubbio renderanno migliore la scrittura del codice.
85+
Al momento, è sufficenete una conoscenza generica di `use strict`.
8086

81-
A questo punto è sufficiente sapere le regole generali:
87+
Nei prossimi capitoli, quando impareremo nuove funzionalità del linguaggio, vedremo più nel dettaglio le differenze tra la "strict mode" e la "vecchia modalità". Fortunatamente, non sono molte e sono anche molto utili.
8288

83-
1. L'utilizzo della direttiva `"use strict"` cambia la modalità del motore JavaScript al il metodo moderno, cambiando i comportamenti di alcune caratteristiche integrate. Vedremo meglio i dettagli man mano che studiamo.
84-
2. La modalità strict viene abilitata tramite l'istruzione `"use strict"` posta all'inizio. In ogni caso ci sono alcune caratteristiche del linguaggio come "classi" e "moduli" che attivano la modalità strict in automatico.
85-
3. La modalità strict è supportata da tutti i moderni browser.
86-
4. E' sempre raccomandato iniziare lo script con `"use strict"`. Tutti gli esempi del tutorial assumo che esso sia attivo, tranne in alcuni esempi(veramente pochi) in cui verrà specificato esplicitamente.
89+
Tutti gli esempi in questo tutorial assumono che la "strict mode" sia attiva, tranne in alcuni rarissimi casi (in cui sarà specificato).

0 commit comments

Comments
 (0)