我试图写一个脚本不能改变的数组;不是通过在数组中添加或弹出元素。我试图做这样的事情:
const arr = [30, 20, 10]
Run Code Online (Sandbox Code Playgroud)
但是当我尝试向 Array 添加一个元素时,它起作用了。
有人可以告诉我如何定义一个不能改变的数组
您正在寻找 Object.freeze()
但是,您应该注意本身是对象的条目仍然可以修改,除非它们也被冻结
const arr = [30, 20, 10, {name: 'Tom', age: 54}, [0]];
Object.freeze(arr);
// arr.push(10); // Uncaught TypeError: Cannot add property 3, object is not extensible
// arr.pop(); // Uncaught TypeError: Cannot delete property '2' of [object Array]
arr[0] = 5;
arr[3].name = 'Modified';
arr[4][0] = 'Modified';
console.log(arr);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
89 次 |
| 最近记录: |