Skip to content

Commit cc19f8b

Browse files
author
Orta Therox
authored
Merge pull request #16 from BassDrop07/main
TSConfig Italian translation: added files
2 parents fe19135 + 735542b commit cc19f8b

File tree

3 files changed

+102
-0
lines changed

3 files changed

+102
-0
lines changed
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
display: "Permetti Import Sintetici Predefiniti"
3+
oneline: "Permette di importare un modulo x da un modulo y’ quando un modulo non ha un’esportazione standard"
4+
---
5+
6+
Quando è impostato a true, `allowSyntheticDefaultImports` permette di scrivere un import così:
7+
8+
```ts
9+
import React from "react";
10+
```
11+
12+
Al posto di:
13+
14+
```ts
15+
import * as React from "react";
16+
```
17+
18+
Quando un modulo **non** specifica esplicitamente un export predefinito.
19+
20+
Per esempio, senza `allowSyntheticDefaultImports` impostato a true:
21+
22+
```ts twoslash
23+
// @errors: 1259 1192
24+
// @checkJs
25+
// @allowJs
26+
// @esModuleInterop: false
27+
// @filename: utilFunctions.js
28+
// @noImplicitAny: false
29+
const getStringLength = (str) => str.length;
30+
31+
module.exports = {
32+
getStringLength,
33+
};
34+
35+
// @filename: index.ts
36+
import utils from "./utilFunctions";
37+
38+
const count = utils.getStringLength("Check JS");
39+
```
40+
41+
Questo codice segnala un errore perché un oggetto `default` che puoi importare non è presente.Anche se sembra che dovrebbe esserci. Per convenienza, se un oggetto `default` non è presente un transpiler come Babel automaticamente lo creerà.
42+
43+
```ts
44+
// @filename: utilFunctions.js
45+
const getStringLength = (str) => str.length;
46+
const allFunctions = {
47+
getStringLength,
48+
};
49+
50+
module.exports = allFunctions;
51+
module.exports.default = allFunctions;
52+
```
53+
54+
Questo flag non apporta cambiamenti al JavaScript emesso da TypeScript, è solo per controllare il tipo. Questa opzione porta il comportamento di TypeScript in linea con Babel emettendo un codice extra in modo di rendere l'uso di un export predefinito più ergonomico.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
display: "Permetti Accesso Globale UMD"
3+
oneline: "Rende tutte le importazioni UMD disponibili globalmente"
4+
---
5+
6+
Quando viene impostato a `true`, il flag `allowUmdGlobalAccess` ti permette ad accedere ai export UMD come globali dentro l'archivio dei moduli. Un file modulo è un file che ha dei imports e/o exports. Senza questo flag per usare un export di un modulo UMD è necessario dichiarare un import.
7+
8+
Un esempio di utilizzo di questo flag è un progetto web dove si conoscono le librerie particolari (come jQuery o Lodash) che saranno sempre disponibili al runtime, ma non puoi accedervi con un'import.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
display: "Permetti Codice Irraggiungibile"
3+
oneline: "Visualizza un errore quando il codice non verrà mai eseguito"
4+
---
5+
6+
Quando:
7+
8+
- `undefined` (predefinito) fornire suggerimenti come avviso agli editor
9+
- `true` il codice irraggiungibile viene ignorato
10+
- `false` visualizza un errore di compilazione quando viene trovato del codice irraggiungibile
11+
12+
Questi avvertimenti sono solo per codice che probabilmente è irraggiungibile a causa del uso di sintassi JavaScript, per esempio:
13+
14+
```ts
15+
function fn(n: number) {
16+
if (n > 5) {
17+
return true;
18+
} else {
19+
return false;
20+
}
21+
return true;
22+
}
23+
```
24+
25+
Con `"allowUnreachableCode": false`:
26+
27+
```ts twoslash
28+
// @errors: 7027
29+
// @allowUnreachableCode: false
30+
function fn(n: number) {
31+
if (n > 5) {
32+
return true;
33+
} else {
34+
return false;
35+
}
36+
return true;
37+
}
38+
```
39+
40+
Ciò non influisce sugli errori sulla base del codice che _sembra_ di essere irraggiungibile a causa dell analisi del tipo.

0 commit comments

Comments
 (0)