避坑指南:在对一个对象取属性的时候(特别是对数组取length属性时),写代码前的第一步是保证该对象不为null或者undefined
,确认对象为“真”的情况下再做取对应属性值的操作。

前端开发时,我们经常会通过.操作符来获取属性值,这里有个坑很容易产生bug,特别是对数组取length属性时,一不小心可能就会造成JS执行出错
(这里先保密,后面具体说)导致页面崩溃。

举个例子,比如后端接口返回数据中的data字段类型为数组,我们对该数组遍历进行一些处理的常用方式:
for(let i = 0; i < data.length; i++) { // doSomething... }
以上代码在后端正常返回数组的情况下一点问题都没有。

但是,后端返回data为null时,JS执行相关代码时就会报错了:Uncaught TypeError: Cannot read property
'length' of null,页面直接白屏。这种错误在测试的时候很容易遗漏,从而导致线上bug产生。

所以,在工作中,我们在对一个对象取属性的时候,我们一定要注意:首要处理是保证该对象不为null或者undefined,确认对象为真的情况下再取对应的属性。
如下:
// 或者 if(data){ ... },保证data为“真值”,再进行下一步处理 if(Array.isArray(data)) { const len
= data.length //doSomething... }
这种类型的bug也给了我们一个警示:我们前端一定要有防御性编程
的思维,后端定义的字段我们不能100%去信任它,而是要做好充分的错误和异常处理,这样就可以避免很多潜在的bug,提高我们前端代码的健壮性。

技术
©2019-2020 Toolsou All rights reserved,
TP6验证器的使用示例及正确验证数据自宣布投资比特币以来 特斯拉市值蒸发逾2000亿美元华为认证HCIA-AI人工智能Java基础(冒泡排序)IAR安装使用教程GDOI2019 游记关于过年PYTHON入门期末复习汇总蚂蚁集团董事长井贤栋安抚员工:公司终究会上市的王者荣耀背景故事整合