A guide to avoiding pits : When taking properties of an object ( Especially the logarithm group length When attribute ), The first step before writing code is to ensure that the object is not null perhaps undefined
, Confirm to “ really ” In this case, take the corresponding attribute value again .
Front end development time , We often pass . Operator to get the property value , There's a hole here that's easy to make bug, Especially the logarithm group length When attribute , It may be caused by carelessness JS Execution error
( Keep it secret , Specifically speaking ) Cause page crash .
for instance , For example, the back-end interface returns data Field type is array , Some common ways for us to deal with the array traversal :
for(let i = 0; i < data.length; i++) { // doSomething... }
The above code has no problem when the back end returns the array normally .
however , Back end return data by null Time ,JS Error will be reported when executing relevant code :Uncaught TypeError: Cannot read property
'length' of null, Page direct white screen . This kind of mistake is easy to miss in the test , Leading to online bug produce .
therefore , At work , When we take the property of an object , We must pay attention : The first step is to ensure that the object is not null perhaps undefined, Take the corresponding attribute after confirming the object is true .
as follows :
// perhaps if(data){ ... }, ensure data by “ Truth value ”, Next step if(Array.isArray(data)) { const len
= data.length //doSomething... }
This type of bug It also gives us a warning : Our front end must have defensive programming
Thinking of , The fields defined by the backend cannot be 100% To trust it , But we should do a good job in dealing with errors and exceptions , So you can avoid a lot of potential bug, Improve the robustness of our front-end code .
Technology
Daily Recommendation