Java教程

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

本文主要是介绍【金秋打卡】第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; //报错

五、课程心得:

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

这篇关于【金秋打卡】第9天其他数据类型的解构赋值的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!