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/01-getting-started/1-intro/article.md
+54Lines changed: 54 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,19 +1,32 @@
1
1
# O introducere în JavaScript
2
2
3
+
<<<<<<< HEAD
3
4
Să vedem ce e atât de special la JavaScript, ce putem realiza cu el și ce alte tehnologii se înțeleg bine cu acesta.
5
+
=======
6
+
Let's see what's so special about JavaScript, what we can achieve with it, and what other technologies play well with it.
7
+
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
4
8
5
9
## Ce este JavaScript?
6
10
11
+
<<<<<<< HEAD
7
12
*JavaScript* a fost creat inițial pentru *"a da viață paginilor"*.
13
+
=======
14
+
*JavaScript* was initially created to "make web pages alive".
15
+
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
8
16
9
17
În acest limbaj programele sunt numite *script-uri*(scripts). Acestea pot fi scrise direct în HTML și executate în mod automat pe măsură ce pagina se încarcă.
10
18
11
19
Script-urile sunt furnizate și executate ca și text simplu. Ele nu au nevoie de pregătire specială sau de compilare pentru a rula.
12
20
13
21
În ceea ce privește acest aspect, JavaScript este foarte diferit față de un alt limbaj cu nume asemănător, [Java](https://en.wikipedia.org/wiki/Java_(programming_language)).
14
22
23
+
<<<<<<< HEAD
15
24
```smart header="Why <u>Java</u>Script?"
16
25
Când JavaScript a fost creat, inițial avea un alt nume: "LiveScript". Dar la acel moment limbajul Java era foarte popular, așa s-a decis că poziționarea unui nou limbaj ca și "frate mai mic" al lui Java, va ajuta.
26
+
=======
27
+
```smart header="Why is it called <u>Java</u>Script?"
28
+
When JavaScript was created, it initially had another name: "LiveScript". But Java was very popular at that time, so it was decided that positioning a new language as a "younger brother" of Java would help.
29
+
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
17
30
18
31
Dar cum acesta a evoluat, JavaScript a devenit un limbaj complet independent, cu propriile specificații, numite [ECMAScript](http://en.wikipedia.org/wiki/ECMAScript), iar acum nu mai are nici o legătură cu Java.
19
32
```
@@ -24,11 +37,19 @@ Browser-ul are un motor încorporat, uneori denumit "mașină virtuală JavaScri
24
37
25
38
Diferite motoare au diferite "nume de cod", spre exemplu:
26
39
40
+
<<<<<<< HEAD
27
41
-[V8](https://en.wikipedia.org/wiki/V8_(JavaScript_engine)) -- în Chrome și Opera.
28
42
-[SpiderMonkey](https://en.wikipedia.org/wiki/SpiderMonkey) -- în Firefox.
29
43
- ...Mai există și alte nume de cod precum "Trident" și "Chakra" pentru diferite versiuni de IE, "ChakraCore" pentru Microsoft Edge, "Nitro" și "SquirrelFish" pentru Safari, etc.
30
44
31
45
Termenii de mai sus sunt bine de știut, pentru că ei sunt folosiți în articole ale dezvoltatorilor, pe internet. De exemplu dacă "o caracteristică(feature) X este suportată de către V8", atunci probabil că merge și în Chrome și în Opera.
46
+
=======
47
+
-[V8](https://en.wikipedia.org/wiki/V8_(JavaScript_engine)) -- in Chrome, Opera and Edge.
48
+
-[SpiderMonkey](https://en.wikipedia.org/wiki/SpiderMonkey) -- in Firefox.
49
+
- ...There are other codenames like "Chakra" for IE, "JavaScriptCore", "Nitro" and "SquirrelFish" for Safari, etc.
50
+
51
+
The terms above are good to remember because they are used in developer articles on the internet. We'll use them too. For instance, if "a feature X is supported by V8", then it probably works in Chrome, Opera and Edge.
52
+
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
32
53
33
54
```smart header="How do engines work?"
34
55
@@ -38,7 +59,11 @@ Motoarele sunt complicate. Dar bazele sunt ușoare.
38
59
2. Apoi convertește("compilează") script-ul în limbajul mașină.
39
60
3. Apoi codul mașină rulează, destul de repede.
40
61
62
+
<<<<<<< HEAD
41
63
Motorul aplică optimizări la fiecare stadiu al procesului. Ba chiar observă script-ul compilat cum rulează, analizează datele care trec prin el și aplică optimizări asupra codului mașină, bazate pe informațiile strânse. La sfârșit script-urile rulează destul de repede.
64
+
=======
65
+
The engine applies optimizations at each step of the process. It even watches the compiled script as it runs, analyzes the data that flows through it, and further optimizes the machine code based on that knowledge.
66
+
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
42
67
```
43
68
44
69
## Ce poate JavaScript-ul din browser să facă?
@@ -59,11 +84,19 @@ De exemplu, JavaScript din browser este capabil să:
59
84
60
85
## Ce nu poate JavaScript-ul din browser să facă?
61
86
87
+
<<<<<<< HEAD
62
88
Abilitățile JavaScript-ului din browser sunt limitate pentru siguranța utilizatorului. Scopul este acela de a preveni o pagină web malițioasă să acceseze informații private sau să corupă datele utilizatorului.
89
+
=======
90
+
JavaScript's abilities in the browser are limited for the sake of a user's safety. The aim is to prevent an evil webpage from accessing private information or harming the user's data.
91
+
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
63
92
64
93
Exemplele acestor restricții sunt:
65
94
95
+
<<<<<<< HEAD
66
96
- JavaScript, pe o pagină web, nu poate citi/scrie fișiere arbitrare pe hard disk, nu le poate copia sau să execute programe. Nu are acces direct la funcțiile sistemului de operare.
97
+
=======
98
+
- JavaScript on a webpage may not read/write arbitrary files on the hard disk, copy them or execute programs. It has no direct access to OS functions.
99
+
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
67
100
68
101
Browserele moderne îi permit să lucreze cu fișiere, dar accesul este limitat și furnizat doar dacă utilizatorul realizează anumite acțiuni, cum ar fi "scăparea" unui fișier într-o fereastră de browser sau selectarea lui printr-un tag `<input>`.
69
102
@@ -84,9 +117,15 @@ Astfel de limite nu există dacă JavaScript este folosit în afara browser-ului
84
117
Sunt cel puțin *trei* lucruri imporante în legătură cu JavaScript:
85
118
86
119
```compare
120
+
<<<<<<< HEAD
87
121
+ Integrare completă cu HTML/CSS.
88
122
+ Lucrurile simple sunt făcute simplu.
89
123
+ Este suportat de către toate browserele majore și este activat în mod implicit.
124
+
=======
125
+
+ Full integration with HTML/CSS.
126
+
+ Simple things are done simply.
127
+
+ Supported by all major browsers and enabled by default.
128
+
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
90
129
```
91
130
JavaScript este singura tehnologie browser care combină aceste 3 lucruri.
92
131
@@ -106,15 +145,30 @@ Uneltele moderne fac transpilarea foarte rapidă și transparentă, permițând
106
145
107
146
Exemple de astfel de limbaje:
108
147
148
+
<<<<<<< HEAD
109
149
-[CoffeeScript](http://coffeescript.org/) este un "zahăr sintactic" pentru JavaScript, el introduce sintaxă mai scurtă, permițând scrierea de cod mai clar și mai precis. De obicei dezvoltatorii Ruby îl plac.
110
150
-[TypeScript](http://www.typescriptlang.org/) este concentrat pe adăugarea de "tipizare strictă de date", pentru a simplifica dezvoltarea și suportul sistemelor complexe. Este dezvoltat de Microsoft.
111
151
-[Flow](http://flow.org/) adaugă tipizarea datelor, dar într-un mod diferit. Dezvoltate de Facebook.
112
152
-[Dart](https://www.dartlang.org/) este un limbaj standalone care are propriul său motor care rulează în medii non-browser(precum aplicațiile mobile). A fost oferit inițial de către Google ca și un înlocuitor pentru JavaScript, dar de acum browserele necesită ca acesta să fie transpilat în JavaScript la fel ca cele de mai sus.
153
+
=======
154
+
-[CoffeeScript](http://coffeescript.org/) is a "syntactic sugar" for JavaScript. It introduces shorter syntax, allowing us to write clearer and more precise code. Usually, Ruby devs like it.
155
+
-[TypeScript](http://www.typescriptlang.org/) is concentrated on adding "strict data typing" to simplify the development and support of complex systems. It is developed by Microsoft.
156
+
-[Flow](http://flow.org/) also adds data typing, but in a different way. Developed by Facebook.
157
+
-[Dart](https://www.dartlang.org/) is a standalone language that has its own engine that runs in non-browser environments (like mobile apps), but also can be transpiled to JavaScript. Developed by Google.
158
+
-[Brython](https://brython.info/) is a Python transpiler to JavaScript that enables the writing of applications in pure Python without JavaScript.
159
+
-[Kotlin](https://kotlinlang.org/docs/reference/js-overview.html) is a modern, concise and safe programming language that can target the browser or Node.
160
+
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
113
161
114
162
Există mai multe. Desigur, chiar dacă folosim unul dintre aceste limbaje, ar trebui de asemenea să știm JavaScript, pentru a înțelege cu adevărat ce facem.
115
163
116
164
## Rezumat
117
165
166
+
<<<<<<< HEAD
118
167
- JavaScript a fost creat inițial ca limbaj doar pentru browser(browser-only), dar acum este de asemenea folosit în multe alte medii.
119
168
- La momentul actual, JavaScript deține o poziție unică ca cel mai răspândit și adoptat limbaj browser cu integrare completă cu HTML/CSS.
120
169
- Există multe limbaje care sunt "transpilate" în JavaScript și furnizează anumite caracteristici. Este recomandat să arunci o privire peste ele, în linii mari, după ce stăpânești JavaScript.
170
+
=======
171
+
- JavaScript was initially created as a browser-only language, but it is now used in many other environments as well.
172
+
- Today, JavaScript has a unique position as the most widely-adopted browser language, fully integrated with HTML/CSS.
173
+
- There are many languages that get "transpiled" to JavaScript and provide certain features. It is recommended to take a look at them, at least briefly, after mastering JavaScript.
Copy file name to clipboardExpand all lines: 1-js/01-getting-started/2-manuals-specifications/article.md
+20Lines changed: 20 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,22 +5,39 @@ Această carte este un *tutorial*. Are ca obiectiv să te ajute să înveți tre
5
5
6
6
## Specificații
7
7
8
+
<<<<<<< HEAD
8
9
**Specificația ECMA-262** conține cea mai în profunzime, detaliată și formalizată informație despre JavaScript. Aceasta definește limbajul.
10
+
=======
11
+
[The ECMA-262 specification](https://www.ecma-international.org/publications/standards/Ecma-262.htm) contains the most in-depth, detailed and formalized information about JavaScript. It defines the language.
12
+
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
9
13
10
14
Dar fiind atât de formalizată, este grea de înțeles la început. Deci dacă ai nevoie de cea mai de încredere sursă de informație despre detaliile limbajului, specificațiile sunt locul potrivit. Dar nu sunt pentru uzul obișnuit.
11
15
16
+
<<<<<<< HEAD
12
17
Ultima schiță este la <https://tc39.es/ecma262/>.
18
+
=======
19
+
A new specification version is released every year. In-between these releases, the latest specification draft is at <https://tc39.es/ecma262/>.
20
+
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
13
21
14
22
Pentru a citi despre noile caracteristici avansate, incluzând acelea care sunt "aproape standard" (așa-numita "etapă a treia"), vezi propunerile la <https://github.com/tc39/proposals>.
15
23
24
+
<<<<<<< HEAD
16
25
De asemenea, dacă programezi pentru browser, atunci sunt și alte specificații care sunt abordate în [partea a doua](info:browser-environment) a tutorialului.
26
+
=======
27
+
Also, if you're developing for the browser, then there are other specifications covered in the [second part](info:browser-environment) of the tutorial.
28
+
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
17
29
18
30
## Manuale
19
31
32
+
<<<<<<< HEAD
20
33
-**MDN (Mozilla) JavaScript Reference** este un manual cu exemple și alte informații. Este bun pentru a obține informații mult mai profunde despre funcții individuale ale limbajului, metode etc.
34
+
=======
35
+
-**MDN (Mozilla) JavaScript Reference** is the main manual with examples and other information. It's great to get in-depth information about individual language functions, methods etc.
36
+
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
21
37
22
38
Poate fi găsit la <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference>.
23
39
40
+
<<<<<<< HEAD
24
41
Deși, adeseori cel mai bine este să cauți pe internet. Doar folosește "MDN [term]" în query, e.g. <https://google.com/search?q=MDN+parseInt> pentru a căuta funcția `parseInt`.
25
42
26
43
-**MSDN** – manual de la Microsoft cu o multitudine de informații, inclusiv JavaScript (adeseori menționat ca JScript). Dacă cineva are nevoie de ceva specific pentru Internet Explorer, cel mai bine este să vadă: <http://msdn.microsoft.com/>.
@@ -30,6 +47,9 @@ De asemenea, dacă programezi pentru browser, atunci sunt și alte specificații
30
47
## Tabele de compatibilitate
31
48
32
49
JavaScipt este un limbaj în dezvoltare, noi caracteristici fiind adăugate regulat.
50
+
=======
51
+
Although, it's often best to use an internet search instead. Just use "MDN [term]" in the query, e.g. <https://google.com/search?q=MDN+parseInt> to search for `parseInt` function.
52
+
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
33
53
34
54
Pentru a vedea suportul acestora printre browsere și alte motoare vezi:
Copy file name to clipboardExpand all lines: 1-js/01-getting-started/4-devtools/article.md
+13Lines changed: 13 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,10 +29,19 @@ Aspectul exact al uneltelor de dezvoltare depinde de versiunea de Chrome folosit
29
29
- Aici vedem mesajul colorat în roșu. În acest caz, scriptul conține o comandă necunoscută, "lalala".
30
30
- În partea dreaptă se află un link către sursa `bug.html:12`, cu numărul liniei pe care a apărut eroarea.
31
31
32
+
<<<<<<< HEAD
32
33
Sub mesajul de eroare se află un simbol `>` albastru. El marchează o "linie de comandă" unde putem introduce comenzi JavaScript. Apăsați `key:Enter` ca să le rulați (`key:Shift+Enter` pentru a introduce comenzi pe mai multe linii).
34
+
=======
35
+
Below the error message, there is a blue `>` symbol. It marks a "command line" where we can type JavaScript commands. Press `key:Enter` to run them.
36
+
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
33
37
34
38
Pentru moment putem vedea erorile și asta e suficient pentru început. Vom reveni mai târziu la uneltele de dezvoltare și vom detalia depanarea în capitolul <info:debugging-chrome>.
35
39
40
+
```smart header="Multi-line input"
41
+
Usually, when we put a line of code into the console, and then press `key:Enter`, it executes.
42
+
43
+
To insert multiple lines, press `key:Shift+Enter`. This way one can enter long fragments of JavaScript code.
44
+
```
36
45
37
46
## Firefox, Edge, și altele
38
47
@@ -50,13 +59,17 @@ Deschideți preferințele (Preferences) și mergeți în secțiunea de setări a
50
59
51
60
Acum, cu tastele `key:Cmd+Opt+C` puteți afișa sau ascunde consola. De asemenea, în meniul principal a apărut opțiunea "Develop". Are multe comenzi și opțiuni.
52
61
62
+
<<<<<<< HEAD
53
63
```smart header="Multi-line input"
54
64
În mod obișnuit, când introducem o linie de cod în consolă și apoi apăsăm `key:Enter`, codul se execută.
55
65
56
66
Pentru a introduce mai multe linii, apăsați `key:Shift+Enter`. În acest fel oricine poate insera fragmente lungi de cod JavaScript.
57
67
```
58
68
59
69
## Rezumat
70
+
=======
71
+
## Summary
72
+
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
60
73
61
74
- Uneltele de dezvoltare ne permit să vedem erori, să executăm comenzi, să evaluăm variabile și multe altele.
62
75
- Ele pot fi deschise cu tasta `key:F12` în majoritatea browserelor, pe Windows. Chrome pentru Mac folosește `key:Cmd+Opt+J`, Safari: `key:Cmd+Opt+C` (dar trebuie întâi activat).
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/01-hello-world/article.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ So first, let's see how we attach a script to a webpage. For server-side environ
9
9
10
10
## The "script" tag
11
11
12
-
JavaScript programs can be inserted into any part of an HTML document with the help of the `<script>` tag.
12
+
JavaScript programs can be inserted almost anywhere into an HTML document using the `<script>` tag.
13
13
14
14
For instance:
15
15
@@ -46,7 +46,7 @@ The `<script>` tag contains JavaScript code which is automatically executed when
46
46
The `<script>` tag has a few attributes that are rarely used nowadays but can still be found in old code:
47
47
48
48
The `type` attribute: <code><script <u>type</u>=...></code>
49
-
: The old HTML standard, HTML4, required a script to have a `type`. Usually it was `type="text/javascript"`. It's not required anymore. Also, the modern HTML standard totally changed the meaning of this attribute. Now, it can be used for JavaScript modules. But that's an advanced topic; we'll talk about modules in another part of the tutorial.
49
+
: The old HTML standard, HTML4, required a script to have a `type`. Usually it was `type="text/javascript"`. It's not required anymore. Also, the modern HTML standard totally changed the meaning of this attribute. Now, it can be used for JavaScript modules. But that's an advanced topic, we'll talk about modules in another part of the tutorial.
50
50
51
51
The `language` attribute: <code><script <u>language</u>=...></code>
52
52
: This attribute was meant to show the language of the script. This attribute no longer makes sense because JavaScript is the default language. There is no need to use it.
@@ -60,7 +60,7 @@ Comments before and after scripts.
60
60
//--></script>
61
61
```
62
62
63
-
This trick isn't used in modern JavaScript. These comments hid JavaScript code from old browsers that didn't know how to process the `<script>` tag. Since browsers released in the last 15 years don't have this issue, this kind of comment can help you identify really old code.
63
+
This trick isn't used in modern JavaScript. These comments hide JavaScript code from old browsers that didn't know how to process the `<script>` tag. Since browsers released in the last 15 years don't have this issue, this kind of comment can help you identify really old code.
64
64
65
65
66
66
## External scripts
@@ -73,12 +73,12 @@ Script files are attached to HTML with the `src` attribute:
73
73
<scriptsrc="/path/to/script.js"></script>
74
74
```
75
75
76
-
Here, `/path/to/script.js` is an absolute path to the script from the site root. One can also provide a relative path from the current page. For instance, `src="script.js"` would mean a file `"script.js"` in the current folder.
76
+
Here, `/path/to/script.js` is an absolute path to the script from the site root. One can also provide a relative path from the current page. For instance, `src="script.js"`, just like `src="./script.js"`, would mean a file `"script.js"` in the current folder.
0 commit comments