Object.preventExtensions和Object.seal防止将未知属性添加到对象中,但这些属性会默默地失败而不是引发错误。有没有办法强迫他们犯错误?
var myObj = Object.seal({});
try{
myObj.someProp = 17;
console.log("I don't want to reach this message");
}catch(err){
console.log("I want an error to occur instead.")
console.log("Or at least get a warning somewhere.");
}
我在 Chrome 19 和 Firefox 9 中对此进行了测试。我也不介意特定于浏览器的解决方案,因为我只在开发过程中需要它。