老师,请教对象解构赋值的问题

老师,请教对象解构赋值的问题

我先定义了一个person对象,然后解构person并设置默认值,但是解构中的默认值没有覆盖,李四没有覆盖张三


 let person = {

            username: '张三',

            age: 0

        }


        let {

            username = '李四',

                age = 13

        } = person;

        console.log(username, age);


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

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

1回答
好帮手慕小李 2021-11-16 11:28:47

同学你好,前面的是默认值,后面的是赋值(默认值就是不会覆盖“赋与的值”的,即“李四不会覆盖张三”),如下图。

https://img1.sycdn.imooc.com//climg/6193255a096688ea04950247.jpg

同学自己尝试一下,祝学习愉快~

  • 提问者 我代码么问题 #1
    老师如果前面默认值是全等于underfind 后面赋值是可以的
    2021-11-16 12:07:01
  • (默认值就是不会覆盖“赋与的值”的,即“李四不会覆盖张三”)这段话是针对同学代码的,只不过同学对默认值的理解有偏差,同学的代码中,如下;

    https://img1.sycdn.imooc.com//climg/61936557093abfab02740223.jpg

    “赋与的值”如下:

    https://img1.sycdn.imooc.com//climg/6193656f09180eba02260162.jpg

    老师的代码是为了让同学能够更好的理解“默认值”与“赋与的值”它们都是谁(重点看一下老师前次回复截图中的注释)。

    默认值是underfind,如果不在进行重新赋值的话,js就会直接使用默认值。老师举个例子:

    https://img1.sycdn.imooc.com//climg/6193658709b8f9a106400372.jpg

    2021-11-16 16:02:21
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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