分享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 Event事件学习第一章 Event介绍
Feb 07 Javascript
图标线性回归斜着移动到指定的位置
Aug 16 Javascript
javascript为下拉列表动态添加数据项
May 23 Javascript
使用微信内置浏览器点击下拉框出现页面乱跳转现象(iphone),该怎么办
Jan 04 Javascript
很酷的星级评分系统原生JS实现
Aug 25 Javascript
JavaScript 闭包详细介绍
Sep 28 Javascript
详解RequireJS按需加载样式文件
Apr 12 Javascript
vue2.0 常用的 UI 库实例讲解
Dec 12 Javascript
JavaScript寄生组合式继承实例详解
Jan 06 Javascript
轻量级富文本编辑器wangEditor结合vue使用方法示例
Oct 10 Javascript
Node.js原生api搭建web服务器的方法步骤
Feb 15 Javascript
简单聊聊TypeScript只读修饰符
Apr 06 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设计模式 Template (模板模式)
2011/06/26 PHP
PHP学习笔记之php文件操作
2016/06/03 PHP
Laravel中使用FormRequest进行表单验证方法及问题汇总
2016/06/19 PHP
PHP中的使用curl发送请求(GET请求和POST请求)
2017/02/08 PHP
[对联广告] JS脚本类
2006/08/27 Javascript
JQuery 构建客户/服务分离的链接模型中Table分页代码效率初探
2010/01/22 Javascript
javascript计算用户打开网页的停留时间
2014/01/09 Javascript
javascript实现获取cookie过期时间的变通方法
2014/08/14 Javascript
node.js中的fs.fstat方法使用说明
2014/12/15 Javascript
JQuery显示、隐藏div的几种方法简明总结
2015/04/16 Javascript
javascript实现类似于新浪微博搜索框弹出效果的方法
2015/07/27 Javascript
纯JS实现本地图片预览的方法
2015/07/31 Javascript
jQuery实现瀑布流布局详解(PC和移动端)
2020/09/01 Javascript
基于jquery实现ajax无刷新评论
2020/08/19 Javascript
jquery设置表单元素为不可用的简单代码
2016/07/04 Javascript
nodejs爬虫遇到的乱码问题汇总
2017/04/07 NodeJs
vue2.0 如何把子组件的数据传给父组件(推荐)
2018/01/15 Javascript
JavaScript实现随机点名器实例详解
2019/05/07 Javascript
Python环境变量设置方法
2016/08/28 Python
使用pyecharts在jupyter notebook上绘图
2020/04/23 Python
Python 网络编程之TCP客户端/服务端功能示例【基于socket套接字】
2019/10/12 Python
pyecharts在数据可视化中的应用详解
2020/06/08 Python
CSS3 :not()选择器实现最后一行li去除某种css样式
2016/10/19 HTML / CSS
松本清官方海外旗舰店:日本最大的药妆连锁店
2017/11/21 全球购物
购买原创艺术品:Zatista
2019/11/09 全球购物
汽车技术服务与营销专业在籍生自荐信
2013/09/28 职场文书
实习生自荐信范文分享
2013/11/27 职场文书
应届毕业生求职信范例分享
2013/12/17 职场文书
总经理职责
2013/12/22 职场文书
毕业证丢失证明
2014/01/15 职场文书
先进德育工作者事迹材料
2014/01/24 职场文书
敬老模范事迹
2014/05/21 职场文书
杭白菊导游词
2015/02/10 职场文书
2015年高三教学工作总结
2015/07/21 职场文书
[有人@你]你有一封绿色倡议书,请查收!
2019/07/18 职场文书
win10电脑右下角输入法图标不见了?Win10右下角不显示输入法的解决方法
2022/07/23 数码科技