You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/02-structure/article.md
+23-28Lines changed: 23 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ Deja am întâlnit o declarație, `alert('Hello, world!')`, care afișează mesa
10
10
11
11
Putem avea cât de multe declarații vrem în codul nostru. Declarațiile pot fi separate prin punct și virgulă.
12
12
13
-
De exemplu, aici vom despărți "Hello World" în două alerte diferite:
13
+
De exemplu, aici vom despărți "Hello World" în două alerte:
14
14
15
15
```js run no-beautify
16
16
alert('Hello'); alert('World');
@@ -27,27 +27,26 @@ alert('World');
27
27
28
28
Punctul și virgula pot fi omise în majoritatea cazurilor când există o pauză de linie.
29
29
30
-
Acest lucru ar funcționa, de asemenea:
30
+
Asta ar funcționa la fel:
31
31
32
32
```js run no-beautify
33
33
alert('Hello')
34
34
alert('World')
35
35
```
36
36
37
-
Aici, JavaScript interpretează întreruperea liniei ca punct și virgulă „implicit”. Aceasta se numește [introducerea automata a punctului și virgulei](https://tc39.github.io/ecma262/#sec-automatic-semicolon-insertion).
37
+
Aici, JavaScript interpretează întreruperea liniei ca punct și virgulă „implicit”. Asta se numește [automatic semicolon insertion](https://tc39.github.io/ecma262/#sec-automatic-semicolon-insertion).
38
38
39
-
**În cele mai multe cazuri, o linie nouă implică punct și virgulă. Dar „în majoritatea cazurilor” nu înseamnă „întotdeauna!**
39
+
**În cele mai multe cazuri, o linie nouă implică punct și virgulă. Dar „în majoritatea cazurilor” nu înseamnă "întotdeauna"!**
40
40
41
-
Sunt cazuri când o linie nouă nu înseamna un punct și virgulă. De exemplu:
41
+
Sunt cazuri când o linie nouă nu înseamnă un punct și virgulă. De exemplu:
42
42
43
43
```js run no-beautify
44
44
alert(3+
45
45
1
46
46
+2);
47
47
```
48
48
49
-
50
-
The code outputs `6` because JavaScript does not insert semicolons here. It is intuitively obvious that if the line ends with a plus `"+"`, then it is an "incomplete expression", so a semicolon there would be incorrect. And in this case, that works as intended.
49
+
Codul produce `6` pentru că JavaScript nu introduce punct și virgulă aici. Este intuitiv evidend că dacă linia se termină cu un plus `"+"`, apoi este o "expresie incompletă", deci un punc și virgulă acolo ar fi incorect. Iar în acest caz, asta funcționează cum trebuie.
51
50
52
51
**Există situații în care JavaScript „eșuează” să-și asume un punct și virgulă unde este cu adevărat necesar.**
53
52
@@ -57,45 +56,42 @@ Erorile care apar în astfel de cazuri sunt destul de greu de găsit și de reme
57
56
Dacă sunteți curios să vedeți un exemplu concret de astfel de eroare, verificați acest cod:
58
57
59
58
```js run
60
-
alert("Hello");
59
+
alert("Salut");
61
60
62
61
[1, 2].forEach(alert);
63
62
```
64
63
65
-
No need to think about the meaning of the brackets `[]` and `forEach` yet. We'll study them later. For now, just remember the result of running the code: it shows `Hello`, then `1`, then `2`.
64
+
Nu este nevoie să vă gândiți încă la semnificația parantezelor `[]` și `forEach`. Le vom studia mai târziu. Deocamdată, amintiți-vă doar rezultatul executării codului: apare `Salut`, apoi `1`, apoi `2`.
66
65
67
-
Now let's remove the semicolon after the `alert`:
66
+
Acum să eliminăm punctul și virgula de după `alert`:
68
67
69
68
```js run no-beautify
70
-
alert("Hello")
69
+
alert("Salut")
71
70
72
71
[1, 2].forEach(alert);
73
72
```
74
73
75
-
The difference compared to the code above is only one character: the semicolon at the end of the first line is gone.
74
+
Diferența față de codul de mai sus este de un singur caracter: punctul și virgula de la sfârșitul primei linii a dispărut.
76
75
77
-
If we run this code, only the first `Hello` shows (and there's an error, you may need to open the console to see it). There are no numbers any more.
76
+
Dacă rulăm acest cod, apare doar primul `Hello` (și există o eroare, poate fi necesar să deschideți consola pentru a o vedea). Nu mai există niciun număr.
78
77
79
-
That's because JavaScript does not assume a semicolon before square brackets `[...]`. So, the code in the last example is treated as a single statement.
78
+
Asta pentru că JavaScript nu presupune un punct și virgulă înaintea parantezelor pătrate `[...]`. Așadar, codul din ultimul exemplu este tratat ca o singură instrucțiune.
80
79
81
-
Here's how the engine sees it:
80
+
Așa e cum îl vede motorul:
82
81
83
82
```js run no-beautify
84
-
alert("Hello")[1, 2].forEach(alert);
83
+
alert("Salut")[1, 2].forEach(alert);
85
84
```
86
85
87
-
Looks weird, right? Such merging in this case is just wrong. We need to put a semicolon after `alert` for the code to work correctly.
88
-
89
-
This can happen in other situations also.
86
+
Arată ciudat, nu? O astfel de fuziune în acest caz este pur și simplu greșită. Trebuie să punem un punct și virgulă după `alert` pentru ca codul să funcționeze corect.
90
87
88
+
Acest lucru se poate întâmpla și în alte situații.
91
89
````
92
90
93
-
Vă recomandăm să puneți punct și virgulă între instrucțiuni, chiar dacă sunt separate prin linii noi. Această regulă este adoptată pe scară largă de comunitate. Să notăm încă o dată -- *este posibil* să omitem punctul și virgula de cele mai multe ori. Dar este mai sigur -- mai ales pentru un începător -- să o folosească.
94
-
91
+
Vă recomandăm să puneți punct și virgulă între instrucțiuni, chiar dacă sunt separate prin linii noi. Această regulă este adoptată pe scară largă de comunitate. Să notăm încă o dată -- *este posibil* să omitem punctul și virgula de cele mai multe ori. Dar este mai sigur -- în special pentru un începător -- să o folosească.
95
92
96
93
## Comments [#code-comments]
97
94
98
-
99
95
Pe măsură ce timpul trece, programele devin din ce în ce mai complexe. Devine necesar să adăugați *comentarii* care descriu ce face codul și de ce.
100
96
101
97
Comentariile pot fi puse în orice loc al unui script. Acestea nu afectează execuția acestuia, deoarece motorul pur și simplu le ignoră.
@@ -126,7 +122,7 @@ alert('World');
126
122
127
123
Conținutul comentariilor este ignorat, deci dacă punem cod în interior <code>/* ... */</code>, acesta nu o să se execute.
128
124
129
-
Uneori, poate fi util să dezactivați temporar o parte a codului:
125
+
Uneori poate fi util să dezactivați temporar o parte a codului:
130
126
131
127
```js run
132
128
/* Comentând codul
@@ -135,12 +131,11 @@ alert('Hello');
135
131
alert('World');
136
132
```
137
133
138
-
139
134
```smart header="Use hotkeys!"
140
-
In most editors, a line of code can be commented out by pressing the `key:Ctrl+/` hotkey for a single-line comment and something like `key:Ctrl+Shift+/` -- for multiline comments (select a piece of code and press the hotkey). For Mac, try `key:Cmd` instead of `key:Ctrl` and `key:Option` instead of `key:Shift`.
135
+
În majoritatea editorilor, o linie de cod poate fi comentată prin apăsarea tastei de acces rapid `key:Ctrl+/` pentru un comentariu pe o singură linie și ceva de genul `key:Ctrl+Shift+/` -- pentru comentarii pe mai multe linii (selectați o bucată de cod și apăsați tasta de acces rapid). Pentru Mac, încercați `key:Cmd` în loc de `key:Ctrl` și `key:Option` în loc de `key:Shift`.
141
136
```
142
137
143
-
````warn header="Comentariile imbricate nu sunt suportate!"
138
+
````warn header="Comentariile nested nu sunt suportate!"
144
139
Nu poate exista `/*...*/` în interiorul altui `/*...*/`.
145
140
146
141
Acest cod va genera o eroare:
@@ -149,12 +144,12 @@ Acest cod va genera o eroare:
149
144
/*
150
145
/* comentariu imbricat ?!? */
151
146
*/
152
-
alert( 'World' );
147
+
alert( 'Lume' );
153
148
```
154
149
````
155
150
156
151
Vă rugăm, nu ezitați să vă comentați codul.
157
152
158
-
Comentariile cresc amprenta generală a codului, dar aceasta nu este deloc o problemă. Există multe instrumente care reduc codul înainte de publicarea pe un server de producție. Șterg comentariile, deci nu apar în scripturile de lucru. Prin urmare comentariile nu au deloc efecte negative asupra producției.
153
+
Comentariile cresc amprenta generală a codului, dar aceasta nu este deloc o problemă. Există multe instrumente care micșorează codul înainte de publicarea pe un server de producție. Șterg comentariile, deci nu apar în scripturile de lucru. Prin urmare comentariile nu au deloc efecte negative asupra producției.
159
154
160
155
Mai târziu în tutorial va exista un capitol <info:code-quality> care explică, de asemenea, cum să scrieți comentarii mai bune.
0 commit comments