es6之解构赋值

---恢复内容开始---

es6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构赋值。

  以前我们都是申明一个变量,然后给这个变量赋值,只能直接指定值。比如:

  var a = 1;  var b=2 ;  var c = 3;这样;

  而es6给我们带来了新的赋值写法,使我们在工作中,少写了很多代码。下面我们来看看es6是怎么赋值的。

  var [a,b,c]=[1,2,3]

  这样的代码表示,按照位置的对应关系对变量赋值。

  还可以这样:

  let [a , [ b , c ], d ] =  [1, [ 2, 3 ] , 4]

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

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

  这些都是可以解构成功的,如果解构不成功,就得到undefined,比如

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

  对象的解构赋值 

  var {bar,fo}  = {bar:'aaaa',fo:'bbb'}

  bar //'aaaa'

  fo //'bbb'

  对象的解构赋值与数组有一个重要的不同,数组的元素是按次序排列的,变量的取值由它的位置决定;

  而对象的属性没有次序,变量必须与属性同名,才能取到正确的值

  var {baz} = {foo:'aaa',bar:'bbb'}   //undefined

  由于右边的变量中没有对应的同名属性,所以解构失败;

 

  

 

  

  

 

posted @ 2018-05-20 22:29  疾风_剑豪  阅读(131)  评论(0编辑  收藏  举报