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/04-object-basics/01-object/article.md
+9-9
Original file line number
Diff line number
Diff line change
@@ -480,7 +480,7 @@ Obiectele nu sunt așa.
480
480
481
481
**O variabilă nu stochează obiectul în sine, ci "adresa lui în memorie", cu alte cuvinte "o referință" la el.**
482
482
483
-
Mai jos este imaginea pentru obiectul:
483
+
Mai jos este imaginea obiectului:
484
484
485
485
```js
486
486
let user = {
@@ -530,13 +530,13 @@ Operatorii de egalitate `==` și egalitate strictă `===` funcționează la fel
530
530
531
531
**Două obiecte sunt egale numai dacă ele reprezintă același obiect.**
532
532
533
-
De exemplu, dacă două variabile referă același obiect, acestea sunt egale:
533
+
De exemplu, dacă două variabile fac referire la același obiect, acestea sunt egale:
534
534
535
535
```js run
536
536
let a = {};
537
537
let b = a; // copiază referința
538
538
539
-
alert( a == b ); // true, ambele variabile referă același obiect
539
+
alert( a == b ); // true, ambele variabile fac referire la același obiect
540
540
alert( a === b ); // true
541
541
```
542
542
@@ -569,17 +569,17 @@ user.age = 25; // (*)
569
569
alert(user.age); // 25
570
570
```
571
571
572
-
Poate părea că linia `(*)` va genera o eroare, dar nu, nu este absolut nicio problemă. Asta deoarece `const` fixează doar valoare lui `user` în sine. Iar aici `user` stochează referința către același obiect tot timpul. Linia`(*)` este *în interiorul* obiectului, și nu realocă `user`-ul.
572
+
Poate părea că linia `(*)` va genera o eroare, dar nu, nu este absolut nicio problemă. Asta deoarece `const` fixează doar valoarea lui `user` în sine. Iar aici `user` stochează referința către același obiect tot timpul. Linia`(*)` este *în interiorul* obiectului, și nu realocă `user`-ul.
573
573
574
-
Atribuirea `const` va genera o eroare dacă încercăm să-i alocăm altceva, de exemplu:
574
+
Atribuirea `const` va genera o eroare dacă încercăm să-i atribuim altceva, de exemplu:
575
575
576
576
```js run
577
577
const user = {
578
578
name: "John"
579
579
};
580
580
581
581
*!*
582
-
// Eroare (nu putem realoca user)
582
+
// Eroare (nu putem reatribui user)
583
583
*/!*
584
584
user = {
585
585
name: "Pete"
@@ -590,7 +590,7 @@ user = {
590
590
591
591
## Clonarea și contopirea, Object.assign
592
592
593
-
Așadar, copierea unei variabile obiect crează o referință în plus la același obiect.
593
+
Așadar, copierea unei variabile obiect creează o referință în plus la același obiect.
594
594
595
595
Dar dacă avem nevoie să duplicăm un obiect?Să creăm o copie independentă, o clonă?
596
596
@@ -709,7 +709,7 @@ user.sizes.width++; // modifică o proprietate într-un loc
709
709
alert(clone.sizes.width); // 51, vedem rezultatul în altă parte
710
710
```
711
711
712
-
Pentru a rezolva problema, ar trebui să folosim bucla de clonare care fiecare valoare a `user[key]` iar dacă este un obiect să replicheze și structura acestuia. Acest proces se numește "clonare profundă".
712
+
Pentru a rezolva problema, ar trebui să folosim bucla de clonare care examinează fiecare valoare a lui`user[key]` iar dacă este un obiect să replicheze și structura acestuia. Acest proces se numește "clonare profundă".
713
713
714
714
Există un algoritm standard pentru clonarea profundă care gestionează cazul de mai sus și cazuri mai complexe, numit [Algoritm de clonare structurată](http://w3c.github.io/html/infrastructure.html#safe-passing-of-structured-data). Pentru a nu reinventa roata, putem folosi o implementare deja funcțională în librăria JavaScript [lodash](https://lodash.com), metoda se numește [_.cloneDeep(obj)](https://lodash.com/docs#cloneDeep).
715
715
@@ -720,7 +720,7 @@ Există un algoritm standard pentru clonarea profundă care gestionează cazul d
720
720
Obiectele sunt tablouri asociative cu mai multe caracteristici speciale.
721
721
722
722
Ele stochează proprietăți (perechi cheie-valoare), unde:
723
-
-Cheile proprietății trebuie să fie șiruri sau simboluri (de obicei șiruri).
723
+
-Proprietățile chei trebuie să fie șiruri sau simboluri (de obicei șiruri).
0 commit comments