当Object属性不存在时触发错误
Fire an error when Object property does not exists
别名标题:对象属性的严格模式
我正在开发一个错误管理器,我希望它非常严格。假设您正在调用一个不存在的属性,这通常被解释为未定义,相反,它应该抛出一个错误,例如:
var obj = {};
obj.PI; //throw Error instead of undefined.
结果预期:
Uncaught ReferenceError: obj. error。PI未定义
我想在调用任何不存在的属性时出现这个错误,不一定是PI
首先,如果您知道想要捕获访问的特定属性,那么您可以为这些属性提供一个getter,并从getter抛出一个错误。
如果你不知道具体的属性,想要一个包罗万象的所有未定义的属性访问,那么你将需要ES6代理支持,目前还没有广泛使用(似乎在某些版本的Firefox和Microsoft Edge中,但在Chrome中没有)。所以,除非这是Firefox或edge特定的项目,否则你所要求的跨浏览器功能是不支持的,因为这不是Javascript的es5级别功能。
仅供参考,如果使用代理,您可能会对handler.get()
方法感兴趣。
你可以在这里看到ES6代理支持的当前级别:https://kangax.github.io/compat-table/es6/
相关文章:
- 如果文件不存在,fs.watch是否有错误处理程序
- 打字稿错误:P roperty'包含'在类型'元素'上不存在
- 错误 TS2339:类型“{}”上不存在属性“forEach”
- JSONP跨原点错误'不存在Access Control Allow Origin标头'
- appendChild上的错误-试图在不存在节点的上下文中引用该节点
- 如何避免在object.keys中不存在obj时发生错误
- 如何在不获得引用错误的情况下将不存在的JavaScript对象与未定义的对象进行比较
- Azure Blob 存储 请求的资源错误中不存在访问控制允许源标头
- 如何在访问 JavaScript 对象的不存在属性时抛出错误
- ASP.Net MVC 5 Ajax 请求在编辑页面上不存在错误__RequestVerificationToken
- chrome.tabs.sendRequest:“端口错误:无法建立连接.接收端不存在
- 跨源资源错误:请求的资源上不存在“访问控制允许源”标头
- 你如何在不存在的行中找到 JavaScript 严重错误
- 错误“属性'日期选择器'在带有打字稿的类型'IAugmentedJQuery'上不存在
- 在javascript中使用剃刀语法时出现条件编译错误/警告(在此上下文中不存在cc_on)
- 为什么在 JavaScript 中引用对象的不存在属性不会返回引用错误
- 尝试使用Selenium运行测试时出现此错误:启动配置AWTConsole引用不存在的项目测试项目
- AJAX 请求收到“请求的资源上不存在'访问控制-允许源'标头”错误
- 忽略javascript/jquery错误(函数不存在)
- Url.Action 错误不存在对象