分享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 相关文章推荐
javascript 类方法定义还是有点区别
Apr 15 Javascript
Tinymce+jQuery.Validation使用产生的BUG
Mar 29 Javascript
JQuery从头学起第三讲
Jul 06 Javascript
a标签的href和onclick 的事件的区别介绍
Jul 26 Javascript
jquery eval解析JSON中的注意点介绍
Aug 23 Javascript
asm.js使用示例代码
Nov 28 Javascript
js获取元素相对窗口位置的实现代码
Sep 28 Javascript
详谈javascript中的cookie
Jun 03 Javascript
jquery转盘抽奖功能实现
Nov 13 Javascript
Angularjs验证用户输入的字符串是否为日期时间
Jun 01 Javascript
Javascript 实现 Excel 导入生成图表功能
Oct 22 Javascript
js正则匹配多个全部数据问题
Dec 20 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
快速配置PHPMyAdmin方法
2008/06/05 PHP
php入门教程 精简版
2009/12/13 PHP
php记录日志的实现代码
2011/08/08 PHP
PHP引用符&的用法详细解析
2013/08/22 PHP
WordPress中注册菜单与调用菜单的方法详解
2015/12/18 PHP
php基于CodeIgniter实现图片上传、剪切功能
2016/05/14 PHP
解决laravel 表单提交-POST 异常的问题
2019/10/15 PHP
jQuery EasyUI API 中文文档 - Panel面板
2011/09/30 Javascript
js中的前绑定和后绑定详解
2013/08/01 Javascript
Visual Studio中js调试的方法图解
2014/06/30 Javascript
jQuery实现提交按钮点击后变成正在处理字样并禁止点击的方法
2015/03/24 Javascript
javascript白色简洁计算器
2015/05/04 Javascript
浏览器中url存储的JavaScript实现
2015/07/07 Javascript
jquery 表单验证之通过 class验证表单不为空
2015/11/02 Javascript
JS实现间歇滚动的运动效果实例
2016/12/22 Javascript
浅谈在Vue.js中如何实现时间转换指令
2019/01/06 Javascript
[50:45]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第一场
2018/04/10 DOTA
[42:20]Winstrike vs VGJ.S 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
Python随机生成彩票号码的方法
2015/03/05 Python
wxPython使用系统剪切板的方法
2015/06/16 Python
Python对列表去重的多种方法(四种方法)
2017/12/05 Python
Python使用matplotlib填充图形指定区域代码示例
2018/01/16 Python
Python模拟百度自动输入搜索功能的实例
2019/02/14 Python
Python+unittest+requests 接口自动化测试框架搭建教程
2020/10/09 Python
Python批量删除mysql中千万级大量数据的脚本分享
2020/12/03 Python
分享8款纯CSS3实现的搜索框功能
2017/09/14 HTML / CSS
科颜氏加拿大官方网站: Kiehl’s加拿大
2016/08/16 全球购物
德国原装品牌香水、化妆品和手表网站:BRASTY.DE
2016/10/16 全球购物
社区文化建设方案
2014/05/02 职场文书
三八妇女节超市活动方案
2014/08/18 职场文书
励志演讲稿3分钟
2014/08/21 职场文书
参观邀请函范文
2015/02/02 职场文书
贫民窟的百万富翁观后感
2015/06/09 职场文书
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
2021/05/17 Python
python对文档中元素删除,替换操作
2022/04/02 Python
阿里云服务器(windows)手动部署FTP站点详细教程
2022/08/05 Servers