JavaScript:处理深层对象的字段不确定是否存在的情况

简介: JavaScript:处理深层对象的字段不确定是否存在的情况

一、背景

当使用数据的时候,如果数据结构比较复杂,数据深度比较深,这个时候某层级的字段可能没有数据,或者某层级的字段是null(特别是从接口获取数据),这时候可能会报错了,如图:

本文要处理的就是 undefined 与 报错  的情况

二、方法

2.1、方法一    ||

如果只是最后一个层级的数据不确定是否存在可以适用 “||” 的方法

错误示例:

正确示例:

2.2、方法二    &&

正确示例1:

错误示例1:

修正示例1:

此时没有报错,不会阻断后续代码的执行

错误示例2:

修正示例2:

此时没有报错,不会阻断后续代码的执行

2.3、方法三    ?

正确示例:

错误示例:

修正示例:

此时返回undefined,没有报错,不会阻断后续代码的执行

修正示例:

此时结合 “||” 方法,返回 空字符串 “” ,没有报错,也没有报undefined

2.4、方法四    obj.hasOwnProperty("name")

存在,返回 true

不存在,返回 false

可以结合三目运算

可以结合 ||

不可以连续使用

第一个返回了Booleans值,后边一个基于布尔值检测,返回false

2.5、方法五    try {} catch () {}

打印了报错信息,指出错误的原因,这个方法很好,不只可以用于处理深层数据可能带来的错误,还可以处理一个方法,或者一个代码段可能出现的错误

2.6、方法六    lodash

ladash里边也有提供一些方法。比如has方法。

三、欢迎交流指正,关注我,一起学习。


相关文章
|
1天前
|
存储 JavaScript 前端开发
第六篇-Javascript对象
第六篇-Javascript对象
9 2
|
7天前
|
存储 缓存 JavaScript
JavaScript内存泄漏通常发生在对象不再需要时
【6月更文挑战第16天】JavaScript内存泄漏常由闭包引起,当不再需要的对象仍被闭包引用时,垃圾回收机制无法清理。例如,创建返回大型对象引用的闭包函数会导致内存泄漏。避免泄漏需及时解除引用,清除事件监听器,利用WeakMap或WeakSet,以及定期清理缓存。使用性能分析工具监控内存使用也有助于检测和解决问题。
21 8
|
4天前
|
JavaScript 前端开发
JavaScript进阶-模板字符串与增强的对象字面量
【6月更文挑战第19天】ES6的模板字符串和增强对象字面量提高了JavaScript的易读性和效率。模板字符串(` `)支持变量嵌入和多行,简化了字符串处理;增强对象字面量允许简写属性与方法,以及动态属性名。注意模板字符串的闭合和性能影响,以及对象字面量的简写语法和计算属性名的恰当使用。通过实例展示了这两项特性的应用,助力编写更优雅的代码。
|
5天前
|
设计模式 存储 JavaScript
【JavaScript】JavaScript对象设计哲学:八种模式塑造高效代码
【JavaScript】JavaScript对象设计哲学:八种模式塑造高效代码
15 5
|
4天前
|
JavaScript
js 判断对象内所有值为空
js 判断对象内所有值为空
|
8天前
|
JavaScript 前端开发
javascript判断对象中是否存在某个字段
javascript判断对象中是否存在某个字段
|
8天前
|
JavaScript 前端开发
JS遍历数组和对象的方法有哪些
JS遍历数组和对象的方法有哪些
|
1天前
|
JavaScript 前端开发
JS如何判断一个对象是否为数组?
JS如何判断一个对象是否为数组?
7 0
|
1天前
|
JavaScript 前端开发
JS遍历数组和对象的常用方法有哪些?
JS遍历数组和对象的常用方法有哪些?
6 0
|
4天前
|
JavaScript 前端开发
js数组包对象格式怎么根据不同的键值使用sort排序一组数组
js数组包对象格式怎么根据不同的键值使用sort排序一组数组