Skip to content

Commit 95bb5e4

Browse files
Apply suggestions from code review
Co-authored-by: Dorin David <70648503+Dorin-David@users.noreply.github.com>
1 parent 91c166f commit 95bb5e4

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

1-js/13-modules/02-import-export/article.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Ad esempio, i seguenti exports sono tutti validi:
2828
````smart header="Non c'è bisogno del punto e virgola dopo l'export di una classe/funzione"
2929
Da notare che il termine `export` prima di una funzione, non la rende un'[espressione di funzione](info:function-expressions). Rimane sempre una dichiarazione di funzione, viene semplicemente esportata.
3030
31-
Molte style guide di JavaScript sconsigliano l'utilizzo del punto e virgola dopo la dichiarazione di una classe o funzione.
31+
Molte guide style di JavaScript sconsigliano l'utilizzo del punto e virgola dopo la dichiarazione di una classe o funzione.
3232
3333
Questo è il motivo per cui non c'è alcun bisogno del punto e virgola dopo `export class` e `export function`:
3434
@@ -77,7 +77,7 @@ sayHi('John'); // Hello, John!
7777
sayBye('John'); // Bye, John!
7878
```
7979

80-
Ma ne caso in cui si fossero molti import, potremmo importare tutto come un oggetto, utilizzando `import * as <obj>`, ad esempio:
80+
Ma nel caso in cui ci fossero molti import, potremmo importare tutto come un oggetto, utilizzando `import * as <obj>`, ad esempio:
8181

8282
```js
8383
// 📁 main.js
@@ -153,18 +153,18 @@ say.*!*bye*/!*('John'); // Bye, John!
153153
154154
## Export default
155155
156-
Nella pratica, esistono principalmente due tipi di moduli.
156+
In pratica, esistono principalmente due tipi di moduli.
157157
158158
1. Moduli che contengono una library, pacchetti di funzioni, come `say.js` visto sopra.
159159
2. Moduli che dichiarano una singola entità, esempio un modulo `user.js` che esporta solamente `class User`.
160160
161-
Nella maggior parte dei casi, si preferisce il secondo approccio, in modo tale che "ogni cosa" stia nel suo modulo.
161+
Nella maggior parte dei casi, si preferisce il secondo approccio, in modo tale che ogni "cosa" stia nel suo modulo.
162162
163-
Naturalmente, questa pratica richiede l'utilizzo di molti files, poiché ogni cosa richiede il suo modulo, ma questo non è un problema. In realtà, la navigazione del codice diventa più semplice se tutti i file hanno dei nomi parlanti e sono ben strutturati all'interno di cartelle.
163+
Naturalmente, questa pratica richiede l'utilizzo di molti files, poiché ogni cosa richiede il suo modulo, ma questo non è un problema. In realtà, la navigazione del codice diventa più semplice se tutti i file hanno dei nomi descrittivi e sono ben strutturati all'interno di cartelle.
164164
165-
I moduli forniscono una speciali sintassi, `export default` ("export di default"), per rendere la pratica "una cosa per modulo" più elegante.
165+
I moduli forniscono una speciale sintassi, `export default` ("export di default"), per rendere la pratica "una cosa per modulo" più elegante.
166166
167-
E' sufficiente inserire `export default`, prima dell'entità da esportare:
167+
E' sufficiente inserire `export default` prima dell'entità da esportare:
168168
169169
```js
170170
// 📁 user.js
@@ -193,7 +193,7 @@ Gli import senza parentesi graffe sono più eleganti. Un errore comune quando si
193193
| `export class User {...}` | `export default class User {...}` |
194194
| `import {User} from ...` | `import User from ...`|
195195
196-
Tecnicamente, potremmo avere sia il default che il named export nello stesso modulo, ma nella pratica gli sviluppatori non lo fanno. Un modulo può essere named export o default export.
196+
Tecnicamente, potremmo avere sia il default che il named export nello stesso modulo, ma in pratica gli sviluppatori non lo fanno. Un modulo può essere named export o default export.
197197
198198
Poiché possiamo utilizzare al massimo un default export per file, l'entità esportata non richiede alcun nome.
199199

@@ -286,17 +286,17 @@ import {User} from './user.js';
286286
// import {MyUser} non funzionerebbe, il nome deve essere {User}
287287
```
288288
289-
...Mentre per un default export, noi possiamo decidere il nome in fase di importazione:
289+
...Mentre per un default export, possiamo decidere il nome in fase di importazione:
290290
291291
```js
292292
import User from './user.js'; // funziona
293293
import MyUser from './user.js'; // funziona
294-
// potrebbe essere anche import Anything... e comunque funzionerebbe
294+
// potrebbe essere anche import Anything... e funzionerebbe comunque
295295
```
296296
297297
Quindi i membri del team potrebbero utilizzare nomi differenti per importare le stesse cose, e questa non è una buona cosa.
298298
299-
Solitamente, per evitare questo problema, e mantenere il codice consistente, ci si pone come regole che le variabili importate debbano corrispondere ai nomi dei file, esempio:
299+
Solitamente, per evitare questo problema, e mantenere il codice consistente, ci si pone come regola che le variabili importate debbano corrispondere ai nomi dei file, esempio:
300300
301301
```js
302302
import User from './user.js';
@@ -351,7 +351,7 @@ Il "main file", `auth/index.js` esporta tutte le funzionalità che vogliamo forn
351351

352352
L'idea è che gli esterni, gli altri programmatori che utilizzano il nostro package, non dovrebbero preoccuparsi della struttura interna, alla ricerca dei file all'interno del nostro package. Esportiamo solamente ciò che è necessario in `auth/index.js` e teniamo il resto nascosto da occhi indiscreti.
353353

354-
Poiché le funzionalità di export sono sparpagliate nel package, possiamo importarle in `auth/index.js` ed esportarle da li:
354+
Poiché le funzionalità di export sono sparpagliate nel package, possiamo importarle in `auth/index.js` ed esportarle da :
355355

356356
```js
357357
// 📁 auth/index.js
@@ -403,13 +403,13 @@ Potremmo incontrare due problemi:
403403

404404
2. `export * from './user.js'` ri-esporta solamente i named exports, ma ignora quelli di default.
405405

406-
Nel caso in cui volessimo ri-esportare sia i named che i defaul export, allora abbiamo bisogno di due istruzioni:
406+
Nel caso in cui volessimo ri-esportare sia i named che i defaul export, allora avremmo bisogno di due istruzioni:
407407
```js
408408
export * from './user.js'; // per ri-esportare i named exports
409409
export {default} from './user.js'; // per ri-esportare i default export
410410
```
411411

412-
Queste stranezza nella ri-esportazione di un default export, è una delle ragioni del perché alcuni sviluppatori non amano i default export, ma preferiscono quelli di default.
412+
Queste stranezze nella ri-esportazione di un default export sono tra le ragioni del per cui alcuni sviluppatori non amano i default export, ma preferiscono quelli named.
413413

414414
## Riepilogo
415415

@@ -438,7 +438,7 @@ Import:
438438
- Importa il modulo (il suo codice viene eseguito), ma non lo assegna ad alcuna variabile:
439439
- `import "module"`
440440

441-
Possiamo inserire le istruzioni di `import/export` in cima o in cosa allo script, non ha importanza.
441+
Possiamo inserire le istruzioni di `import/export` in cima o in coda allo script, non ha importanza.
442442

443443
Quindi, tecnicamente, questo codice funziona:
444444
```js

0 commit comments

Comments
 (0)