Skip to content

Commit aa45929

Browse files
committed
translated: logical-operators> articel.md to line 206
1 parent f543570 commit aa45929

File tree

1 file changed

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

1 file changed

+45
-48
lines changed

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

Lines changed: 45 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Operatori logici
22

3-
În JavaScript există patru operatori logici: `||` (ORI), `&&` (ȘI), `!` (NU), `??` (Fuzionare nulă). În acest articol vorbim doar despre primi trei, operatorul `??` va fi acoperit în următorul articol.
3+
În JavaScript există patru operatori logici: `||` (ORI), `&&` (ȘI), `!` (NU), `??` (Nullish Coalescing). În acest articol vorbim doar despre primi trei, operatorul `??` va fi acoperit în următorul articol.
44

5-
Chiar dacă sunt denumiți operatori „logici”, aceștia pot fi folosiți pentru valori de orice tip, nu doar pentru cele de tip boolean. Rezultatul acetora putând fi de orice tip.
5+
Chiar dacă sunt denumiți operatori „logici”, aceștia pot fi folosiți pentru valori de orice tip, nu doar pentru cele de tip boolean. Rezultatul acestora putând fi de orice tip.
66

77
Haideți să aflăm mai multe detalii.
88

@@ -13,32 +13,32 @@ Simbolul pentru operatorul „ORI” este reprezentat prin două linii verticale
1313
```js
1414
result = a || b;
1515
```
16-
În programarea clasică, operatorul logic „ORI” este folosit pentru a manipula doar valori de tip boolean. Dacă valoarea unuia dintre argumente acesuita este „adevărat”, rezultatul acelei operații va fi „adevărat”, dacă nu rezultatul va fi „fals”.
16+
În programarea clasică, operatorul logic „ORI” este folosit pentru a manipula doar valori de tip boolean. Dacă valoarea unuia dintre argumente este `true`, rezultatul operației va fi `true`, în caz contrar rezultatul va fi `false`.
1717

18-
În JavaScript, acest operator este puțin mai complicat, dar mult mai eficient. Pentru început, haideți să vedem ce se întâmplă cu aceste valori de tip boolean.
18+
În JavaScript, acest operator este puțin mai complex, dar mult mai eficient. Pentru început, haideți să vedem ce se întâmplă cu aceste valori de tip boolean.
1919

2020
Pot fi posibile doar patru combinații logice.
2121

2222
```js run
23-
alert( true || true ); // adevărat
24-
alert( false || true ); // adevărat
25-
alert( true || false ); // adevărat
26-
alert( false || false ); // fals
23+
alert( true || true ); // true
24+
alert( false || true ); // true
25+
alert( true || false ); // true
26+
alert( false || false ); // false
2727
```
2828

29-
După cum putem vedea, rezultat este mereu „adevărat” cu excepția cazului în care ambii operanți au valoarea de „fals”.
29+
După cum putem vedea, rezultat este mereu `true` cu excepția cazului în care ambii operanți au valoarea `false`.
3030

31-
Dacă un operant nu este de tip boolean, acesta este convertit automat într-unul pentru evaluare.
31+
Dacă un operant nu este de tip boolean, acesta este convertit automat pentru evaluare.
3232

33-
De exemplu, numărul „1” este tratat ca fiind „adevărat”, iar numărul „0” este „fals”:
33+
De exemplu, numărul `1` este tratat ca fiind `true`, iar numărul `0` este `false`:
3434

3535
```js run
36-
if (1 || 0) { // funcționează asemenea lui if( adevărat || fals )
37-
alert( 'efectiv adevărat!' );
36+
if (1 || 0) { // funcționează asemenea if( true || false )
37+
alert( 'truthy' );
3838
}
3939
```
4040

41-
De cele mai multe ori, semnul ORI `||` este folositi într-un if statement pentru a testa dacă vreauna dintre condiții este adevărată.
41+
De cele mai multe ori, semnul ORI `||` este folosit într-un if statement pentru a testa dacă vreauna dintre condiții este `true`.
4242

4343
Spre exemplu:
4444

