diff --git a/1-js/02-first-steps/06-type-conversions/article.md b/1-js/02-first-steps/06-type-conversions/article.md
index 88b71fd90..e718adcbd 100644
--- a/1-js/02-first-steps/06-type-conversions/article.md
+++ b/1-js/02-first-steps/06-type-conversions/article.md
@@ -1,6 +1,6 @@
# Conversione di tipi
- Nella maggior parte dei casi, operatori e funzioni convertono automaticamente il valore nel tipo corretto. Questo viene detto "conversione di tipi".
+ Nella maggior parte dei casi, operatori e funzioni convertono automaticamente il valore nel tipo corretto.
Ad esempio, `alert` converte automaticamente un valore qualsiasi in una stringa, per poterla mostrare. Le operazioni matematica convertono i valori in numeri.
diff --git a/1-js/02-first-steps/14-function-basics/article.md b/1-js/02-first-steps/14-function-basics/article.md
index b45ecfa75..e25bdfda8 100644
--- a/1-js/02-first-steps/14-function-basics/article.md
+++ b/1-js/02-first-steps/14-function-basics/article.md
@@ -380,7 +380,7 @@ Questi esempi assumono i significati comuni dei prefissi. Il loro significato di
```smart header="Nomi di funzioni ultra-corti"
Funzioni che vengono utilizzate *molto spesso* potrebbero avere nomi molto corti.
-Ad esempio il framework [jQuery](http://jquery.com) definisce una funzione con `$`. La libreria [LoDash](http://lodash.com/) ha nel core una funzione denominata `_`.
+Ad esempio il framework [jQuery](http://jquery.com) definisce una funzione con `$`. La libreria [Lodash](http://lodash.com/) ha nel core una funzione denominata `_`.
Queste sono eccezioni. Generalmente i nomi delle funzioni sono precisi e descrittivi.
```
diff --git a/1-js/06-advanced-functions/05-global-object/article.md b/1-js/06-advanced-functions/05-global-object/article.md
index dc9bca3d4..b62c432dc 100644
--- a/1-js/06-advanced-functions/05-global-object/article.md
+++ b/1-js/06-advanced-functions/05-global-object/article.md
@@ -14,15 +14,15 @@ alert("Hello");
window.alert("Hello");
```
-LO stesso vale per tutte le altre funzioni integrate, ad esempio possiamo invocare `Array` come `window.Array` e creare le nostre personali propriet�.
+Lo stesso vale per tutte le altre funzioni integrate, ad esempio possiamo invocare `Array` come `window.Array` e creare le nostre personali proprietà.
## Browser: l'oggetto "window"
-Per ragioni storiche, l'oggetto `window` � leggermente incasinato.
+Per ragioni storiche, l'oggetto `window` è leggermente incasinato.
-1. Fornisce la funzionalit� di "finestra del browser", oltre a svolgere il ruolo di oggetto globale.
+1. Fornisce la funzionalità di "finestra del browser", oltre a svolgere il ruolo di oggetto globale.
- Possiamo utilizzare `window` per accedere a propriet� e metodi, specifici di una finestra del browser:
+ Possiamo utilizzare `window` per accedere a proprietà e metodi, specifici di una finestra del browser:
```js run
alert(window.innerHeight); // mostra l'altezza della window
@@ -30,25 +30,25 @@ Per ragioni storiche, l'oggetto `window`
window.open('http://google.com'); // apre una nuova browser window
```
-2. Le variabili `var` e le dichiarazioni di funzioni diventano automaticamente delle propriet� di `window`.
+2. Le variabili `var` e le dichiarazioni di funzioni diventano automaticamente delle proprietà di `window`.
Ad esempio:
```js untrusted run no-strict refresh
var x = 5;
- alert(window.x); // 5 (var x diventa una propriet� di window)
+ alert(window.x); // 5 (var x diventa una proprietà di window)
window.x = 0;
alert(x); // 0, variabile modificata
```
- Da notare che tutto ci� non vale per le dichiarazioni `let/const`:
+ Da notare che tutto ciò non vale per le dichiarazioni `let/const`:
```js untrusted run no-strict refresh
let x = 5;
- alert(window.x); // undefined ("let" non crea propriet� sull'oggetto window)
+ alert(window.x); // undefined ("let" non crea proprietà sull'oggetto window)
```
3. Inoltre, tutti gli script condividono lo stesso scope globale, quindi le variabili dichiarate all'interno di uno `
```
-4. Un ultima cosa, il valore di `this` nello scope globale � `window`.
+4. Un'ultima cosa, il valore di `this` nello scope globale è `window`.
```js untrusted run no-strict refresh
alert(this); // window
```
-Perch� � stato fatto cosi? Nel momento in cui � stato creato il linguaggio, l'idea era quella di fondere diversi aspetti in un unico oggetto `window` per "rendere le cose pi� semplici". Ma da quel momento sono cambiate molte cose. Da piccoli script si � passati a grandi applicazioni le quali richiedono una propria architettura.
+Perché è stato fatto cosi? Nel momento in cui è stato creato il linguaggio, l'idea era quella di fondere diversi aspetti in un unico oggetto `window` per "rendere le cose più semplici". Ma da quel momento sono cambiate molte cose. Da piccoli script si è passati a grandi applicazioni le quali richiedono una propria architettura.
E' una cosa buona che diversi script (eventualmente anche provenienti da altri sviluppatori) si vedano le variabili a vicenda?
@@ -79,11 +79,11 @@ Ovviamente no, questa caratteristica potrebbe portare ad errori dovuti a conflit
Ad oggi, questa caratteristica di `window` viene considerata un errore nel design del linguaggio.
-Fortunatamente esiste una soluzione per "aggirare" questo problema, ed � chiamata "JavaScript module".
+Fortunatamente esiste una soluzione per "aggirare" questo problema, ed è chiamata "JavaScript module".
-Se impostiamo `type="module"` come attributo su un tag `
```
-- E come ultima cosa, il valore di `this` (al livello globale) in un modulo sar� `undefined` (non avrebbe alcun senso se contenesse `window`?):
+- E come ultima cosa, il valore di `this` (al livello globale) in un modulo sarà `undefined` (non avrebbe alcun senso se contenesse `window`?):
```html run