编写代码时进行兜底是为了处理异常情况和错误。兜底是指在代码中添加适当的处理逻辑,以防止程序在遇到异常情况时崩溃或产生不可预料的结果。
以下是进行兜底的几个原因:
-
异常情况处理:在编写代码时,可能会遇到各种意外情况,例如输入无效数据、网络连接中断、文件读取错误等。为了保证程序的稳定性和可靠性,需要添加兜底处理逻辑,用于捕获并处理这些异常情况。
-
提高代码的容错性:兜底可以帮助我们尽可能地避免代码运行时的错误。通过添加适当的错误处理代码,可以减少代码中的漏洞和易出错的地方,提高代码的容错性。
-
用户友好性:在用户界面设计中,兜底可以提供更好的用户体验。通过在代码中添加错误提示或异常处理,可以向用户提供有意义的错误信息,帮助他们理解问题所在并采取相应的措施。
-
数据完整性保护:在处理数据时,兜底可以帮助我们确保数据的完整性和一致性。例如,在进行数据库操作时,如果出现错误或异常情况,通过兜底处理,可以进行回滚操作,确保数据不会被破坏或丢失。
function simpleGet(obj: any, key: string, defaultVal: any): any {
const keys = key.split('.');
let current = obj;
for (const k of keys) {
if (current === null || typeof current!== 'object' ||!(k in current)) {
return defaultVal;
}
current = current[k];
}
return current;
}
// 然后在原函数中使用simpleGet替代get
export default function getD(obj: any | [], key: string, defaultVal: any) {
// 第一个参数如果不是对象返回默认值
if (Array.isArray(obj)) return defaultVal;
// 使用封装的方法或者使用get方法: npm i --save lodash.get
// import get from 'lodash/get'
// 然后导入get方法
const val = simpleGet(obj, key, defaultVal); // {} null [] defaultVal
if (!Array.isArray(val)) return JSON.stringify(val) === '{}'? defaultVal : val || defaultVal;
return Array.isArray(val) && Array.isArray(defaultVal)? val : defaultVal;
}
总之,进行兜底是编写高质量代码的重要组成部分,可以提高代码的稳定性、可靠性和用户友好性。同时,它也是保护数据完整性和提高代码容错性的关键步骤。
标签:兜底,封装,val,get,代码,current,defaultVal From: https://blog.csdn.net/weixin_69810763/article/details/144606814