当父属性的可写属性为false时,为子实例创建一个具有相同名称的属性

biao

"use strict";
var a = Object.create(Object.prototype, {
    name: {
        writable: false,
        value: 'foo'
    }
});

var b = Object.create(a);
b.name = 'bar' // Uncaught TypeError: Cannot assign to read only property

如果我想为b创建一个'name'属性,同时保持原样,该怎么办。是否可以?如果没有,您能告诉我为什么它不起作用。有人可以帮我吗,谢谢!

萨帕尔

您可以name在创建b对象时覆盖属性

"use strict";
var a = Object.create(Object.prototype, {
  name: {
    writable: false,
    value: 'foo'
  }
});

var b = Object.create(a, {
  name: {
    value: 'bar',
    writable: false
  }
});

console.log(a.name, b.name)


您还可以使用Object.defineProperties()方法直接在对象上定义新属性或修改现有属性。

"use strict";
var a = Object.create(Object.prototype, {
    name: {
        writable: false,
        value: 'foo'
    }
});

var b = Object.create(a);
Object.defineProperties(b, {
  name: {
    value: 'bar',
    writable: false
  }
});

console.log(a.name, b.name)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

区分具有相同名称的属性和方法

从具有相同名称的多个元素中获取属性值,并且在xml中获得另一个元素的属性值

是否可以有两个具有相同名称的属性?

如何使用Mongodb将同一个名称的文档归为一个数组中的特定属性具有不同值的同名文档?

子类java中具有相同名称的属性

属性和功能具有相同名称的模块声明

php动态创建的类对象具有两个具有相同名称的属性,无法找出原因

使用R为xml文件中的所有节点提取具有相同名称的属性

为什么不能访问具有相同名称的父类属性?

Kotlin-是否可以将属性值传递给具有相同名称属性的另一个对象?

是否将在C#中为类的每个实例创建一个属性实例?

JSDoc是一个对象,所有属性(无论名称如何)都具有相同的类型

是否可以创建具有两个具有相同名称的属性的类型?

CompositeConfiguration-具有相同名称的属性

jQuery获取具有相同名称的属性值

有什么方法可以创建一个与父窗口具有相同属性的子窗口?

如果包含变量,并且实例设置了具有相同名称的属性,那么该属性会去哪儿?

从具有相同名称的属性的接口继承

如何使用具有相同名称的“数据目标”属性创建多个弹出窗口

序列化具有相同名称但不同属性的2个属性

如何在QML中为具有相同名称的属性分配上下文变量?

OWL,为一个类的所有实例添加一个属性

JQuery 选中一个复选框,然后取消选中/禁用具有相同名称属性的其他人

为什么 sys.getsizeof() 为两个实例报告相同的大小,即使一个实例有一个额外的属性?

是否可以创建一个 ES6 Javascript 表达式,其值为具有动态属性名称的对象?

删除具有相同名称属性的表单值

解构具有相同名称属性的内部对象

Hibernate HQL:当且仅当所有子实体都具有相同值的属性时,如何选择父实体?

当给定具有两个兄弟属性的对象时,使用 jq 如何创建一个新对象,其中兄弟属性被移动为子属性?