分享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 相关文章推荐
使用Json比用string返回数据更友好,也更面向对象一些
Sep 13 Javascript
js遍历td tr等html元素
Dec 13 Javascript
浮动的div自适应居中显示的js代码
Dec 23 Javascript
JavaScript AJAX之惰性载入函数
Aug 27 Javascript
js实现小窗口拖拽效果
Dec 03 Javascript
利用JS判断鼠标移入元素的方向
Dec 11 Javascript
JS实现的透明度渐变动画效果示例
Apr 28 Javascript
微信小程序实现保存图片到相册功能
Nov 30 Javascript
3分钟读懂移动端rem使用方法(推荐)
May 06 Javascript
浅谈nuxtjs校验登录中间件和混入(mixin)
Nov 06 Javascript
JavaScript实现瀑布流布局的3种方式
Dec 27 Javascript
js正则匹配markdown里的图片标签的实现
Mar 24 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
Dedecms V3.1 生成HTML速度的优化办法
2007/03/18 PHP
PHP+Tidy-完美的XHTML纠错+过滤
2007/04/10 PHP
配置php网页显示各种语法错误
2013/09/23 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
select组合框option的捕捉实例代码
2008/09/30 Javascript
javascript使用activex控件的代码
2011/01/27 Javascript
基于jquery ajax 用户无刷新登录方法详解
2012/04/28 Javascript
Android中资源文件(非代码部分)的使用概览
2012/12/18 Javascript
js实现遮罩层划出效果是生成div而不是显示
2014/07/29 Javascript
jQuery插件scroll实现无缝滚动效果
2015/04/27 Javascript
iPhone手机上搭建nodejs服务器步骤方法
2015/07/06 NodeJs
javascript 判断两个日期之差的示例代码
2015/09/05 Javascript
JavaScript+html5 canvas绘制的圆弧荡秋千效果完整实例
2016/01/26 Javascript
JS中对Cookie的操作详解
2016/08/05 Javascript
jQuery子元素过滤选择器用法示例
2016/09/09 Javascript
JQuery遍历元素的父辈和祖先的方法
2016/09/18 Javascript
bootstrap 表单验证使用方法
2017/01/11 Javascript
js 颜色选择插件
2017/01/23 Javascript
微信小程序手势操作之单触摸点与多触摸点
2017/03/10 Javascript
详谈js使用in和hasOwnProperty获取对象属性的区别
2017/04/25 Javascript
Ionic2开发环境搭建教程
2020/08/20 Javascript
详解基于iview-ui的导航栏路径(面包屑)配置
2019/02/22 Javascript
vue动态禁用控件绑定disable的例子
2019/10/28 Javascript
[01:16:28]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第二场 2月23日
2021/03/11 DOTA
使用Python抓取豆瓣影评数据的方法
2018/10/17 Python
Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解
2019/04/26 Python
Python库安装速度过慢解决方案
2020/07/14 Python
纯css3实现走马灯效果
2014/12/26 HTML / CSS
印度尼西亚最大的电商平台:Tokopedia(印尼版淘宝)
2017/12/02 全球购物
本科毕业生的求职信范文
2013/11/20 职场文书
招商业务员岗位职责
2013/12/16 职场文书
倡议书格式
2014/04/14 职场文书
学生会宣传部部长竞选演讲稿
2014/04/25 职场文书
中药学自荐信
2014/06/15 职场文书
大学生创业计划书
2014/08/14 职场文书
2015元旦主持词开场白和结束语
2014/12/14 职场文书