首页 > 解决方案 > 我们如何使 Javascript 数组不可变,就像我们拥有 Object.freeze() 方法的对象一样?

问题描述

例如:

const arr = [1,2,3];
arr.push(4);    //4
console.log(arr) //[1,2,3,4]

我希望这个数组是不可变的。它不应允许推送或添加/删除 arr 值。

标签: javascriptarraystypescriptecmascript-6immutability

解决方案


Object.freeze在数组上工作得很好,因为数组也是对象:

const arr = [1,2,3];
Object.freeze(arr);
arr.push(4);    // attempting to push throws


推荐阅读