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