分享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 05 Javascript
javascript中节点的最近的相关节点访问方法
Mar 20 Javascript
window.returnValue使用方法示例介绍
Jul 03 Javascript
jQuery ajax serialize() 方法使用示例
Nov 02 Javascript
基于jQuery+JSON的省市二三级联动效果
Jun 05 Javascript
Three.js基础部分学习
Jan 08 Javascript
利用node.js实现反向代理的方法详解
Jul 24 Javascript
JavaScript实现图片懒加载的方法分析
Jul 05 Javascript
最简单的vue消息提示全局组件的方法
Jun 16 Javascript
JavaScript this在函数中的指向及实例详解
Oct 14 Javascript
如何利用Node.js与JSON搭建简单的动态服务器
Jun 16 Javascript
微信小程序实现点击导航条切换页面
Nov 19 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 $_SERVER相关参数判断是否支持Rewrite模块
2013/09/26 PHP
PHP验证码生成原理和实现
2016/01/24 PHP
CentOS下搭建PHP环境与WordPress博客程序的全流程总结
2016/05/07 PHP
php遍历替换目录下文件指定内容的方法
2016/11/10 PHP
JavaScript创建命名空间(namespace)的最简实现
2007/12/11 Javascript
一个判断email合法性的函数[非正则]
2008/12/09 Javascript
善用事件代理,警惕闭包的性能陷阱。
2011/01/20 Javascript
js中的string.format函数代码
2020/08/11 Javascript
JSON传递bool类型数据的处理方式介绍
2013/09/18 Javascript
jQuery在iframe中无法弹出对话框的解决方法
2014/01/12 Javascript
JS中如何判断传过来的JSON数据中是否存在某字段
2014/08/18 Javascript
jQuery+PHP+MySQL二级联动下拉菜单实例讲解
2015/10/27 Javascript
bootstrap为水平排列的表单和内联表单设置可选的图标
2017/02/15 Javascript
VUE 使用中踩过的坑
2018/02/08 Javascript
layui使用表格渲染获取行数据的例子
2019/09/13 Javascript
jquery将信息遍历到界面上实例代码
2020/01/21 jQuery
Vue常用的全选/反选的示例代码
2020/02/19 Javascript
Vue如何实现验证码输入交互
2020/12/07 Vue.js
Python判断值是否在list或set中的性能对比分析
2016/04/16 Python
使用pandas批量处理矢量化字符串的实例讲解
2018/07/10 Python
详解pandas数据合并与重塑(pd.concat篇)
2019/07/09 Python
HTML的form表单和django的form表单
2019/07/25 Python
Python Numpy 自然数填充数组的实现
2019/11/28 Python
Python下载的11种姿势(小结)
2020/11/18 Python
详解用selenium来下载小姐姐图片并保存
2021/01/26 Python
python爬虫智能翻页批量下载文件的实例详解
2021/02/02 Python
Too Faced官网:美国知名彩妆品牌
2017/03/07 全球购物
Trip.com澳大利亚:在线旅行社
2019/12/01 全球购物
实习生的自我评价
2014/01/08 职场文书
机械专业应届毕业生自荐书
2014/06/12 职场文书
教师查摆问题及整改措施
2014/10/11 职场文书
党建工作汇报材料
2014/12/24 职场文书
地方课程教学计划
2015/01/19 职场文书
家长对学校的意见和建议
2015/06/03 职场文书
2016幼儿教师自荐信范文
2016/01/28 职场文书
Vue项目中如何封装axios(统一管理http请求)
2021/05/02 Vue.js