Skip to content

Commit 1845849

Browse files
committed
errata corrige in 'Operatori Logici'
1 parent d1df411 commit 1845849

File tree

1 file changed

+6
-6
lines changed
  • 1-js/02-first-steps/11-logical-operators

1 file changed

+6
-6
lines changed

1-js/02-first-steps/11-logical-operators/article.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Se un operando non è booleano, allora viene convertito in booleano per essere v
3434
Ad esempio, il numero `1` viene visto come `true`, il numero `0` -- come `false`:
3535

3636
```js run
37-
if (1 || 0) { // fun<iona proprio come ( true || false )
37+
if (1 || 0) { // funziona proprio come ( true || false )
3838
alert( 'truthy!' );
3939
}
4040
```
@@ -119,7 +119,7 @@ Questo ci porta ad alcuni utilizzi interessanti rispetto al "puro e classico OR
119119
Se entrambe `currentUser` e `defaultUser` sono false allora il risultato sarà `"unnamed"`.
120120
2. **Valutazione a Corto-Circuito.**
121121

122-
Gli operandi non possono essere solo valori, ma anche espressioni arbitrarie. OR valuta ed esegue i test da sinistra a destra. La valutazione si ferma quando un viene trovato un valore vero, questo viene poi ritornato. Il processo è chiamata "valutazione a corto-circuito", perchè cerca di terminare il prima possibile partendo da sinistra verso destra.
122+
Gli operandi, oltre che valori, possono essere anche espressioni arbitrarie. OR valuta ed esegue i test da sinistra a destra. La valutazione si ferma al primo risultato vero, questo viene poi ritornato. Il processo è chiamato "valutazione a corto-circuito", perchè cerca di terminare il prima possibile partendo da sinistra verso destra.
123123

124124
Questo si vede chiaramente quando il secondo argomento causerebbe side-effect. Come l'assegnazione di una variabile.
125125
@@ -143,7 +143,7 @@ Questo ci porta ad alcuni utilizzi interessanti rispetto al "puro e classico OR
143143
alert(x); // 1
144144
```
145145
146-
Un assegnazione è un caso semplice. Potrebbero essere coinvolti altri tipi di side-effect.
146+
Un'assegnazione è un caso semplice. Potrebbero essere coinvolti altri tipi di side-effect.
147147

148148
Quello che abbiamo visto, è un "modo breve di fare `if`". Il primo operando viene convertito a booleano e solo se è falso viene eseguito il secondo.
149149

@@ -177,7 +177,7 @@ if (hour == 12 && minute == 30) {
177177
}
178178
```
179179
180-
Proprio come per OR, qualsiasi valore è consentito come operando per AND:
180+
Proprio come per OR, anche per AND è consentito qualsiasi valore come operando:
181181
182182
```js run
183183
if (1 && 0) { // valutato come true && false
@@ -231,7 +231,7 @@ alert( 1 && 2 && 3 ); // 3, l'ultimo
231231
```
232232

233233
````smart header="Precedenza di AND `&&` è maggiore dell'OR `||`"
234-
La precedenza dell'operatore AND`&&` è maggiore di quella dell'OR `||`.
234+
La precedenza dell'operatore AND `&&` è maggiore di quella dell'OR `||`.
235235

236236
Quindi il codice `a && b || c && d` esegue in maniera analoga all'espressione: `(a && b) || (c && d)`.
237237
````
@@ -246,7 +246,7 @@ let x = 1;
246246
(x > 0) && alert( 'Greater than zero!' );
247247
```
248248
249-
Le azione nella parte destra di `&&` vengono eseguite solamente se la valutazione non si ferma prima. Cioè: solo se `(x > 0)` è vera.
249+
Le azioni nella parte destra di `&&` vengono eseguite solamente se la valutazione non si ferma prima. Cioè: solo se `(x > 0)` è vera.
250250
251251
Quindi sostanzialmente è analogo a:
252252

0 commit comments

Comments
 (0)