博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ES2015入门系列5-解构赋值
阅读量:6678 次
发布时间:2019-06-25

本文共 912 字,大约阅读时间需要 3 分钟。

用过ReactNative的同学肯定见过类似下面的代码:

import { Text, View } from 'react-native';

这就是ES2015为JavaScript带来的另一个新的语法:解构赋值。

解构赋值(Destructuring assignment), 是用来让我们从数组或者对象中提取数据赋值给不同的变量。

语法如下:

  • 从数组中解构赋值

let [a, b] = [1, 2];
  • 从对象中解构赋值

let {a, b} = {a: 1, b: 2}

PHP开发者有没有觉得很眼熟? 对了,这不就是:

list($a, $b) = [1, 2];

没错,如你所想,ES2015从数组中解构赋值和PHP的语法一样,也可以忽略某些返回值, 甚至全忽略

let [a, , c] = [1, 2, 3];[, ,] = [1, 2, 3];

数组的解构赋值很简单,我们继续来看看对象的解构赋值:

let object = {  f: 1,  b: 2}let {f, b} = object;

那我想赋值给不同变量的名字该怎么办呢,如下:

let {f: foo, b: bar} = object;

要记住,这样一来,真正初始化并赋值的是foobar

解构赋值操作不会抛错(Fail-soft),如果没有找到,将会用undefined赋值过去。

let [a] = []; // a === undefinedlet {b} = {}; // b === undefined

同样,我们也可以设置默认值:

let [a = 1] = []; // a === 1let {b = 2} = {}; // b === 2

也可以应用在函数参数中:

function draw({color, using = '粉笔'}) {  console.log('使用' + color + '的' + using + '画画!');}draw({color: '红色'});draw({color: '蓝色', using: '蜡笔'});

结果如下:

> 使用红色的粉笔画画!> 使用蓝色的蜡笔画画!

转载地址:http://fhgxo.baihongyu.com/

你可能感兴趣的文章
Eclipse中将tomcat日志输出重定向
查看>>
Ubuntu 14.04安装Nginx1.60
查看>>
神奇犁头草,治疗肿毒效如神
查看>>
ORA-06553: PLS-553: character set name is not recognized, while starting Content Store
查看>>
Watches OpenCart 主题模板 ABC-0088
查看>>
linux iptables 相关应用
查看>>
怎样做好DNS服务器的保护
查看>>
Java对象创建时的初始化顺序
查看>>
linux bash环境变量简单总结
查看>>
JAVA 读取配置文件
查看>>
蓝桥杯 马虎的算式(全排列)
查看>>
Oracle修改表字段类型(number-->varchar2(len)),亲测可用
查看>>
编译错误(WDK).warning treated as error - no ‘object’ file generated
查看>>
数据库表中批量替换某个字段的方法
查看>>
典型用户和场景
查看>>
碎点小结
查看>>
结对编程的看法
查看>>
ruby 字符串加密
查看>>
Laravel 中缓存驱动的速度比较
查看>>
C struct 隐藏结构体成员
查看>>