码迷,mamicode.com
首页 > 其他好文 > 详细

ES6语法简介——5、解构赋值(一)

时间:2020-11-16 13:26:06      阅读:6      评论:0      收藏:0      [点我收藏+]

标签:define   声明   需要   没有   算术   默认   title   def   efi   

5、解构赋值(一)

5.1、对象解构

在ES6中,对象和数组可以使用解构功能,可以按照一定模式从对象和数组中提取值,对变量进行赋值。对象解构是在一个赋值操作符的左边放置一个对象字面量。
例:

                let book={
                    title:"九章算术",
                    isbn:"987654321",
                    price:108
                }
                let {title,isbn,price}=book;
                console.log(title);//输出:九章算术
                console.log(isbn); //输出:987654321
                console.log(price);//输出:108
            
在例中book.title的值存储在名为title的变量中。

注意:如果使用var、let或者const解构声明变量,必须提供初始化程序,即等号右边必须提供值,否则会导致语法错误。
例:

                var {title,isbn,price};
                let {title,isbn,price};
                const{title,isbn,price};
            

如果变量之前已经声明了,那么需要使用圆括号把整个解构赋值语句包起来。
例:

                let title,isbn,price;
                ({title,isbn,price})=book;
            

使用解构赋值表达式的时候,如果指定的局部变量名称在对象中不存在,这个局部变量会被赋值为undefined(未定义),可以考虑为这个变量定义一个默认值,在变量名称后面加一个等号和相应的默认值即可。
例:

                let {title,isbn,salesVolume=0} = book;//上面案例中book对象没有salesVolume属性
            

如果希望再使用解构赋值时,使用与对象属性名不同的局部变量名称,可以采用“属性名:局部变量名”的语法形式。
例:

                let {title:booktitle,isbn:bookisbn} = book;
//读取title属性的值存储在变量booktitl中,注意右边变量名,左边要读取的对象的属性名。
            

ES6语法简介——5、解构赋值(一)

标签:define   声明   需要   没有   算术   默认   title   def   efi   

原文地址:https://www.cnblogs.com/luuuu0225/p/13953428.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!