首页IT科技js里面的$是什么意思(js中?.、??的具体用法)

js里面的$是什么意思(js中?.、??的具体用法)

时间2025-05-01 03:45:27分类IT科技浏览7988
导读:1、?. (可选链运算符)...

1                、?. (可选链运算符)

在javascript中如果一个值为null                    、undefined                ,直接访问下面的属性                    ,

会报 Uncaught TypeError: Cannot read properties of undefined 异常错误                。

而在真实的项目中是会出现这种情况      ,有这个值就读这个值            ,没有这个值也不会报错                    。

可能有的小伙伴会说用三木运算符      、或者if判断                     ,但是这种也是可以的         ,但是在特定情况下会很复杂(如obj.data.person.name)

而?.则完美解决这个问题(obj?.data?.person?.name)      。

?. 可以无限链下去        ,不论有多少属性                      ,只要有最后可以访问到属性            ,就会直接赋值最后的属性值            。否则当任何一个链出现问题    ,立刻停止                       ,而后赋值undefined                     。

2            、??(空值合并运算符)

?? 双问号后面是默认值(可常量                     、可变量)         。

在 ?? 前面没有值得时候会默认 ?? 后边的值(类似于三木运算符中的:后面赋值)        。

和||运算符的区别:

1. || 只会在左边的值为假值时返回右边的值 (0, , undefined, null, false 等都为假值)

2. ?? 是在左边的值为undefined或者null时才会返回右边的值

总结:??是判断有没有值               ,||是判断真假                      。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
thriftstorecritic(thrift安装) 索尼lt28h手机参数(【索尼LT29i】索尼(SONY)LT29i 3G手机(黑色)WCDMA/GSM 【行情 报价 价格 评测】)