美文网首页
ES6之变量的解构赋值用途

ES6之变量的解构赋值用途

作者: 天外来人 | 来源:发表于2016-12-20 18:28 被阅读9次

1 交换变量的值

let [x, y] = [y, x];

2 使函数返回多个值
函数只能返回一个值,如果要返回多个值,只能将它们放在数组或对象里返回。有了解构赋值,取出这些值就非常方便了。

function example(){
  return [1,2,3];
}
var [a, b, c] = example();

function example() {
  return {
    foo: 1,
    bar: 2
  }
}
var {foo, bar} = example();

3 函数参数的定义

//参数是一组有次序的值
function f([x, y, z]) { ... }
f([1,2,3])

//参数是一组无次序的值
function f({x, y, z}) { ... }
f({x:1, y:2, z:3})

4 提取JSON数据
解构赋值对提取JSON对象中的数据,尤其有用。

var jsonData = {
  id: 42,
  status: 'OK',
  data: [867, 5309]
}
var {id, status, data: number} = jsonData;
console.log(id, status, number);
//42, OK, [867, 5309]

5 函数参数的默认值

jQuery.ajax = function (url, {
  async = true,
  beforeSend = function () {},
  cache = true,
  ....
}){};

6 遍历Map结构
任何部署了 Iterator 接口的对象,都可以用 for...of 循环遍历。Map 结构原生支持 Iterator 接口,配合变量的解构赋值,获取键名和键值就非常方便

var map = new Map();
map.set('first', 'hello');

for(let [key, value] of map){
  console.log(key + 'is' + value);
}

如果只想获取键名,或者只想获取键值,可以写成下面这样。

//获取键名
for (let [key] of map){
}
//获取键值
for(let [,value] of map){
}

7 输入模块的指定方法
加载模块时,往往需要指定输入那些方法。解构赋值使得输入语句非常清晰。

const { SourceMapConsumer, SourceNode } = require("source-map");

参考文献:http://wiki.jikexueyuan.com/project/es6/set-map.html

相关文章

  • 解构赋值

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

  • ES6

    ES6: ES6 新语法 1.变量 解构赋值 (解构赋值对应的python里的序列解包) 解构赋值方式一: 解构赋...

  • 5个 JS 解构有趣的用途

    摘要: 玩转ES6解构赋值。 原文:5个 JS 解构有趣的用途 译者:前端小智 1. 交换变量 通常交换两个变量的...

  • ES6笔记(解构赋值)

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

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

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

  • ES6知识点复习(二)

    变量的解构赋值 解构赋值允许指定默认值,es6内部使用严格相等运算符 === 默认值可以引用解构赋值的其他变量,但...

  • es6中的解构赋值

    es6中的对象解构赋值 对象的解构赋值,新变量名字要和对象中的变量名一致 数组中的解构赋值,数组是依次赋值的 字符...

  • ES6入门笔记

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

  • ES6学习笔记——解构赋值

    变量的结构赋值 数组的解构赋值 ES6允许从数组中提取值,按照对应的位置,对变量赋值。 如果解构不成功,变量的值就...

  • 杂货小铺之ES6+ 🍳 解构赋值

    解构赋值 ? 在 ES6 中新增了变量赋值的方式:解构赋值。允许按照一定模式,从数组和对象中提取值,对变量进行赋值...

网友评论

      本文标题:ES6之变量的解构赋值用途

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