检查链接对象形式中未定义属性的最佳实践是什么
What is the best practice for checking undefined property in chained object form?
假设我在单独的文件上实现a.b.c.d
。
因此,我需要检查a、b、c是否已定义,并在未定义这些属性时回退到catch子句。
目前,我正在使用此代码。但是它太长,太脏,很难维护。
try{
if(!("a" in window)) {
throw new Error();
}
if(!("b" in a)) {
throw new Error();
}
if(!("c" in a.b)) {
throw new Error();
}
} catch(e){ }
最佳实践是什么?
在每种情况下,您都会手动抛出一个错误,但当您尝试访问undefined
的属性时,其行为无论如何都是抛出ReferenceError,因此您可以捕获它:
try{
a.b.c.d
} catch(e){ // Either a, a.b, or a.b.c was undefined }
if !(a && a.b && a.b.c && a.b.c.d) {
throw new Error();
}
// else a.b.c.d exists
相关文章:
- 将jQuery.ech()方法转换为本地JavaScript抽象的最佳方法是什么
- 处理浮点错误的最佳方法是什么
- javascript导入的最佳实践是什么
- 在ng重复循环中显示条件内容的最佳方式是什么
- 实现比较方法的最佳实践是什么;s的比较类型是在运行时选择的
- 以编程方式填充组合框道场 (1.8) 的最佳方法是什么?
- 在node.js中编写单元测试的最佳方式是什么
- 使用AJAX在Rails中提交动态表单的最佳方式是什么
- 使用Angular存储用户以前是否选中过复选框,然后再调用它的最佳方式是什么
- 列出没有 mysql 的元素的最佳方法是什么
- 在AngularJS中使用多个主题的最佳方式是什么
- 存储数据的最佳方式是什么,以便与jquery一起使用
- 在企业应用程序框架中包含js/css文件的最佳实践是什么
- 在d3.json中使用d3.csv组合多个csv文件数据输入的最佳方法是什么
- 用JavaScript随机给网页上的每个字母上色的最佳方式是什么
- 如果我返回表,检查 Ajax 调用是否为 200 OK的最佳方法是什么
- JavaScript - 创建可链接函数时的最佳方法是什么
- 在上下文菜单项单击上显示侧边栏/弹出窗口的最佳方法是什么
- 将JavaScript检测与MVC4显示模式集成的最佳方式是什么
- addEvent()传奇事件之后的当前最佳实践是什么