为了账号安全,请及时绑定邮箱和手机立即绑定

【金秋打卡】第9天其他数据类型的解构赋值

标签:
前端工具

一、课程名称:前端工程师2022版

二、课程章节:ES6基础入门-解构赋值(4-1 其它数据类型的解构赋值-慕课网体系课 (imooc.com))

三、课程讲师:Alex

四、课程内容:

其他数据类型的解构赋值

实际上,解构赋值只有两种,一种是数组的形式,一种是对象的形式,所以其特殊类型的解构赋值就会采取这其中的一种

1、字符串的解构赋值

既可以使用数组的形式,也可以使用对象的形式解构赋值

1)使用数组的形式:const [a, b, , , c] = "hello";

2)使用对象的形式:const { 0: a, 1: b, 4: c, length } = "hello";

 https://img1.sycdn.imooc.com/635ff2480001ecbf14230797.jpg

2、数值和布尔值的解构赋值(不常用)

只能按对象的形式解构赋值,且需设置默认值才生效。此外,数值和布尔值进行解构赋值不是为了得到这个数值或布尔值,程序的具体操作是先将等号右边的值转为对象,即将数值转为包装对象(即通过Number实例化一下,可以解构到toString,底层原理会将其转为对象),但这个对象中既没有属性,也没有方法(继承来的方法除外)。因此无法对等号左边的变量进行赋值,即无法获得右边的数值或布尔值,此时会直接使用设置的默认值作为结果

       // 先将等号右边的值转为对象

      // 数值的解构

      console.log(new Number(123));

      const { a = 1, toString } = 123;

      console.log(a, toString); //1 ƒ toString() { [native code] }

      // 布尔值的解构

      const { b = 2, toString } = true;

      console.log(b, toString); //2 ƒ toString() { [native code] }

3、undefined和null的解构赋值

undefined和null没有对应的包装对象,所以无法通过它们转换成相应的对象,对它们进行解构赋值,都会报错

      const { toString } = null; //报错

      const { toString } = undefined; //报错

五、课程心得:

今天学习了其他数据类型的解构赋值,刚开始稍微有一点搞不懂这几种类型的解构赋值,后来去浏览了问答区,发现很多小伙伴也有同样的困惑,老师们也作了详细的解答,最后终于搞懂了这一块的知识点,接下来继续加油!

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消