首页 > 技术文章 > ES6变量的解构赋值

sunyang-001 2019-05-09 09:21 原文

1、数组的解构赋值

数组的解构赋值为顺序执行

let [a,b,c]=[0,1,2]

console.log(a) //0

console.log(b) //1

console.log(c) //2

 

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

console.log(a) //0

console.log(b) //1

console.log(c) //2

console.log(d) //3

 

可以写默认值,当有值存在时,取存在的值,否则取默认值

(1)有默认值,没有赋值

let [a, b =' 孙 ']= [ 'sun' ] 

console.log(a+b) // sun孙

(2)有默认值,有赋值

let [a, b =' 孙 ']= [ 'sun' , ' yang'] 

console.log(a+b) // sunyang

 

2、对象的解构赋值

对象的解构赋值时根据key取值

有两种方式:

(1)let { foo , bar } = { foo : ' sun' , bar : '孙' }

  console.log(foo+bar) //sun孙

(2)需要加(),否则会报错

  let foo

  ({ foo , bar} = { foo : 'sun' })

  console.log(foo) //sun

 

3、字符串的解构赋值

 在开发过程中应用较少,一般应用在验证权限上面

  let [a , b, c] = 'sun' 

  console.log(a) //s

  console.log(b) //u

  console.log(c) //n

推荐阅读