ES6 解构赋值学习
学习博客:ES6-变量的解构赋值-阮一峰
核心:按照一定模式 ,从数组和对象中提取值
数组的解构赋值,根据索引位置进行赋值
// 根据位置进行赋值
let [a, b, c] = [1, 2, 3];
console.log(a, b, c);let [head, ...tail] = [1, 2, 3, 4];
console.log(head, tail)// 也可以设置默认值
let [x, y = 'b'] = ['a'];
console.log(x, y)// 如果解构不成功,值则为undefined
let [x1, y1] = ['a']
console.log(x1, y1)
对象的解构赋值,变量必须与属性同名,才能取到正确的值
let { foo, bar } = { foo: "aaa", bar: "bbb" };
console.log(foo, bar)// 下面这种解构失败
let { baz } = { foo: "aaa", bar: "bbb" };
// console.log(baz) // undefined
解构函数的用途
1.交换变量的值
let v1 = 1;
let v2 = 2;
[v1, v2] = [v2, v1]
console.log(v1, v2)
2.从函数返回多个值
function foo () {return [1, 2, 3]
}
let [a1, b1, c1] = foo()
console.log(a1, b1, c1)function _foo () {return {'_name': 'kobe','_age': 40 }
}
let {_name, _age} = _foo()
console.log(_name, _age)
3.函数参数的定义
// 更直观的方式进行传参
function fooo({name, age, number}) {console.log(name, age, number)
}
fooo({name: 'kobe', age: 40, number: 24})
4.提取JSON数据
let data = {"kobe": "cjn","championship": [2000, 2001, 2002, 2009, 2010]
}
let {kobe, championship} = data
console.log(kobe, championship)
update...
ES6 解构赋值学习相关推荐
- ES6解构赋值学习总结
ES6提供了解构赋值的方式,这样子在赋值多个变量或者进行注释时可以方便很多,不同场景下也有很多新的应用,个人常使用的有数组的解构赋值,对象的解构赋值和函数参数的解构赋值,函数参数的解构赋值之前总结过, ...
- 前端学习必备之ES6解构赋值的常见用法
1.解构赋值可以轻松获取对象或者数组中的数据 var jsonData = {data: "111",data2: ["test","test2&qu ...
- ES6 解构赋值的用法笔记
1.概念:解构赋值可以理解为对赋值运算符的一种扩展.它主要针对数组或者 对象进行模式匹配,然后对模式中的变量进行赋值. 2.特性:采用ES6解构赋值的方式可以代码的可读性更高.代码书写更加简洁.清晰. ...
- ES6解构赋值原理详解
ES6解构赋值 ES6变量的解构赋值本质上是"模式匹配",只要等号两边的模式相同,左边的变量就会被赋予匹配的右边的值,如果匹配不成功变量的值就等于undefined 数组的解构赋值 ...
- [OHIF-Viewers]医疗数字阅片-医学影像-es6解构赋值-const{}=-let{}=
[OHIF-Viewers]医疗数字阅片-医学影像-es6解构赋值-const{}=-let{}= 解构赋值语法是一种 Javascript 表达式.通过解构赋值, 可以将属性/值从对象/数组中取出, ...
- ES6解构赋值: ES6...转为ES5的写法
es6的特性,主要用于 数组和对象的析构 直接上问题: 因为chrome低版本(用的55版本)不支持es6...的下面这种写法, 需要转为es5写法 function calcLinePaths() ...
- js之删除对象中的属性——delete、es6解构赋值、自执行匿名函数
js之删除对象中的属性--delete.es6解构赋值.自执行匿名函数 实例 const person = {name: '李世民',gender: 'male',age: 24 };// 删除目标对 ...
- ES6阮一峰-----变量的解构赋值学习
1.数组的解构赋值 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring). 以前,为变量赋值,只能直接指定值. let a = 1; let b = ...
- es6 - 解构赋值
一 我们为什么要使用解构 在学习ES6新的特性解构赋值之前,我们先来看看为什么要使用解构,以前如果我们需要获取对象或者数组里面的数据,并且把它们存入数组,需要写很多代码.如下 const person ...
最新文章
- MYSQL使用存储过程插入中文数据的疑似bug(UTF8)
- 使用ReaderWriterLock类实现多用户读/单用户写同步
- mysql binary mode_mysql二进制文件操作语法(mysql binary log operate statements)
- javascript与三角函数之二:圆周运动
- 有网友提问,关于本地XML转JSON的小工具
- SAP C4C - the entity BO node XXXX is unknown
- Hadoop生态Flume(一)介绍
- img默认图片的问题
- 在使用 Go 两年之后,我又转回 PHP 了
- 【MyBatis】bind标签
- 下单账号与支付账号不一致_如何申请企业支付宝账号
- android ios 在线图标生成器
- win10和ubuntu双系统,切换优先启动
- Python Spider入门
- python打印皮卡丘步骤_编程作战丨如何利用python绘制可爱皮卡丘?
- pychram+python 看源码: 按住crtl,点击函数
- 如何将PDF扫描件转换为JPG图片格式?PDF转JPG图片教程
- 人在旅途——》张家界之旅:20190420
- Oracle LiveLabs实验:DB Security - Oracle Label Security (OLS)
- 火车头 采集 java 生成正文_火车头采集器使用教程–采集内容发布规则设置
热门文章
- Linux-网络相关笔记
- vue.js 天气插件_天气检查我的项目以学习Vue.js
- 全面认识包图,组件图,部署图
- 内存脏数据下刷(linux2.6.18/linux.2.6.32)剖析
- mpi4py 并行读/写 numpy npy 文件的方法
- win10无法装载iso文件_Win10如何使用自带虚拟光驱打开ISO镜像文件?
- arcgis唯一值数已达到默认限制(大于3365536).
- Arduino多线程SCoop库
- QQ右下角图标不见了
- java吃货联盟app讲解_Java吃货联盟订餐系统代码实例