众所周知 , JAVAScript 一直在快速变化 。在新的 ES2020 中 , 有很多很棒的特性 , 我们大都已经迫不及待尝试了 。老实说 , 有时我们可以用不同角度来编写代码 , 同样也能达到相同的效果 , 而且有的还会更简短 , 更清晰 。
下面是列出一些 JavaScript 有用的技巧 , 相信总有一天会对你有所帮助 。
1.方法参数验证ES6 中可以为函数的参数设置默认值 , 有了这个 , 我们可以实现一个验证方法参数不能为空的巧妙技巧 。
const isRequired = () => { throw new Error('param is required')}const print = (num = isRequired()) => { console.log(`printing ${num}`) }print(2) //printing 2print() // errorprint(null) //printing null
2.格式化JSON代码我们都非常熟悉JSON.stringify , 但比较少知道的是它还可以进行格式化的输出 。
stringify 方法有三个参数:value , replacer和space 。其中 , 后两个是可选参数 , 这也是我们很少知道它的原因 。要缩进JSON , 必须使用space参数 。
console.log(JSON.stringify({name:"John",Age:23},null,'t'));>>> { "name": "John", "Age": 23}
3.从数组中获取惟一的值要从数组中获得唯一的值 , 需要使用filter方法过滤掉重复的值 。但是有了新的Set原生对象 , 事情就变得非常简单了 。
let uniqueArray = [...new Set([1, 2, 3, 3,3,"school","school",'ball',false,false,true,true])];>>> [1, 2, 3, "school", "ball", false, true]
4.从数组中删除虚值在某些情况下 , 我们想从数组中删除虚值 。虚值是 JavaScript 中的值为FALSE的值 。JavaScript 中只有六个虚值 , 它们是:
- undefined
- null
- NaN
- 0
- '' (空字符)
- false
myArray.filter(Boolean)
如果要对数组进行一些修改 , 然后过滤新数组 , 则可以尝试这样的操作 。请记住 , 原始myArray保持不变 。myArray .map(item => { // Do your changes and return the new item }) .filter(Boolean);
5.合并多个对象实际需求中 , 我们经常需要合并多个对照 , 快速的做法可以像下面这么做:const user = { name: 'John Ludwig', gender: 'Male' }const college = { primary: 'Mani Primary School', secondary: 'Lass Secondary School' }const skills = { programming: 'Extreme', swimming: 'Average', sleeping: 'Pro' }const summary = {...user, ...college, ...skills}
6.排序数字数组JavaScript 数组带有内置的sort方法 。默认情况下 , 此sort方法将数组元素转换为字符串 , 并对其进行字典排序 。但这在对数字数组进行排序时 , 会有问题 , 解决方法就是手写一个排序方法 。[0,10,4,9,123,54,1].sort((a,b) => a-b)>>> [0, 1, 4, 9, 10, 54, 123]
7.禁用鼠标右键有些情况 , 我们想在网页上禁用鼠标的右键 , 可以使用下面的方式来禁用:<body oncontextmenu="return false"> <div></div></body>
这个简单的代码就可以禁用右键单击 。8.在解构中使用别名解构赋值是一个JavaScript表达式 , 它可以将数组中的值或对象中的属性解构缩不同的变量中 。不必使用现有的对象变量 , 我们可以根据自己的偏好重命名它们 。
const object = { number: 10 }const { number } = object// 使用别名const { number: otherNumber } = objectconsole.log(otherNumber) //10
9.获取数组中的最后一项如果要获取数组的末尾元素 , 可以使用slice方法 。
推荐阅读
- 人工智能开发者:如何选择人工智能领域?
- 大学生|啥情况?电子厂招聘设置高中试题,大学生去应聘全答对,却被刷掉
- 大学|高中生为什么要拼尽全力考入名校?这是我见到最好的答案
- 学医什么专业好就业
- 学会怎样网上购物
- 春季老年人如何科学养生
- 茶叶烘焙之学理,茶怎么炭焙
- 马尾辫|刘翔老婆真个性!剪燕尾头穿貂皮显壮硕,他一身学生打扮真潮
- 生科医学|沈阳一批圣女果内外包装阳性!已感染11例
- 法学专业就业前景怎么样