@@ -63,9 +63,9 @@ if (hour < 10 || hour > 18 || isWeekend) {
6363
}
6464
```
6565

66-
## ORI "||" identifică prima valoare efectiv adevărată [#or-finds-the-first-truthy-value]
66+
## ORI "||" identifică prima valoare truthy [#or-finds-the-first-truthy-value]
6767

68-
Logica descrisă mai sus este oarecum clasică. Haideți să discutăm despre calitățile „extra” din JavaScript.
68+
Logica descrisă mai sus este oarecum cea basic. Haideți să discutăm despre calitățile „extra” din JavaScript.
6969

7070
Algoritmul extinds funcționează după cum urmează.
7171

@@ -78,31 +78,31 @@ result = value1 || value2 || value3;
7878
Operatorul ORI `||` face următoarele lucruri:
7979

8080
- Evaluzează operanții de la stânga spre dreapta.
81-
- Fiecare operant este convertit într-o valoare de tip boolean. Dacă rezultatul este „adevărat”, execuția se oprește și valoarea originală a acelui operant este returnată.
81+
- Fiecare operant este convertit într-o valoare boolean. Dacă rezultatul este `true`, execuția este oprită și valoarea originală a acelui operant este returnată.
8282
- Dacă toți operanții au fost evaluați (iar toți erau falși), ultimul operant este returnat.
8383

8484
O valoare este returnată în forma ei originală, fără conversiune.
8585

86-
Cu alte cuvinte, într-un lanț de ORI `||` este returnată prima valoare efectiv adevărată sau ultima dacă nicio valoare efectiv adevărată nu este găsită.
86+
Cu alte cuvinte, într-un lanț de operatori logici ORI `||` este returnată prima valoare truthy sau ultima dacă nicio valoare truthy nu este identificată.
8787

8888
Spre exemplu:
8989

9090
```js run
91-
alert( 1 || 0 ); // 1 (1 este efectiv adevărat)
91+
alert( 1 || 0 ); // 1 (1 este truthy)
9292

93-
alert( null || 1 ); // 1 (1 este prima valoare efectiv adevărată)
94-
alert( null || 0 || 1 ); // 1 (prima valoare efectiv adevărată)
93+
alert( null || 1 ); // 1 (1 este prima valoare truthy)
94+
alert( null || 0 || 1 ); // 1 (prima valoare truthy)
9595

96-
alert( undefined || null || 0 ); // 0 (toate valorile sunt efectiv false, este returnată ultima valoare)
96+
alert( undefined || null || 0 ); // 0 (toate valorile sunt falsy, ultima valoare este returnată)
9797
```
9898

99-
Asta conduce la o utilizate mai interesantă spre deosebire de un boolean clasic de tip ORI.
99+
Asta conduce la utilizări mai interesante față de cele calsice în care operatorul ORI compară doar valori pur booleene.
100100

101-
1. **Poate fi obținută prima valoare efectiv adevărată dintr-o listă de variabile sau expresii.**
101+
1. **Obținerea primei valori truthy dintr-o listă de variabile sau expresii.**
102102

103-
Spre exemplu, avem variabilele `firstName`, `lastName` si `nickName`, toate opționale (adică pot fi undefined sau pot avea valori efectiv false)
103+
Spre exemplu, avem variabilele `firstName`, `lastName` si `nickName`, toate opționale (adică valoarea lor poate fi undefined sau falsy)
104104

105-
Hai să folosim operatorul ORI `||` pentru a selecta variabila care conține date și să le facem să apară (sau `"Anonim"` dacă niciuna nu are nicio valoare):
105+
Haideți să folosim operatorul ORI `||` pentru a identifica variabila truthy și să folosim conținutul acesteia (sau `"Anonim"` în caz contrar):
106106

107107
```js run
108108
let firstName = "";
@@ -114,16 +114,15 @@ Asta conduce la o utilizate mai interesantă spre deosebire de un boolean clasic
114114
*/!*
115115
```
116116

117-
<!-- If all variables were falsy, `"Anonymous"` would show up. -->
118-
Dacă toate variabilele ar fi efectiv false, ar apărea textul `"Anonim"`.
117+
Dacă toate variabilele ar fi fost falsy, ar fi fost folosit `"Anonim"`.
119118

120-
2. **Evaulare de tip scurt circuit**
119+
2. **Evaluarea de tip scurt circuit.**
121120

122121
O altă caracteristică a operatorului ORI `||` este așa numita evaluare de tip scurt circuit.
123122

124-
Aceasta înseamnă că `||` își procesează argumentele până când prima valoare efectiv adevărată este întâlnită, iar apoi acea valoare este returnată imediat, fără ca celălalt argument să mai fie luat în considera.
123+
Aceasta înseamnă că `||` își procesează argumentele până când prima valoare truthy este întâlnită, iar apoi acea valoare este returnată imediat, fără ca celălalt argument să mai fie luat în considerare.
125124

126-
Importanța acestei caracteristici începe să devina evidentă în momentul în care unul dintre operanți nu reprezintă doar o valoare, ci o expresie care aduce cu sine și un efect advers, cum ar fi atribuirea valorii unei variabile sau apelarea unei funcții.
125+
Importanța acestei caracteristici începe să devină evidentă în momentul în care unul dintre operanți nu conține doar o valoare, ci o expresie care aduce cu sine și un efect advers, cum ar fi atribuirea valorii unei variabile sau invocarea unei funcții.
127126

128127
Pentru exemplul de mai jos, doar al doilea mesaj este printat:
129128

@@ -132,19 +131,17 @@ Asta conduce la o utilizate mai interesantă spre deosebire de un boolean clasic
132131
*!*false*/!* || alert("Acest mesaj este printat!");
133132
```
134133

