美文网首页
变量的解构赋值

变量的解构赋值

作者: _花 | 来源:发表于2017-11-01 10:59 被阅读0次

1.数组的结构赋值

从数组或者对象里面提取值,对变量赋值,这被称为解构赋值。

1)模式匹配

var [ a , b , c ] = [ 1 , 2 , 3 ]    //模式匹配   a=1,b=2,c=3

let [ x , y , ...z] = [ 'a' ]        //x='a',y=undefined,z=[ ]

2)解构不成功

如果解构不成功,变量的值就等于undefined,例如:

let  [ x , y ] = [ ]  

let [ x , y ] = [1]

3)解构不完全

let [ x , y ] = [ 1 , 2 , 3 ]  //x=1,y=2

4)默认值

[ x , y = 1] = [ 2 ]   //  x = 2 ,y = 1

[ x , y = 1] = [ 2 , undefined ]  // x = 2 ,y = 1

[ x , y = 1] = [ 2 , null ]  // x = 2 ,y = null   注意:如果一个数组成员不严格等于undefined,默认值是不会生效的。

2.对象的结构赋值

let { foo : foo , baz : baz}  = { foo : 1, baz : 2}         //foo = 1,baz = 2

let { foo , baz}  = { foo : 1, baz : 2}        //foo = 1,baz = 2 

let { foo : f , baz : b}  = { foo : 1, baz : 2}        //f = 1,b = 2

1)对于对象的解构赋值,变量的声明和赋值是同时进行的,所以一旦赋值的变量以前生命果就会报错(指用let , const 申明的变量)。

let foo;

let { foo } = { foo : 1}       //  这样写是错的

2)默认值

var { x , y = 5} = { x : 1}    //x =1 , y = 5

其他情况和数组的相同

3)错误情况

var { foo : { bar } }  = { baz : ' baz'  }      //foo为

var x;

{ x } = { x : 1}      //错误大括号不可放在行首 ,应该改为({ x } = { x : 1})

3.字符串的解构赋值

const  [ a , b , c ,d , e ] = ' hello '  // a = 'h'   ..............

let { length : len } = ' hello '    // len = 5;

4.圆括号问题

建议:只要可以,就不要在模式中放置圆括号

变量声明语句中不能带圆括号;

函数参数中不能带圆括号;

不能将整个模式或者嵌套模式里的一层放在圆括号中;

相关文章

  • 解构赋值

    解构赋值:ES6 中新增了变量赋值的方式,从数组和对象中提取值,对变量进行赋值。 单独赋值给变量,解构赋值。 解构...

  • ES6笔记(解构赋值)

    ES6笔记(解构赋值) 解构赋值 变量的解构: 解构赋值允许指定默认值。 解构赋值必须保证赋值方 被赋值方类型一...

  • 变量的解构赋值

    数组的解构赋值: 解构,就是从数组和对象中提取值,然后对变量进行赋值 解构赋值: 解构不成功,变量的值就等于und...

  • ES6系列之变量的解构赋值

    本篇目录: 数组的解构赋值变量声明并赋值时的解构变量先声明后赋值时的解构不完全解构默认值交换变量解析一个从函数返回...

  • 解构赋值

    解构赋值 数组的解构赋值 嵌套,默认值,展开符 对象的解构赋值 对象解构赋值的本质与简写 对象解构的模式与变量 对...

  • 『ES6脚丫系列』变量的解构赋值

    『ES6脚丫系列』变量的解构赋值 第一章:变量的解构赋值的概念 【01】Q:什么是变量的解构赋值?有哪些方式? 吃...

  • ES6的解构赋值

    一、前言 什么是“解构赋值”呢?就是从数组或者对象中取值,对变量进行赋值,这就是变量的解构赋值。 二、数组的解构赋...

  • 名词

    1 解构: 从数组或对象中提取值,给变量赋值这被称为解构解构赋值的变量都会重新声明解构赋值的规则是,只要等号右边的...

  • 变量的解构赋值 - 字符串、数值、布尔值、函数参数

    一、字符串的解构赋值 二、数值和布尔值的解构赋值 三、函数参数的解构赋值 变量的解构赋值 - 数组篇[https:...

  • Z03_变量的解构赋值

    变量的解构赋值 数组的解构赋值 ES 中从数组和对象之中提取数值,对变量进行赋值,这个过程称为解构 1. 对于 S...

网友评论

      本文标题:变量的解构赋值

      本文链接:https://www.haomeiwen.com/subject/rfywpxtx.html