ES6语法: 解构赋值

简介: ES6语法: 解构赋值

作用: ES6允许按照一定方式从数组和对象中提取值, 并对变量进行赋值, 这被称为解构赋值.

数组解构:

let [a, b, c] = [1, 2, 3]; 
console.log(a) 
console.log(b) 
console.log(c)

如果解构不成功,变量的值为undefined。

let [foo] = []; //Cannot redeclare block-scoped variable 'foo'
let [bar, foo] = [1];  //Cannot redeclare block-scoped variable 'foo'.

补充:

// 定向取法
let arr1 = [1, 2, 3];
let [,,d] = arr1;
console.log(d); //3
// 嵌套写法
let arr = [1, [2, 3], 4];
let [a, [b, ], c] = arr;
console.log(b); //2

对象解构:

let person = { name: 'zhangsan', age: 20 };  
let { name, age } = person; 
console.log(name); // 'zhangsan'  
console.log(age); // 20
let person = { name: 'zhangsan', age: 20 };  
let {name: myName, age: myAge} = person; // myName myAge 属于别名 
console.log(myName); // 'zhangsan'  
console.log(myAge); // 20

补充:

let code = "AAAA"
let res = {
  code: 200,
  data: {
    list: ["aaa", "bbb", "ccc"]
  }
}
// 重命名写法
let {code:co} = res;
console.log(co); // 200
// 数组嵌套写法
let {data:{list:[x, y, z]}} = res;
console.log(x, y, z); // aaa bbb ccc

实际应用:


对返回参数进行解构

function getData() {
  let res = {
    code: 200,
    data: {
      list: ["aaa", "bbb", "ccc"]
    }
  }
  test(res)
}
function test({code, data:{list}}) {
  console.log(code, list);
}
getData(); // 200 ['aaa', 'bbb', 'ccc']

注意:在解构语法中,冒号左边的用于匹配值,冒号右边的是真正的变量


相关文章
|
9月前
|
JavaScript
ES6之变量的解构赋值
ES6之变量的解构赋值
|
9月前
|
JSON JavaScript 前端开发
ES6 变量的解构赋值
ES6 变量的解构赋值
ES6学习(2)解构赋值
ES6学习(2)解构赋值
|
8月前
|
JSON JavaScript 前端开发
ES6 解构赋值详解
ES6是JavaScript语言的一次重大更新,引入了许多新特性和语法改进,其中解构赋值是一个非常实用和灵活的语法特性。它可以让我们从数组或对象中提取值,并赋给对应的变量,让代码变得更加简洁和易读。本文将深入探讨ES6解构赋值的语法、用法及其在实际开发中的应用。
209 58
ES6 解构赋值详解
|
5月前
ES6解构赋值
本文介绍了ES6中解构赋值的用法,包括对象和数组的解构,展示了如何从复杂数据结构中提取需要的变量,以及使用重命名和嵌套解构来简化代码。
47 0
ES6解构赋值
|
6月前
es6 的解构赋值
【8月更文挑战第22天】
32 3
|
7月前
ES6 解构赋值【详解】
ES6 解构赋值【详解】
41 0
|
JavaScript 前端开发 网络架构
ES6 解构赋值
ES6 解构赋值
95 0
|
9月前
|
小程序
es6学习笔记(二)解构赋值
es6学习笔记(二)解构赋值
Es6解构赋值
例如现在有一个本地存储里面存的是用户信息,然后需要拿到里面的id,名称等等非常麻烦