文档章节

es6之解构赋值巧用

秋季长青
 秋季长青
发布于 07/18 18:31
字数 518
阅读 11
收藏 0

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

如何进行解构赋值我这里就不赘述,本篇文章主要是将解构赋值的巧妙使用之处。

1、交互变量的值

常用交互变量两个方法是引入第三个变量 和 异或(^)。

这里可以使用解构赋值的方式交换变量的值:

let a = 10;
let b = 29;

[a, b] = [b, a]

这样,最后结果是 a = 29, b = 10 。

2、从函数中返回多个值

可以返回一个数组或者对象,然后对其进行解构赋值。

// 返回一个数组

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

// 返回一个对象

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

3、函数参数的定义

解构赋值可以方便地将一组参数与变量名对应起来,有序的可以使用数组,无序的可以使用对象。

// 参数是一组有序的值,使用数组

function f([a, b, c]){ 
  // ...
}
f([1, 2, 3]);

// 参数是一组无序的值,使用对象

function f({a, b, c}}{ 
  // ... 
}
f({c: 3, b: 2, x:1});

我觉得,第二种使用对象的方式在开发过程中使用意义非常。

4、函数参数的默认值

jQuery.ajax = function (url, {
  async = true,
  beforeSend = function () {},
  cache = true,
  complete = function () {},
  crossDomain = false,
  global = true,
  // ... more config
} = {}) {
  // ... do stuff
};

配合上一个内容,在定义函数时可以很容易的配置默认值并通过能够很容易地指定参数。

5、模块化开发中模块按需加载

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

 

如果大家还有更巧的用处,可以戳我哟

 

 

本文转载自:http://es6.ruanyifeng.com/#docs/destructuring

共有 人打赏支持
秋季长青
粉丝 34
博文 54
码字总数 42808
作品 0
南京
前端工程师
私信 提问
2017.11.21-学习笔记:篇二之es6解构赋值

变量解构 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(destructuring)。 本文简单介绍解构赋值的基本用法 1.数组的解构赋值 es5 中给多个变量赋值方式: ...

演员小新
2017/11/21
0
0
【探秘ES6】系列专栏(六):解构赋值

ES6作为新一代JavaScript标准,已正式与广大前端开发者见面。为了让大家对ES6的诸多新特性有更深入的了解,Mozilla Web开发者博客推出了《ES6 In Depth》系列文章。CSDN已获授权,将持续对该...

一配
2015/11/08
0
0
谈谈神秘的ES6——(四)解构赋值【数组篇】

今天,我们来讲一个新的概念,叫做解构赋值。那么在ES6中,什么是解构赋值呢?我们先来给它下个定义。 在ES6中,允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(D...

JandenMa
08/09
0
0
js中的解构赋值:可以同时对一组变量进行赋值

js中的解构赋值:可以同时对一组变量进行赋值

正阳Android
11/29
0
0
ES6、ES7、ES8特性-学习提炼总结(一)

ES6 ECMAScript 6.0,简称ES6是JavaScript语言的下一代标准,在2015年6月发布。目的是让JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。 Babel转码器 Babel是一个广泛使...

永远保留内心的简单和单纯
11/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

PHP生成CSV之内部换行

当我们使用PHP将采集到的文件内容保存到csv文件时,往往需要将采集内容进行二次过滤处理才能得到需要的内容。比如网页中的换行符,空格符等等。 对于空格等处理起来都比较简单,这里我们单独...

豆花饭烧土豆
12分钟前
0
0
使用 mjml 生成 thymeleaf 邮件框架模板

发邮件算是系统开发的一个基本需求了,不过搞邮件模板实在是件恶心事,估计搞过的同仁都有体会。 得支持多种客户端 支持响应式 疼彻心扉的 outlook 多数客户端只支持 inline 形式的 css 布局...

郁也风
15分钟前
2
0
让哲学照亮我们的人生——读《医务工作者需要学点哲学》有感2600字

让哲学照亮我们的人生——读《医务工作者需要学点哲学》有感2600字: 作者:孙冬梅;以前读韩国前总统朴槿惠的著作《绝望锻炼了我》时,里面有一句话令我印象深刻,她说“在我最困难的时期,...

原创小博客
今天
3
0
JAVA-四元数类

public class Quaternion { private final double x0, x1, x2, x3; // 四元数构造函数 public Quaternion(double x0, double x1, double x2, double x3) { this.x0 = ......

Pulsar-V
今天
17
0
Xshell利用Xftp传输文件,使用pure-ftpd搭建ftp服务

Xftp传输文件 如果已经通过Xshell登录到服务器,此时可以使用快捷键ctrl+alt+f 打开Xftp并展示Xshell当前的目录,之后直接拖拽传输文件即可。 pure-ftpd搭建ftp服务 pure-ftpd要比vsftp简单,...

野雪球
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部