分享ES6的7个实用技巧


Posted in Javascript onJanuary 18, 2018

Hack #1 交换元素

利用 数组解构来实现值的互换

let a = 'world', b = 'hello'
[a, b] = [b, a]
console.log(a) // -> hello
console.log(b) // -> world

Hack #2 调试

我们经常使用 console.log()来进行调试,试试 console.table()也无妨。

const a = 5, b = 6, c = 7
console.log({ a, b, c });
console.table({a, b, c, m: {name: 'xixi', age: 27}});

Hack #3 单条语句

ES6时代,操作数组的语句将会更加的紧凑

// 寻找数组中的最大值
const max = (arr) => Math.max(...arr);
max([123, 321, 32]) // outputs: 321
// 计算数组的总和
const sum = (arr) => arr.reduce((a, b) => (a + b), 0)
sum([1, 2, 3, 4]) // output: 10

Hack #4 数组拼接

展开运算符可以取代 concat的地位了

const one = ['a', 'b', 'c']
const two = ['d', 'e', 'f']
const three = ['g', 'h', 'i']
const result = [...one, ...two, ...three]

Hack #5 制作副本

我们可以很容易的实现数组和对象的 浅拷贝

const obj = { ...oldObj }
const arr = [ ...oldArr ]

Hack #6 命名参数???

解构使得函数声明和函数的调用更加可读

// 我们尝尝使用的写法
const getStuffNotBad = (id, force, verbose) => {
 ...do stuff
}
// 当我们调用函数时, 明天再看,尼玛 150是啥,true是啥
getStuffNotBad(150, true, true)
// 看完本文你啥都可以忘记, 希望够记住下面的就可以了
const getStuffAwesome = ({id, name, force, verbose}) => {
 ...do stuff
}
// 完美
getStuffAwesome({ id: 150, force: true, verbose: true })

Hack #7 Async/Await结合数组解构

数组解构非常赞!结合 Promise.all和 解构和 await会使代码变得更加的简洁

const [user, account] = await Promise.all([
 fetch('/user'),
 fetch('/account')
])

总结

以上所述是小编给大家介绍的分享ES6的7个实用技巧,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery Ajax 全解析
Feb 08 Javascript
JavaScript 判断指定字符串是否为有效数字
May 11 Javascript
javascript小数四舍五入多种方法实现
Dec 23 Javascript
ANGULARJS中用NG-BIND指令实现单向绑定的例子
Dec 08 Javascript
JS实现图片放大镜效果的方法
Feb 27 Javascript
ES6中Class类的静态方法实例小结
Oct 28 Javascript
微信小程序实战篇之购物车的实现代码示例
Nov 30 Javascript
node.js到底要不要加分号浅析
Jul 11 Javascript
vue绑定事件后获取绑定事件中的this方法
Sep 15 Javascript
jQuery实现数字自动增加或者减少的动画效果示例
Dec 11 jQuery
微信小程序页面滚动到指定位置代码实例
Sep 07 Javascript
js实现简单五子棋游戏
May 28 Javascript
vue 动态修改a标签的样式的方法
Jan 18 #Javascript
详解vue-meta如何让你更优雅的管理头部标签
Jan 18 #Javascript
Nuxt.js踩坑总结分享
Jan 18 #Javascript
Nuxt.js实战详解
Jan 18 #Javascript
React Native 真机断点调试+跨域资源加载出错问题的解决方法
Jan 18 #Javascript
ajax请求data遇到的问题分析
Jan 18 #Javascript
angular.js和vue.js中实现函数去抖示例(debounce)
Jan 18 #Javascript
You might like
使用PHP导出Word文档的原理和实例
2013/10/21 PHP
Windows中使用计划任务自动执行PHP程序实例
2014/05/09 PHP
php微信高级接口群发 多客服
2016/06/23 PHP
Yii2框架类自动加载机制实例分析
2018/05/02 PHP
让图片旋转任意角度及JQuery插件使用介绍
2013/03/20 Javascript
IOS中safari下的select下拉菜单文字过长不换行的解决方法
2016/09/26 Javascript
BootStrap按钮标签及基本样式
2016/11/23 Javascript
AngularJS使用ocLazyLoad实现js延迟加载
2017/07/05 Javascript
详解html-webpack-plugin用法全解
2018/01/22 Javascript
React Native自定义控件底部抽屉菜单的示例
2018/02/08 Javascript
Javascript实现一朵从含苞到绽放的玫瑰
2019/03/30 Javascript
微信小程序绘制图片发送朋友圈
2019/07/25 Javascript
jQuery插件simplePagination的使用方法示例
2020/04/28 jQuery
[15:56]Heroes18_暗影萨满(完美)
2014/10/31 DOTA
[01:39:42]Fnatic vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
介绍Python中的一些高级编程技巧
2015/04/02 Python
使用XML库的方式,实现RPC通信的方法(推荐)
2017/06/14 Python
Python实现的读写json文件功能示例
2018/06/05 Python
详解Python绘图Turtle库
2019/10/12 Python
python随机数分布random均匀分布实例
2019/11/27 Python
python实现磁盘日志清理的示例
2020/11/05 Python
希尔顿酒店中国网站:Hilton中国
2017/03/11 全球购物
海滩咖啡馆:Beach Cafe
2018/02/02 全球购物
乌克兰在线商店的价格比较:Price.ua
2019/07/26 全球购物
奥地利领先的在线药房:SHOP APOTHEKE
2019/10/07 全球购物
工业设计专业个人求职信范文
2013/12/28 职场文书
小学教师培训感言
2014/02/11 职场文书
《月光启蒙》教学反思
2014/03/01 职场文书
打造高效课堂实施方案
2014/03/22 职场文书
人口与计划生育目标管理责任书
2014/07/29 职场文书
感恩祖国演讲稿
2014/09/09 职场文书
2014会计年终工作总结
2014/12/20 职场文书
运动会表扬稿范文
2015/05/05 职场文书
护士岗位竞聘书
2015/09/15 职场文书
2016年九九重阳节活动总结
2016/04/01 职场文书
Canvas跟随鼠标炫彩小球的实现
2021/04/11 Javascript