Константҳо бо массивҳо ва объектҳо дар 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);