分享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 相关文章推荐
在网页中控制wmplayer播放器
Jul 01 Javascript
自动生成文章摘要的代码[JavaScript 版本]
Mar 20 Javascript
javascript判断单选框或复选框是否选中方法集锦
Apr 04 Javascript
JQuery验证工具类搜集整理
Jan 16 Javascript
ExtJs动态生成treepanel的Json格式
Jul 19 Javascript
jQuery制作网页版选项卡
Jul 28 Javascript
JavaScript基础之this详解
Jun 04 Javascript
解决iview多表头动态更改列元素发生的错误的方法
Nov 02 Javascript
Node.js学习教程之Module模块
Sep 03 Javascript
vue自定义树状结构图的实现方法
Oct 18 Javascript
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
Oct 19 Javascript
JavaScript实现图片放大预览效果
Nov 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中判断一个字符串包含另一个字符串的方法
2007/03/19 PHP
PHP获取ip对应地区和使用网络类型的方法
2015/03/11 PHP
静态页面下用javascript操作ACCESS数据库(读增改删)的代码
2007/05/14 Javascript
javascript 写类方式之二
2009/07/05 Javascript
Draggable Elements 元素拖拽功能实现代码
2011/03/30 Javascript
在iframe里的页面编写js,实现在父窗口上创建动画效果展开和收缩的div(不变动iframe父窗口代码)
2011/12/20 Javascript
js过滤HTML标签以及空格的思路及代码
2013/05/24 Javascript
js字符串日期yyyy-MM-dd转化为date示例代码
2014/03/06 Javascript
纯javascript实现四方向文本无缝滚动效果
2015/06/16 Javascript
javascript弹出拖动窗口
2015/08/11 Javascript
jquery中live()方法和bind()方法区别分析
2016/06/23 Javascript
js实现手机发送验证码功能
2017/03/13 Javascript
详解从新建vue项目到引入组件Element的方法
2017/08/29 Javascript
JavaScript屏蔽Backspace键的实现代码
2017/11/02 Javascript
浅谈ajax请求不同页面的微信JSSDK问题
2018/02/26 Javascript
Vue项目使用CDN优化首屏加载问题
2018/04/01 Javascript
vue移动端监听滚动条高度的实现方法
2018/09/03 Javascript
动态内存分配导致影响Javascript性能的问题
2018/12/18 Javascript
vue data引入本地图片的两种方式小结
2019/11/13 Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
2020/07/21 Javascript
如何检测JavaScript中的死循环示例详解
2020/08/30 Javascript
python 正则式 概述及常用字符
2009/05/07 Python
Python编码时应该注意的几个情况
2013/03/04 Python
Python中的左斜杠、右斜杠(正斜杠和反斜杠)
2016/08/30 Python
Python3安装Scrapy的方法步骤
2017/11/23 Python
OpenCV2.3.1+Python2.7.3+Numpy等的配置解析
2018/01/05 Python
Python3.6基于正则实现的计算器示例【无优化简单注释版】
2018/06/14 Python
Python Django 页面上展示固定的页码数实现代码
2019/08/21 Python
中国领先的专业家电网购平台:国美在线
2016/12/25 全球购物
Nike瑞士官网:Nike CH
2021/01/18 全球购物
第28个世界无烟日活动总结
2015/02/10 职场文书
社团个人总结范文
2015/03/05 职场文书
离职证明范本
2015/06/12 职场文书
2016年春季运动会加油稿
2015/07/22 职场文书
2016年小学生寒假总结
2015/10/10 职场文书
Javascript中Microtask和Macrotask鲜为人知的知识点
2022/04/02 Javascript