Канстанты з масівамі або аб'ектамі ў JavaScript
Канстанты, якія змяшчаюць масівы і аб'екты, працуюць цікавым чынам. JavaScript не дазваляе змяняць значэнні гэтых канстант, але змяняць уласцівасці аб'ектаў і значэнні элементаў масіваў - можна.
Давайце паглядзім на прыкладах. Хай у нас дадзены вось такі аб'ект:
const obj = {a: 1, b: 2, c: 3};
Давайце паспрабуем запісаць у яго нешта іншае:
obj = 123; // памылка
Давайце паспрабуем запісаць у канстанту іншы аб'ект:
obj = {x: 1, y: 2, z: 3}; // памылка
Аднак, калі мы паспрабуем змяніць уласцівасць аб'екта, то гэта спрацуе:
obj.a = '+'; // працуе!
Што выведзецца ў выніку выканання наступнага кода:
const arr = ['a', 'b', 'c'];
arr[1] = '!';
console.log(arr);
Што выведзецца ў выніку выканання наступнага кода:
const arr = ['a', 'b', 'c'];
arr = [1, 2, 3];
console.log(arr);
Што выведзецца ў выніку выканання наступнага кода:
const arr = ['a', 'b', 'c'];
arr = ['a', 'b', 'c'];
console.log(arr);