继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

宣7595077
关注TA
已关注
手记 47
粉丝 2
获赞 1

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

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

三、课程讲师:Alex

四、课程内容:

其他数据类型的解构赋值

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

1、字符串的解构赋值

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

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

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

 http://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; //报错

五、课程心得:

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

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP