Skip to content

Commit 0cbe441

Browse files
committed
merging all conflicts
2 parents ee05579 + 2921673 commit 0cbe441

File tree

555 files changed

+11569
-7419
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

555 files changed

+11569
-7419
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,4 @@ sftp-config.json
2121
Thumbs.db
2222

2323

24+
/svgs

1-js/01-getting-started/1-intro/article.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,32 @@
11
# O introducere în JavaScript
22

3+
<<<<<<< HEAD
34
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
48
59
## Ce este JavaScript?
610

11+
<<<<<<< HEAD
712
*JavaScript* a fost creat inițial pentru *"a da viață paginilor"*.
13+
=======
14+
*JavaScript* was initially created to "make web pages alive".
15+
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
816
917
Î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ă.
1018

1119
Script-urile sunt furnizate și executate ca și text simplu. Ele nu au nevoie de pregătire specială sau de compilare pentru a rula.
1220

1321
Î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)).
1422

23+
<<<<<<< HEAD
1524
```smart header="Why <u>Java</u>Script?"
1625
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
1730
1831
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.
1932
```
@@ -24,11 +37,19 @@ Browser-ul are un motor încorporat, uneori denumit "mașină virtuală JavaScri
2437

2538
Diferite motoare au diferite "nume de cod", spre exemplu:
2639

40+
<<<<<<< HEAD
2741
- [V8](https://en.wikipedia.org/wiki/V8_(JavaScript_engine)) -- în Chrome și Opera.
2842
- [SpiderMonkey](https://en.wikipedia.org/wiki/SpiderMonkey) -- în Firefox.
2943
- ...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.
3044

3145
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
3253
3354
```smart header="How do engines work?"
3455
@@ -38,7 +59,11 @@ Motoarele sunt complicate. Dar bazele sunt ușoare.
3859
2. Apoi convertește("compilează") script-ul în limbajul mașină.
3960
3. Apoi codul mașină rulează, destul de repede.
4061
62+
<<<<<<< HEAD
4163
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
4267
```
4368

4469
## Ce poate JavaScript-ul din browser să facă?
@@ -59,11 +84,19 @@ De exemplu, JavaScript din browser este capabil să:
5984

6085
## Ce nu poate JavaScript-ul din browser să facă?
6186

87+
<<<<<<< HEAD
6288
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
6392
6493
Exemplele acestor restricții sunt:
6594

95+
<<<<<<< HEAD
6696
- 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
67100
68101
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>`.
69102

@@ -84,9 +117,15 @@ Astfel de limite nu există dacă JavaScript este folosit în afara browser-ului
84117
Sunt cel puțin *trei* lucruri imporante în legătură cu JavaScript:
85118

86119
```compare
120+
<<<<<<< HEAD
87121
+ Integrare completă cu HTML/CSS.
88122
+ Lucrurile simple sunt făcute simplu.
89123
+ 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
90129
```
91130
JavaScript este singura tehnologie browser care combină aceste 3 lucruri.
92131

@@ -106,15 +145,30 @@ Uneltele moderne fac transpilarea foarte rapidă și transparentă, permițând
106145

107146
Exemple de astfel de limbaje:
108147

148+
<<<<<<< HEAD
109149
- [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.
110150
- [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.
111151
- [Flow](http://flow.org/) adaugă tipizarea datelor, dar într-un mod diferit. Dezvoltate de Facebook.
112152
- [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
113161
114162
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.
115163

116164
## Rezumat
117165

166+
<<<<<<< HEAD
118167
- JavaScript a fost creat inițial ca limbaj doar pentru browser(browser-only), dar acum este de asemenea folosit în multe alte medii.
119168
- 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.
120169
- 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.
174+
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834

1-js/01-getting-started/2-manuals-specifications/article.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,39 @@ Această carte este un *tutorial*. Are ca obiectiv să te ajute să înveți tre
55

66
## Specificații
77

8+
<<<<<<< HEAD
89
**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
913
1014
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.
1115

16+
<<<<<<< HEAD
1217
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
1321
1422
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>.
1523

24+
<<<<<<< HEAD
1625
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
1729
1830
## Manuale
1931

32+
<<<<<<< HEAD
2033
- **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
2137
2238
Poate fi găsit la <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference>.
2339

40+
<<<<<<< HEAD
2441
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`.
2542

2643
- **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
3047
## Tabele de compatibilitate
3148

3249
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
3353
3454
Pentru a vedea suportul acestora printre browsere și alte motoare vezi:
3555

1-js/01-getting-started/4-devtools/article.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,19 @@ Aspectul exact al uneltelor de dezvoltare depinde de versiunea de Chrome folosit
2929
- Aici vedem mesajul colorat în roșu. În acest caz, scriptul conține o comandă necunoscută, "lalala".
3030
- În partea dreaptă se află un link către sursa `bug.html:12`, cu numărul liniei pe care a apărut eroarea.
3131

32+
<<<<<<< HEAD
3233
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
3337
3438
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>.
3539

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+
```
3645

3746
## Firefox, Edge, și altele
3847

@@ -50,13 +59,17 @@ Deschideți preferințele (Preferences) și mergeți în secțiunea de setări a
5059

5160
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.
5261

62+
<<<<<<< HEAD
5363
```smart header="Multi-line input"
5464
În mod obișnuit, când introducem o linie de cod în consolă și apoi apăsăm `key:Enter`, codul se execută.
5565
5666
Pentru a introduce mai multe linii, apăsați `key:Shift+Enter`. În acest fel oricine poate insera fragmente lungi de cod JavaScript.
5767
```
5868

5969
## Rezumat
70+
=======
71+
## Summary
72+
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
6073
6174
- Uneltele de dezvoltare ne permit să vedem erori, să executăm comenzi, să evaluăm variabile și multe altele.
6275
- 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).
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<!DOCTYPE html>
2+
<html>
3+
4+
<body>
5+
6+
<script>
7+
alert( "I'm JavaScript!" );
8+
</script>
9+
10+
</body>
11+
12+
</html>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
2+
[html src="index.html"]

1-js/02-first-steps/01-hello-world/article.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ So first, let's see how we attach a script to a webpage. For server-side environ
99

1010
## The "script" tag
1111

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.
1313

1414
For instance:
1515

@@ -46,7 +46,7 @@ The `<script>` tag contains JavaScript code which is automatically executed when
4646
The `<script>` tag has a few attributes that are rarely used nowadays but can still be found in old code:
4747

4848
The `type` attribute: <code>&lt;script <u>type</u>=...&gt;</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.
5050

5151
The `language` attribute: <code>&lt;script <u>language</u>=...&gt;</code>
5252
: 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.
6060
//--></script>
6161
```
6262

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.
6464

6565

6666
## External scripts
@@ -73,12 +73,12 @@ Script files are attached to HTML with the `src` attribute:
7373
<script src="/path/to/script.js"></script>
7474
```
7575

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.
7777

7878
We can give a full URL as well. For instance:
7979

8080
```html
81-
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.2.0/lodash.js"></script>
81+
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>
8282
```
8383

8484
To attach several scripts, use multiple tags:

0 commit comments

Comments
 (0)