135-
În prima linie, operatorul OR `||` imediat ce întâlnește valoarea true oprește evaluarea, astfel încât methoda alert nu este rulată.
134+
În prima linie, operatorul ORI `||` imediat ce întâlnește valoarea `true` oprește evaluarea, astfel încât metoda `alert` nu este executată.
136135

137-
Uneori, oeamni folosesc această funcție pentru a executa comenzi doar dacă condiția din partea stângă este efectiv falsă.
136+
Uneori, oamenii folosesc această funcție pentru a executa comenzi doar dacă condiția din partea stângă este falsy.
138137
## &&I)
139138

140-
Operatorul ȘI este reprezentat de două semne de tip ampersand `&&`:
139+
Operatorul ȘI este reprezentat de două semne ampersand `&&`:
141140

142141
```js
143142
result = a && b;
144143
```
145144

146-
<!-- Până aici trebuie înlocuit true, truthy, false, falsey. -->
147-
148145
În programarea clasică, operatorul ȘI are ca rezultat `true` dacă ambii operanți sunt truthy și `false` în caz contrar:
149146

150147
```js run
@@ -165,7 +162,7 @@ if (hour == 12 && minute == 30) {
165162
}
166163
```
167164

168-
La fel cum se întâmplă cu operatorul ORI, orice valoare poate fi acceptată ca fiind operantul lui ȘI:
165+
La fel cum se întâmplă cu operatorul ORI, ȘI poate accepta ca operant orice valoare:
169166

170167
```js run
171168
if (1 && 0) { // evaluat ca true && false
@@ -187,27 +184,27 @@ Operatorul ȘI `&&` face următoarele lucruri:
187184
- Convertește fiecare operant într-un boolean. Dacă rezultatul este `false`, procesul este oprit, iar valoarea originală a operantului este returnată.
188185
- Dacă toți operanții au fost evaluați (și toți sunt truthy), ultimul operant este returnat.
189186

190-
<!-- In other words, AND returns the first falsy value or the last value if none were found. -->
191-
Cu alte cuvinte, operatorul ȘI are ca rezultat prima valoare falsy sau ultima valoare dacă nicuna nu este găsită.
192-
<!-- Mai verifică încă odată propoziția de mai sus. Aici am rămas -->
187+
Cu alte cuvinte, operatorul ȘI are ca rezultat prima valoare falsy sau ultima valoare dacă niciuna nu este falsy.
193188

194-
The rules above are similar to OR. The difference is that AND returns the first *falsy* value while OR returns the first *truthy* one.
189+
Regulile de mai sus sunt similare și pentru ORI. Diferența constă în faputl că ȘI are ca rezultat prima valoare *falsy* în timp ce ORI are ca rezultat prima valoare *truthy*.
195190

196-
Examples:
191+
Exemple:
197192

198193
```js run
199-
// if the first operand is truthy,
200-
// AND returns the second operand:
194+
// dacă primul operant este truthy,
195+
// ȘI are ca rezultat cel de al doilea operant:
201196
alert( 1 && 0 ); // 0
202197
alert( 1 && 5 ); // 5
203198
204-
// if the first operand is falsy,
205-
// AND returns it. The second operand is ignored
199+
// dacă primul operant este falsy,
200+
// acesta este rezultatul lui ȘI, iar cel de al doilea este ignorat
206201
alert( null && 5 ); // null
207-
alert( 0 && "no matter what" ); // 0
202+
alert( 0 && "orice s-ar întâmpla" ); // 0
208203
```
209204

210-
We can also pass several values in a row. See how the first falsy one is returned:
205+
<!-- We can also pass several values in a row. See how the first falsy one is returned: -->
206+
De asemenea, putem oferi mai multe valori în același timp. Observați cum prima valoare falsy este returnată:
207+
<!-- Mai verifică puțin traducerea de mai sus -->
211208

212209
```js run
213210
alert( 1 && 2 && null && 3 ); // null

0 commit comments

Comments
 (0)