From 6d8e6cfe6db340e6f391ff603ab01b9d367ff9cb Mon Sep 17 00:00:00 2001 From: Aurelian Date: Tue, 20 Dec 2022 13:05:42 +0200 Subject: [PATCH 1/8] The modern mode, 'use strict' --- 1-js/02-first-steps/03-strict-mode/article.md | 72 +++++++++---------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/1-js/02-first-steps/03-strict-mode/article.md b/1-js/02-first-steps/03-strict-mode/article.md index 9586733cc..bc1dcd1be 100644 --- a/1-js/02-first-steps/03-strict-mode/article.md +++ b/1-js/02-first-steps/03-strict-mode/article.md @@ -1,89 +1,89 @@ -# The modern mode, "use strict" +# Metoda modernă "use strict" -For a long time, JavaScript evolved without compatibility issues. New features were added to the language while old functionality didn't change. +Pentru o perioadă lungă de timp, JavaScript a evoluat fără probleme de compatibilitate. Noi caracteristici au fost adăugate limbajului, în timp ce vechile funcționalități nu s-au schimbat. -That had the benefit of never breaking existing code. But the downside was that any mistake or an imperfect decision made by JavaScript's creators got stuck in the language forever. +Acest lucru a avut avantajul de a nu strica niciodată codul existent. Dar dezavantajul era că orice greșeală sau decizie imperfectă, luată de creatorii JavaScript, a rămas blocată în limbaj pentru totdeauna. -This was the case until 2009 when ECMAScript 5 (ES5) appeared. It added new features to the language and modified some of the existing ones. To keep the old code working, most such modifications are off by default. You need to explicitly enable them with a special directive: `"use strict"`. +Acest aspect a fost valabil până în 2009, când a apărut ECMAScript 5 (ES5). Acesta a adăugat noi caracteristici limbajului și a modificat unele dintre cele existente. Pentru ca vechiul cod să rămână funcțional, majoritatea acestor modificări sunt dezactivate în mod standard. Trebuie să le activați în mod explicit cu o comandă specială: `"use strict"`. ## "use strict" -The directive looks like a string: `"use strict"` or `'use strict'`. When it is located at the top of a script, the whole script works the "modern" way. +Comanda arată ca un string ("șir de caractere"): `"use strict"` sau `'use strict'`. Atunci când este amplasată în partea de sus a unui script, întregul script funcționează în mod "modern". -For example: +Exemplu: ```js "use strict"; -// this code works the modern way +// acest cod funcționează folosind metoda modernă ... ``` -Quite soon we're going to learn functions (a way to group commands), so let's note in advance that `"use strict"` can be put at the beginning of a function. Doing that enables strict mode in that function only. But usually people use it for the whole script. +Destul de curând vom învăța functions ("funcții") (o modalitate de a grupa comenzi), așa că putem reține în prealabil că `"use strict"`poate fi pus la începutul unei funcții. Făcând acest lucru, se activează modul strict numai în acea funcție. Dar, de obicei, oamenii îl folosesc pentru întregul script. -````warn header="Ensure that \"use strict\" is at the top" -Please make sure that `"use strict"` is at the top of your scripts, otherwise strict mode may not be enabled. +````warn header="Asigurați-vă că \"use strict\" este la început" +Vă rugăm să vă asigurați că `"use strict"` se află în partea de sus a scripturilor dumneavoastră, în caz contrar, este posibil ca modul strict să nu fie activat. -Strict mode isn't enabled here: +Modul strict nu este activat aici: ```js no-strict alert("some code"); -// "use strict" below is ignored--it must be at the top +// "use strict" de mai jos este ignorat - trebuie să fie în partea de sus, la începutul scriptului "use strict"; -// strict mode is not activated +// modul strict nu este activat ``` -Only comments may appear above `"use strict"`. +Doar comentariile pot apărea deasupra `"use strict"`. ```` -```warn header="There's no way to cancel `use strict`" -There is no directive like `"no use strict"` that reverts the engine to old behavior. +```warn header="Nu există nicio modalitate de a anula `use strict`" +Nu există o comandă de tipul `"no use strict"` care să readucă motorul de căutare ("browserul") la vechiul comportament. -Once we enter strict mode, there's no going back. +Odată ce am activat modul strict, nu mai există cale de întoarcere. ``` -## Browser console +## Consola browserului -When you use a [developer console](info:devtools) to run code, please note that it doesn't `use strict` by default. +Atunci când folosiți [developer console](info:devtools) pentru a rula codul, vă rugăm să rețineți că aceasta nu folosește `use strict` în mod implicit. -Sometimes, when `use strict` makes a difference, you'll get incorrect results. +Uneori, când `use strict` face o diferență, veți obține rezultate incorecte. -So, how to actually `use strict` in the console? +Așadar, cum se utilizează de fapt `use strict` în consolă? -First, you can try to press `key:Shift+Enter` to input multiple lines, and put `use strict` on top, like this: +În primul rând, puteți încerca să apăsați `key:Shift+Enter` pentru a introduce mai multe linii, și să puneți `use strict` deasupra, astfel: ```js -'use strict'; -// ...your code - +'use strict'; +// ...codul tău + ``` -It works in most browsers, namely Firefox and Chrome. +Funcționează în majoritatea browserelor, mai ales în Firefox și Chrome. -If it doesn't, e.g. in an old browser, there's an ugly, but reliable way to ensure `use strict`. Put it inside this kind of wrapper: +Dacă nu funcționează, de exemplu, într-un browser vechi, există o modalitate inestetică, dar fiabilă de a asigura `use strict`. Puneți-l în acest tip de înveliș: ```js (function() { 'use strict'; - // ...your code here... + // ...codul tău... })() ``` -## Should we "use strict"? +## Ar trebui să folosim comanda "use strict"? -The question may sound obvious, but it's not so. +Întrebarea poate părea banală, dar nu este așa. -One could recommend to start scripts with `"use strict"`... But you know what's cool? +Cineva ar putea recomanda să începeți scripturile cu `"use strict"`... Dar știi ce este grozav? -Modern JavaScript supports "classes" and "modules" - advanced language structures (we'll surely get to them), that enable `use strict` automatically. So we don't need to add the `"use strict"` directive, if we use them. +JavaScriptul modern suportă "classes" ("clase") și "modules" ("module") - structuri avansate de limbaj (vom ajunge cu siguranță la ele), care permit `use strict` în mod automat. Astfel, nu este nevoie să adăugăm comanda `"use strict"`, dacă le folosim. -**So, for now `"use strict";` is a welcome guest at the top of your scripts. Later, when your code is all in classes and modules, you may omit it.** +**Deci, deocamdată `"use strict";` este binevenit în partea de sus a scripturilor dumneavoastră. Mai târziu, când tot codul dumneavoastră va cuprinde "classes" și "modules", îl veți putea omite.** -As of now, we've got to know about `use strict` in general. +Din acest moment, trebuie să știm despre `use strict` în general. -In the next chapters, as we learn language features, we'll see the differences between the strict and old modes. Luckily, there aren't many and they actually make our lives better. +În capitolele următoare, pe măsură ce vom învăța caracteristicile limbajului de programare, vom vedea diferențele dintre modul strict și cel vechi. Din fericire, nu sunt prea multe și, de fapt, ne fac viața mai ușoară. -All examples in this tutorial assume strict mode unless (very rarely) specified otherwise. +Toate exemplele din acest tutorial presupun modul strict, cu excepția cazului în care (foarte rar) se specifică altfel. From 901a5dfcdd345d4759f0fd49792aac99cc6a340b Mon Sep 17 00:00:00 2001 From: AurelianVirgil <106430923+AurelianVirgil@users.noreply.github.com> Date: Tue, 20 Dec 2022 16:16:55 +0200 Subject: [PATCH 2/8] Update 1-js/02-first-steps/03-strict-mode/article.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bogdan Bacoșcă --- 1-js/02-first-steps/03-strict-mode/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1-js/02-first-steps/03-strict-mode/article.md b/1-js/02-first-steps/03-strict-mode/article.md index bc1dcd1be..7f5c89b3c 100644 --- a/1-js/02-first-steps/03-strict-mode/article.md +++ b/1-js/02-first-steps/03-strict-mode/article.md @@ -1,4 +1,4 @@ -# Metoda modernă "use strict" +# Modul modern, "use strict" Pentru o perioadă lungă de timp, JavaScript a evoluat fără probleme de compatibilitate. Noi caracteristici au fost adăugate limbajului, în timp ce vechile funcționalități nu s-au schimbat. From 0a058c23ac015363c149d0b13e3e360e969f67be Mon Sep 17 00:00:00 2001 From: AurelianVirgil <106430923+AurelianVirgil@users.noreply.github.com> Date: Fri, 30 Dec 2022 16:33:18 +0200 Subject: [PATCH 3/8] Update 1-js/02-first-steps/03-strict-mode/article.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bogdan Bacoșcă --- 1-js/02-first-steps/03-strict-mode/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1-js/02-first-steps/03-strict-mode/article.md b/1-js/02-first-steps/03-strict-mode/article.md index 7f5c89b3c..abc2f66fe 100644 --- a/1-js/02-first-steps/03-strict-mode/article.md +++ b/1-js/02-first-steps/03-strict-mode/article.md @@ -1,6 +1,6 @@ # Modul modern, "use strict" -Pentru o perioadă lungă de timp, JavaScript a evoluat fără probleme de compatibilitate. Noi caracteristici au fost adăugate limbajului, în timp ce vechile funcționalități nu s-au schimbat. +Pentru o perioadă lungă de timp, JavaScript a evoluat fără probleme de compatibilitate. Noi caracteristici au fost adăugate limbajului în timp ce vechile funcționalități nu s-au schimbat. Acest lucru a avut avantajul de a nu strica niciodată codul existent. Dar dezavantajul era că orice greșeală sau decizie imperfectă, luată de creatorii JavaScript, a rămas blocată în limbaj pentru totdeauna. From 8031dd70063e28bbb45ec3e185076ec92f405230 Mon Sep 17 00:00:00 2001 From: AurelianVirgil <106430923+AurelianVirgil@users.noreply.github.com> Date: Fri, 30 Dec 2022 16:46:48 +0200 Subject: [PATCH 4/8] Update 1-js/02-first-steps/03-strict-mode/article.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bogdan Bacoșcă --- 1-js/02-first-steps/03-strict-mode/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1-js/02-first-steps/03-strict-mode/article.md b/1-js/02-first-steps/03-strict-mode/article.md index abc2f66fe..254629f95 100644 --- a/1-js/02-first-steps/03-strict-mode/article.md +++ b/1-js/02-first-steps/03-strict-mode/article.md @@ -8,7 +8,7 @@ Acest aspect a fost valabil până în 2009, când a apărut ECMAScript 5 (ES5). ## "use strict" -Comanda arată ca un string ("șir de caractere"): `"use strict"` sau `'use strict'`. Atunci când este amplasată în partea de sus a unui script, întregul script funcționează în mod "modern". +Directiva arată ca un șir: `"use strict"` sau `'use strict'`. Atunci când este situată în partea de sus a unui script, întregul script funcționează în mod "modern". Exemplu: From 951f6c6b37343d777065207808336ef289a6425b Mon Sep 17 00:00:00 2001 From: AurelianVirgil <106430923+AurelianVirgil@users.noreply.github.com> Date: Fri, 30 Dec 2022 17:00:34 +0200 Subject: [PATCH 5/8] Update 1-js/02-first-steps/03-strict-mode/article.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bogdan Bacoșcă --- 1-js/02-first-steps/03-strict-mode/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1-js/02-first-steps/03-strict-mode/article.md b/1-js/02-first-steps/03-strict-mode/article.md index 254629f95..720bd8b5b 100644 --- a/1-js/02-first-steps/03-strict-mode/article.md +++ b/1-js/02-first-steps/03-strict-mode/article.md @@ -39,7 +39,7 @@ Doar comentariile pot apărea deasupra `"use strict"`. ```` ```warn header="Nu există nicio modalitate de a anula `use strict`" -Nu există o comandă de tipul `"no use strict"` care să readucă motorul de căutare ("browserul") la vechiul comportament. +Nu există o directivă ca `"no use strict"` care să readucă motorul la vechiul comportament. Odată ce am activat modul strict, nu mai există cale de întoarcere. ``` From 997850bb37174bacf1d64a14d22ca09300849bee Mon Sep 17 00:00:00 2001 From: AurelianVirgil <106430923+AurelianVirgil@users.noreply.github.com> Date: Fri, 30 Dec 2022 17:04:16 +0200 Subject: [PATCH 6/8] Update 1-js/02-first-steps/03-strict-mode/article.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bogdan Bacoșcă --- 1-js/02-first-steps/03-strict-mode/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1-js/02-first-steps/03-strict-mode/article.md b/1-js/02-first-steps/03-strict-mode/article.md index 720bd8b5b..7177fdcc8 100644 --- a/1-js/02-first-steps/03-strict-mode/article.md +++ b/1-js/02-first-steps/03-strict-mode/article.md @@ -57,7 +57,7 @@ Așadar, cum se utilizează de fapt `use strict` în consolă? ```js 'use strict'; // ...codul tău - + ``` Funcționează în majoritatea browserelor, mai ales în Firefox și Chrome. From 3d86ec5f05a3742a44917e2f6ddf4b9d81678ddf Mon Sep 17 00:00:00 2001 From: AurelianVirgil <106430923+AurelianVirgil@users.noreply.github.com> Date: Tue, 3 Jan 2023 14:56:56 +0200 Subject: [PATCH 7/8] Update article.md Final version --- 1-js/02-first-steps/03-strict-mode/article.md | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/1-js/02-first-steps/03-strict-mode/article.md b/1-js/02-first-steps/03-strict-mode/article.md index 7177fdcc8..81c1fb4ff 100644 --- a/1-js/02-first-steps/03-strict-mode/article.md +++ b/1-js/02-first-steps/03-strict-mode/article.md @@ -2,27 +2,27 @@ Pentru o perioadă lungă de timp, JavaScript a evoluat fără probleme de compatibilitate. Noi caracteristici au fost adăugate limbajului în timp ce vechile funcționalități nu s-au schimbat. -Acest lucru a avut avantajul de a nu strica niciodată codul existent. Dar dezavantajul era că orice greșeală sau decizie imperfectă, luată de creatorii JavaScript, a rămas blocată în limbaj pentru totdeauna. +Acest lucru a avut avantajul de a nu strica niciodată codul existent. Dar dezavantajul a fost că orice greșeală sau o decizie imperfectă luată de creatorii JavaScript a rămas blocată în limbaj pentru totdeauna. -Acest aspect a fost valabil până în 2009, când a apărut ECMAScript 5 (ES5). Acesta a adăugat noi caracteristici limbajului și a modificat unele dintre cele existente. Pentru ca vechiul cod să rămână funcțional, majoritatea acestor modificări sunt dezactivate în mod standard. Trebuie să le activați în mod explicit cu o comandă specială: `"use strict"`. +Așa a fost cazul până în 2009 când a apărut ECMAScript 5 (ES5). Acesta a adăugat noi caracteristici limbajului și a modificat unele dintre cele existente. Pentru ca vechiul cod să rămână funcțional, majoritatea acestor modificări sunt dezactivate în mod implicit. Trebuie să le activați în mod explicit cu o directivă specială: `"use strict"`. ## "use strict" Directiva arată ca un șir: `"use strict"` sau `'use strict'`. Atunci când este situată în partea de sus a unui script, întregul script funcționează în mod "modern". -Exemplu: +De exemplu: ```js "use strict"; -// acest cod funcționează folosind metoda modernă +// acest cod funcționează în modul modern ... ``` -Destul de curând vom învăța functions ("funcții") (o modalitate de a grupa comenzi), așa că putem reține în prealabil că `"use strict"`poate fi pus la începutul unei funcții. Făcând acest lucru, se activează modul strict numai în acea funcție. Dar, de obicei, oamenii îl folosesc pentru întregul script. +Destul de curând vom învăța funcții (o modalitate de a grupa comenzi), deci să reținem în prealabil că `"use strict"` poate fi pus la începutul unei funcții. Făcând acest lucru activează modul strict numai în acea funcție. Dar de obicei oamenii îl folosesc pentru întregul script. -````warn header="Asigurați-vă că \"use strict\" este la început" -Vă rugăm să vă asigurați că `"use strict"` se află în partea de sus a scripturilor dumneavoastră, în caz contrar, este posibil ca modul strict să nu fie activat. +````warn header="Asigurați-vă că \"use strict\" este în partea de sus, la început" +Vă rugăm să vă asigurați că `"use strict"` se află în partea de sus a scripturilor vostre, în caz contrar este posibil ca modul strict să nu fie activat. Modul strict nu este activat aici: @@ -38,10 +38,10 @@ alert("some code"); Doar comentariile pot apărea deasupra `"use strict"`. ```` -```warn header="Nu există nicio modalitate de a anula `use strict`" +```warn header="Nu este nicio modalitate de a anula `use strict`" Nu există o directivă ca `"no use strict"` care să readucă motorul la vechiul comportament. -Odată ce am activat modul strict, nu mai există cale de întoarcere. +Odată ce intrăm în modul strict, nu mai există cale de întoarcere. ``` ## Consola browserului @@ -62,28 +62,28 @@ Așadar, cum se utilizează de fapt `use strict` în consolă? Funcționează în majoritatea browserelor, mai ales în Firefox și Chrome. -Dacă nu funcționează, de exemplu, într-un browser vechi, există o modalitate inestetică, dar fiabilă de a asigura `use strict`. Puneți-l în acest tip de înveliș: +Dacă nu funcționează, de exemplu într-un browser vechi, există o modalitate inestetică, dar fiabilă de a asigura `use strict`. Puneți-l în acest tip de înveliș: ```js (function() { 'use strict'; - // ...codul tău... + // ...codul tău aici... })() ``` -## Ar trebui să folosim comanda "use strict"? +## Ar trebui să folosim "use strict"? -Întrebarea poate părea banală, dar nu este așa. +Întrebarea poate părea evidetă, dar nu este așa. -Cineva ar putea recomanda să începeți scripturile cu `"use strict"`... Dar știi ce este grozav? +Cineva ar putea recomanda a începe scripturile cu `"use strict"`... Dar știi ce este grozav? -JavaScriptul modern suportă "classes" ("clase") și "modules" ("module") - structuri avansate de limbaj (vom ajunge cu siguranță la ele), care permit `use strict` în mod automat. Astfel, nu este nevoie să adăugăm comanda `"use strict"`, dacă le folosim. +JavaScriptul modern suportă "classes" și "modules" - structuri avansate de limbaj (vom ajunge cu siguranță la ele), care activează `use strict` automat. Astfel nu este nevoie să adăugăm directiva `"use strict"`, dacă le folosim. -**Deci, deocamdată `"use strict";` este binevenit în partea de sus a scripturilor dumneavoastră. Mai târziu, când tot codul dumneavoastră va cuprinde "classes" și "modules", îl veți putea omite.** +**Deci, deocamdată `"use strict";` este un oaspete binevenit în partea de sus a scripturilor tale. Mai târziu, când tot codul tău va cuprinde "classes" și "modules", îl vei putea omite.** Din acest moment, trebuie să știm despre `use strict` în general. -În capitolele următoare, pe măsură ce vom învăța caracteristicile limbajului de programare, vom vedea diferențele dintre modul strict și cel vechi. Din fericire, nu sunt prea multe și, de fapt, ne fac viața mai ușoară. +În capitolele următoare, pe măsură ce învățăm caracteristicile limbajului de programare, vom vedea diferențele dintre modul strict și cel vechi. Din fericire, nu sunt prea multe și ele ne fac de fapt viața mai ușoară. -Toate exemplele din acest tutorial presupun modul strict, cu excepția cazului în care (foarte rar) se specifică altfel. +Toate exemplele din acest tutorial presupun modul strict dacă nu (foarte rar) se specifică altfel. From 82e416a511560da0d91322cdc9318b7aef478c81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bogdan=20Baco=C8=99c=C4=83?= Date: Wed, 4 Jan 2023 10:26:48 +0200 Subject: [PATCH 8/8] minor fix removed space --- 1-js/02-first-steps/03-strict-mode/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1-js/02-first-steps/03-strict-mode/article.md b/1-js/02-first-steps/03-strict-mode/article.md index 81c1fb4ff..890a131fa 100644 --- a/1-js/02-first-steps/03-strict-mode/article.md +++ b/1-js/02-first-steps/03-strict-mode/article.md @@ -78,7 +78,7 @@ Dacă nu funcționează, de exemplu într-un browser vechi, există o modalitate Cineva ar putea recomanda a începe scripturile cu `"use strict"`... Dar știi ce este grozav? -JavaScriptul modern suportă "classes" și "modules" - structuri avansate de limbaj (vom ajunge cu siguranță la ele), care activează `use strict` automat. Astfel nu este nevoie să adăugăm directiva `"use strict"`, dacă le folosim. +JavaScriptul modern suportă "classes" și "modules" - structuri avansate de limbaj (vom ajunge cu siguranță la ele), care activează `use strict` automat. Astfel nu este nevoie să adăugăm directiva `"use strict"`, dacă le folosim. **Deci, deocamdată `"use strict";` este un oaspete binevenit în partea de sus a scripturilor tale. Mai târziu, când tot codul tău va cuprinde "classes" și "modules", îl vei putea omite.**