老师麻烦详细讲一下if判断语句中?运算符,谢谢

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕慕子 2022-10-13 15:53:35

同学你好,?. 是ES2020(ES11)新特性,意思是尝试访问对象的属性之前检查对象是否存在,防止在对象不存在时访问属性导致代码报错。可以结合如下例子理解:

1、先了解下 ?. 语法,例如:obj ?. age 可以简单的理解为它的作用与三目运算符类似,即: obj?obj.age : undefined,如果obj对象存在,那么就返回obj的age属性值,否则的话返回undefined

https://img1.sycdn.imooc.com//climg/6228082709082e6b07880245.jpg

两者输出的结果一样

https://img1.sycdn.imooc.com//climg/6228083509c6ccee04510162.jpg

2、再来分析同学截图中的代码,result?.errno === 0 这句代码的意思就是先判断result对象是否存在,如果存在,再判断result对象下的errno属性值是否等于0。

祝学习愉快!


  • 这个es2020的语法都没有讲过呀

    2023-02-13 15:07:44
  • 同学你好,这个确实没有详细讲解过,课程中详细讲解的主要是ES6常用语法,在项目讲解过程中,讲师可能会使用到一些新语法,但并不影响同学们学习,遇到不理解的,及时在问答区提问,老师们会帮助解答的。

    祝学习愉快~

    2023-02-13 15:36:12
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师