Wiem, że ES6 nie jest jeszcze ustandaryzowane, ale wiele przeglądarek obecnie obsługuje const
słowo kluczowe w JS.
W specyfikacji jest napisane, że:
Wartość stałej nie może ulec zmianie przez ponowne przypisanie, a stałej nie można ponownie zadeklarować. Z tego powodu, chociaż można zadeklarować stałą bez jej inicjalizacji, byłoby to bezcelowe.
a kiedy robię coś takiego:
const xxx = 6;
xxx = 999;
xxx++;
const yyy = [];
yyy = 'string';
yyy = [15, 'a'];
Widzę, że wszystko jest w porządku i xxx
nadal jest .6
yyy
[]
Ale jeśli to zrobię yyy.push(6); yyy.push(1);
, moja stała tablica została zmieniona. W tej chwili tak jest [6, 1]
i przy okazji nadal nie mogę tego zmienić yyy = 1;
.
To jest błąd, czy coś mi brakuje? Wypróbowałem to w najnowszym chrome i FF29