分享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 例外被抛出且未被接住原因介绍
Sep 04 Javascript
JS按字节截取字符长度实例
Nov 20 Javascript
js 实现菜单左右滚动显示示例介绍
Nov 21 Javascript
JavaScript中定义函数的三种方法
Mar 12 Javascript
JQuery中两个ul标签的li互相移动实现方法
May 18 Javascript
Boostrap基础教程之JavaScript插件篇
Sep 08 Javascript
快速解决js开发下拉框中blur与click冲突
Oct 10 Javascript
关于vue.js v-bind 的一些理解和思考
Jun 06 Javascript
Cpage.js给组件绑定事件的实现代码
Aug 31 Javascript
Chrome调试折腾记之JS断点调试技巧
Sep 11 Javascript
IntelliJ IDEA 安装vue开发插件的方法
Nov 21 Javascript
Vue内部渲染视图的方法
Sep 02 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开发环境配置(MySQL数据库安装图文教程)
2010/04/28 PHP
Yii+MYSQL锁表防止并发情况下重复数据的方法
2016/07/14 PHP
php解析base64数据生成图片的方法
2016/12/06 PHP
Laravel框架实现利用中间件进行操作日志记录功能
2018/06/06 PHP
PHP7.1实现的AES与RSA加密操作示例
2018/06/15 PHP
PHP使用pdo实现事务处理操作示例
2018/09/05 PHP
PHP常见加密函数用法示例【crypt与md5】
2019/01/27 PHP
javascript 添加和移除函数的通用方法
2009/10/20 Javascript
JavaScript中String和StringBuffer的速度之争
2010/04/01 Javascript
基于jQuery的自动完成插件
2011/02/03 Javascript
nodejs 后缀名判断限制代码
2011/03/31 NodeJs
javascript实现PC网页里的拖拽效果
2016/03/14 Javascript
jquery显示隐藏元素的实现代码
2016/05/19 Javascript
基于JavaScript代码实现自动生成表格
2016/06/15 Javascript
JQuery遍历元素的后代和同胞实现方法
2016/09/18 Javascript
jQuery中 $ 符号的冲突问题及解决方案
2016/11/04 Javascript
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
2017/06/02 jQuery
解决微信二次分享不显示摘要和图片的问题
2017/08/18 Javascript
JS获取子节点、父节点和兄弟节点的方法实例总结
2018/07/06 Javascript
bootstrap table表格插件之服务器端分页实例代码
2018/09/12 Javascript
详解在Angular4中使用ng2-baidu-map的方法
2019/06/19 Javascript
安装多版本Vue-CLI的实现方法
2020/03/24 Javascript
深入解析Python编程中JSON模块的使用
2015/10/15 Python
关于python的list相关知识(推荐)
2017/08/30 Python
python 使用sys.stdin和fileinput读入标准输入的方法
2018/10/17 Python
Python模拟浏览器上传文件脚本的方法(Multipart/form-data格式)
2018/10/22 Python
对python中大文件的导入与导出方法详解
2018/12/28 Python
python支付宝支付示例详解
2019/08/22 Python
Python脚本操作Excel实现批量替换功能
2019/11/20 Python
Python任务调度利器之APScheduler详解
2020/04/02 Python
HTML+CSS3 模仿Windows7 桌面效果
2010/06/17 HTML / CSS
HTML5边玩边学(3)像素和颜色
2010/09/21 HTML / CSS
一道SQL面试题
2012/12/31 面试题
户籍证明的格式
2014/01/13 职场文书
文明和谐家庭事迹材料
2014/05/18 职场文书
暂住证明怎么写
2015/06/19 职场文书