javascript 如何删除对象的动态名称属性?

zdwk9cvp  于 2023-03-06  发布在  Java
关注(0)|答案(1)|浏览(102)

我得到一个prop(文本输入)的值,并把它赋给对象的属性名,但是我不能删除它;当我这样删除它时,它指的是属性的值,而不是属性本身

function addPr() {
  let p = prop.value;
  employees = Object.create(Object.prototype, {
    [p]: {
      value: val.value
    },
  });
  console.log(employees);
  del.addEventListener("click", () => {
    delete employees[p];
    console.log(employees);
  });

}
ocebsuys

ocebsuys1#

默认情况下,属性是不可写、不可枚举或 * 可配置 * 的,但如果属性是不可配置的,则无法删除。
只需指定configurable: true

employees = Object.create(Object.prototype, {
    [p]: {
      value: val.value,
      configurable: true
    },
  });

相关问题