老师,我想问这个null值怎么不生效,类比数组的解构赋值,这种情况不能被赋值

老师,我想问这个null值怎么不生效,类比数组的解构赋值,这种情况不能被赋值

<!DOCTYPE html>

<html>

<head>

<title></title>

</head>

<body>

<script type="text/javascript">

function test({

name,

age=null,

sex=undefined,

}){

document.write(name+"</br>"+age+"</br>"+sex)

}

test({

name:"jim",

age:"22",

// sex:"man",

})

</script>

</body>

</html>


正在回答

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

2回答

1、数组解构赋值:数组解构可以指定默认值,数组成员的值不严格等于undefined,默认值不生效(null的话相应值依然为null)

2、对象解构赋值:对象解构可以指定默认值,生效条件是对象属性值严格等于undefined,null不会生效,解构失败值为undefined

原因是ES6内部使用严格相等运算符(===),判断一个位置是否有值。所以,如果一个数组成员不严格等于undefined,默认值是不会生效的

http://img1.sycdn.imooc.com//climg/5c2c89a30001238005670143.jpg

上面代码中,如果一个数组成员是null,默认值就不会生效,因为null不严格等于undefined

自己总结的,互相学习哈!

卡布琦诺 2019-01-01 13:03:34

http://img1.sycdn.imooc.com//climg/5c2af5860001de2711880591.jpg

在不传参的时候,默认值null生效了

祝学习愉快!


  • 提问者 jimwhile #1
    老师,我想问,数组的默认值是null的时候,赋值的传参的时候不是生效吗,怎么对象的不一样呢
    2019-01-02 12:12:56
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
热门框架Vue开发WebApp 18版
  • 参与学习           人
  • 提交作业       209    份
  • 解答问题       3299    个

本路径是通过ES6基础知识、运用Zepto、Swiper、fullPag等移动端常用工具包、以及当下流行框架Vue,结合多个实战案例,还原真实开发场景,最终实现手机端购物商城网页开发。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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