首页 > 试题

firstname

更新时间:2022-11-13 04:14:07 阅读: 评论:0

中考题下载-仲春三月


2022年11月13日发(作者:word行距怎么设置)

es6引⼊链判断运算符

es6引⼊链判断运算符

编程事务中,如果要读取对象内部的某个属性,往往需要先判断该对象是否存在,然后再读取对象属性。

⽐如,要读取ame,正确写法如下所⽰:

//错误写法

constfirstName=ame;

//正确写法

constfirstName=(message&&

&&

&&

ame)||'default';

或者使⽤三元运算符?:,判断⼀个对象是否存在。

constaddressInput=elector('input[name=address]');

constaddressValue=addressInput?:undefined;

对象属性层层判断是否存在⾮常⿇烦,因此ES6引⼊了“链判断运算符”(optionalchainingoperator)?.,简化上⾯的写法。

constfirstName=message?.body?.ur?.firstName||'default';

constaddressValue=elector('input[name=address]')?.value;

在链式调⽤的时候判断,左侧的对象是否为null或undefined。如果是的,就不再往下运算,⽽是返回undefined。

短路机制

.链判断运算符相当于⼀种短路机制,只要不满⾜条件,就不再往下执⾏。

链判断运算符的应⽤

获取对象属性:先判断对象是否存在,再获取对象属性。

varobj={

name:'Tom'

showName:function

}

varname=obj?.name

varname1=obj?.['name']

(name)//Tom

(name1)//Tom

对象⽅法的调⽤:先判断对象是否存在,若对象存在再判断对象⽅法是否存在,最后调⽤对象⽅法。

varobj={

name:'Tom',

showName:function(){

()

}

}

obj?.showName?.()

函数调⽤:先判断函数⽅法是否存在,再调⽤函数。

functionaddNum(num1,num2){

returnnum1+num2

}

letresult=addNum?.(1,2)

(result)//3

本文发布于:2022-11-13 04:14:07,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/88/8734.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:firstname
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图