无论如何我可以添加新的属性来密封对象?

时间:2017-03-21 13:51:36

标签: javascript

无论如何,我可以向JavaScript seal object添加新属性

var obj = {"FirstName":"Tom","LastName":"Gorsuch"};
Object.seal(obj);
obj.MiddleName = "Crouis"; // new property is not added
console.log(obj);
  

实际问题

我在框架工作,框架有自己的浏览器API方法实现,但有一些方法尚未实现,不幸的是我需要这些方法,我收到错误

  

功能未定义

这么想写polyfill,然后我才知道他们还有seal对象

1 个答案:

答案 0 :(得分:2)

不,这正是Object.seal阻止的。

  

我需要一些方法来填充,但框架也密封了对象

您可以使用Object.assign克隆该对象并对其进行扩展,或者实现一个adapter / facade对象,该对象具有您需要的所有方法并调用该框架。