• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

js es6 - nadpisywanie stałej

VPS Starter Arubacloud
0 głosów
621 wizyt
pytanie zadane 25 maja 2017 w JavaScript przez crova Użytkownik (940 p.)

Witam,

prosiłbym o wyjaśnienie zasady działania, która stoi za tym, że:

const age = 27;
age = 29
console.log(age);

wywala nam error, podczas gdy


const AGES = [27, 29, 31];
console.log(AGES);
AGES.pop();
console.log(AGES);

usuwa ostatnią pozycję bez problemu

 

Pozdrawiam,

crova

2 odpowiedzi

+2 głosów
odpowiedź 25 maja 2017 przez niezalogowany
wybrane 25 maja 2017 przez crova
 
Najlepsza

const AGES = [] <- tutaj przypisujesz do zmiennej referencję do tablicy

Po wykonaniu metody pop - AGES jest nadal tą samą tablicą (referencja się nie zmieniła), stąd brak problemów

Jeśli chcesz uniemożliwić zmianę wartości w obiekcie, użyj Object.freeze

+3 głosów
odpowiedź 25 maja 2017 przez Kornelia Kobiela Nałogowiec (33,340 p.)

MDN mówi tyle na ten temat:

The const declaration creates a read-only reference to a value. It does not mean the value it holds is immutable, just that the variable identifier cannot be reassigned. For instance, in the case where the content is an object, this means the object's contents (e.g. its parameters) can be altered.

W praktyce oznacza to, że nie można zmienić przypisania do zmiennej, jak robisz w pierwszym przykładzie. Ale można zmienić samą jej zawartość, jeśli jest obiektem. A tak, tablice w JS są obiektami i można zmienić ich zawartość poprzez dodanie lub odjęcie wartości. 

Podobne pytania

+1 głos
2 odpowiedzi 1,321 wizyt
pytanie zadane 10 lipca 2018 w JavaScript przez MrxCI Dyskutant (8,260 p.)
0 głosów
2 odpowiedzi 293 wizyt
pytanie zadane 25 maja 2017 w JavaScript przez crova Użytkownik (940 p.)
0 głosów
0 odpowiedzi 89 wizyt
pytanie zadane 27 sierpnia 2019 w JavaScript przez niezalogowany

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...