分享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 - HTML的request类
Jan 09 Javascript
分享20多个很棒的jQuery 文件上传插件或教程
Sep 04 Javascript
调试Node.JS的辅助工具(NodeWatcher)
Jan 04 Javascript
缓动函数requestAnimationFrame 更好的实现浏览器经动画
Dec 07 Javascript
浅谈JavaScript中的作用域和闭包问题
Jul 07 Javascript
JavaScript的History API使搜索引擎抓取AJAX内容
Dec 07 Javascript
jQuery动态添加可拖动元素完整实例(附demo源码下载)
Jun 21 Javascript
jQuery实现点击查看大图并以弹框的形式居中
Aug 08 Javascript
详解vue2.0 使用动态组件实现 Tab 标签页切换效果(vue-cli)
Aug 30 Javascript
通过源码分析Vue的双向数据绑定详解
Sep 24 Javascript
详解Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on
Oct 12 Javascript
vue axios请求频繁时取消上一次请求的方法
Nov 10 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图片上传程序
2008/03/27 PHP
php模板函数 正则实现代码
2012/10/15 PHP
php实现获取文章内容第一张图片的方法
2014/11/04 PHP
php显示时间常用方法小结
2015/06/05 PHP
php简单获取复选框值的方法
2016/05/11 PHP
让iframe自适应高度(支持XHTML,支持FF)
2007/07/24 Javascript
javascript 字符 Escape,encodeURI,encodeURIComponent
2009/07/09 Javascript
讨论javascript(一)工厂方式 js面象对象的定义方法
2009/12/15 Javascript
javascript delete 使用示例代码
2010/03/29 Javascript
JavaScript变量声明详解
2014/11/27 Javascript
3个可以改善用户体验的AngularJS指令介绍
2015/06/18 Javascript
jquery按回车键实现表单提交的简单实例
2016/05/25 Javascript
关于JS中setTimeout()无法调用带参函数问题的解决方法
2016/06/21 Javascript
JS触发服务器控件的单击事件(详解)
2016/08/06 Javascript
jQuery对checkbox 复选框的全选全不选反选的操作
2016/08/09 Javascript
Bootstrap显示与隐藏简单实现代码
2017/03/06 Javascript
Angular2使用Augury来调试Angular2程序
2017/05/21 Javascript
AngularJS实现的JSONP跨域访问数据传输功能详解
2017/07/20 Javascript
AngularJS实现的输入框字数限制提醒功能示例
2017/10/26 Javascript
Vue中的Vux配置指南
2017/12/08 Javascript
jQuery 改变P标签文本值方法
2018/02/24 jQuery
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
2019/07/03 jQuery
js new Date()实例测试
2019/10/31 Javascript
高效jQuery选择器的5个技巧实例分析
2019/11/26 jQuery
Node.js中文件系统fs模块的使用及常用接口
2020/03/06 Javascript
JavaScript代码模拟鼠标自动点击事件示例
2020/08/07 Javascript
python列表操作使用示例分享
2014/02/21 Python
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
2018/11/01 Python
详解用Python为直方图绘制拟合曲线的两种方法
2019/08/21 Python
享誉全球的多元化时尚精品购物平台:Farfetch发发奇(支持中文)
2017/08/08 全球购物
State Cashmere官网:半零售价可持续蒙古羊绒
2020/02/26 全球购物
顺丰快递Java软件工程师面试题
2015/07/31 面试题
文明宿舍获奖感言
2014/02/07 职场文书
车间统计员岗位职责
2015/04/14 职场文书
HTML页面滚动时部分内容位置固定不滚动的实现
2021/04/14 HTML / CSS
基于python实现银行管理系统
2021/04/20 Python