javascript - 是否可以防止修改对象的特定键值?

标签 javascript

我想阻止编辑对象的特定键的值。意味着它应该只初始化一次。 假设有一个构造函数Student(fname,lname,id)。

function Student(fname,lname,id){
     this.fname = fname;
     this.lanme= lname;
     this.id= id;
}

var st1 = new Student ('surya','pratap',1)

我想防止仅st1.fname的Id被修改,lname可以修改。

最佳答案

有几种方法可以实现此目的,到目前为止,实现此目的最简单的方法如下:

function Student(fname,lname,id){
     this.fname = fname;
     this.lanme= lname;
     this.id=id;
     Object.defineProperty(this, "id", {
      writable: false,
      value: id,
      configurable: false
    });
}

关于javascript - 是否可以防止修改对象的特定键值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52177506/

相关文章:

javascript - document.getElementById 对于已知元素返回 null - 为什么?

javascript - 将带有逗号的字符串转换为带有逗号的数组(甚至只是带有逗号的数字)

javascript - 动态改变html元素

javascript - 单击动画后如何在不影响样式的情况下将 div 堆栈放在页面底部

javascript - 选中复选框时的 Jquery、显示和图层 div

javascript - react native ,断断续续的独立并行动画?

javascript - TypeScript编译器是否存在有关泛型的错误,还是我缺少某些东西?

javascript - HTML + (NV)D3 : Can't place a div on top of a div of the chart even with > z-index

javascript - 如何使用 css 或 javascript 为同一类添加不同的 css?(已编辑)

javascript - 如何使用 React Router v4 访问 React 应用程序之外的历史实例?