前言
在前端开发中,我们经常需要从深层次的对象中取出值或执行某些操作,但如果对象中的某个属性值为 undefined 或 null ,我们常常会遇到“Cannot read property 'xxx' of undefined”这样的错误。要避免这样的错误,保证代码的健壮性和可靠性就需要用到类似 safe-get 这样的库。
npm 包 @jamesnimlos/safe-get 提供了一种从对象中获取深层次属性时的安全方式。本文将介绍其用法,以及使用过程中的注意事项和效果展示。
安装和使用
安装:
# npm npm install @jamesnimlos/safe-get # 或者 yarn yarn add @jamesnimlos/safe-get
使用:
-- -------------------- ---- ------- ----- ------- - --------------------------------- ----- ---- - - ----- - ----- ------- ---- --- ------- - ------------ - ---------- -------------- ------------- ---------- ----------- --------- ------ ---------- ---------- -- -- -- -- ----- -------- - ------------- ------------- ---------------------- -- ------ ----- ---------- - ------------- ---------------------------------------- ------------------------ -- ------------ ----- --------- - ------------- -------------- -- ------ ----------------------- -- ---------
该函数接收两个参数:第一个参数是需要取值的对象,第二个参数是字符串类型的属性路径,可以通过 . 和 [] 来表示对象属性和数组索引。如果在取值的过程中某个属性为 undefined 或 null ,则函数会静默返回 undefined 。
注意事项
- 请使用字符串类型的属性路径,不要使用变量或表达式
- 属性路径中不要出现空值('' 或 "")或者只有可选属性(?.),这些语法是 ES11 的新特性
效果展示
在使用 safe-get 之前,以下代码运行会报错:
-- -------------------- ---- ------- ----- ---- - - ----- - ----- ------- ---- --- ------- - ------------ - ---------- -------------- ------------- ---------- ----------- --------- ------ ---------- ---------- -- -- -- -- ----- -------- - --------------- ---------------------- -- --------- ---- -------- ------ -- ---------
使用 safe-get 后,即使对未定义的属性进行取值,也不会导致报错:
-- -------------------- ---- ------- ----- ------- - --------------------------------- ----- ---- - - ----- - ----- ------- ---- --- ------- - ------------ - ---------- -------------- ------------- ---------- ----------- --------- ------ ---------- ---------- -- -- -- -- ----- -------- - ------------- ------------- ---------------------- -- ------ ----- ---------- - ------------- ---------------------------------------- ------------------------ -- ------------ ----- --------- - ------------- -------------- -- ------ ----------------------- -- ---------
总结
本文介绍了 npm 包 @jamesnimlos/safe-get 的使用方法及效果展示,希望能够帮助读者更好地理解和使用该库,并在实际开发中提高代码的可靠性和健壮性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005516381e8991b448ce8d9