美文网首页ES6JavaScript
一些es6让代码更简洁的小技巧

一些es6让代码更简洁的小技巧

作者: Frank_Fang | 来源:发表于2021-12-10 17:09 被阅读0次
// ********** 通过条件判断给变量赋值布尔值 ********** //
let a = 'a'
let b = false
let c = false
//bad
if (a === 'a') {
  b = true
} else {
  b = false
}
console.log(b) //true
// good
c = a === 'a'
console.log(c) //true

// ********** 判断数组的长度不为0 ********** //
let arr = [1]
// bad
if (arr.length > 0) {
  console.log(arr)
}
//good
if (arr.length) {
  console.log(arr)
}
if (!arr.length) {
  // todo
}

// ********** 三元表达式 ********** //
let d = 'd'
let e = 'e'
let f = false
//bad
if (d === 'd') {
  f = d
} else {
  f = e
}
console.log(f) //d
// good
f = d === 'd' ? d : e
console.log(f) //d

// ********** 使用includes简化if判断 ********** //
let g = 3
// bad
if (g === 1 || g === 3 || g === 5) {
  console.log('包含g')
}
// good
let incArr = [1, 3, 5]
if (incArr.includes(g)) {
  console.log('incArr包含a')
}

// ********** 使用some和every方法判断是否有满足条件的数组项 ********** //
let someArr = [1, 3, 5, 7, 9]
//good
let isHasNum = n => someArr.some(num => num === n)
console.log(isHasNum(5)) //true
//best
let isHasNum2 = (n, arr) => arr.some(num => num === n)
console.log(isHasNum2(3, someArr)) //true 数组中只要有一项等于3,即true
let isHasNum3 = (n, arr) => arr.every(num => num < n)
console.log(isHasNum3(10, someArr)) //true 数组中所有项都小于10,即true

// ********** 使用forEach方法遍历修改数组 ********** //
let forEachArr = [{ name: 'a' }, { name: 'b' }]
forEachArr.forEach(item => {
  item.key = 'test'
})
console.log(forEachArr) // [{name: 'a', key: 'test'},{name: 'b', key: 'test'}]

// ********** 使用filter形成新数组 ********** //
let filterArr = [1, 2, 3, 4, 5, 6]
let filterArr2 = filterArr.filter(n => n > 3)
console.log(filterArr2) //[4,5,6]

// ********** 使用map ********** //
let mapArr = [1, 2, 3, 4]
let newMapArr = mapArr.map(num => num * 2)
console.log(newMapArr) //[2,4,6,8]

// ********** 使用Object.values和Object.keys方法 ********** //
let obj = {
  a: 1,
  b: 2,
  c: 3
}
let objValues = Object.values(obj)
console.log(objValues) //[1,2,3]
let objKeys = Object.keys(obj)
console.log(objKeys) //['a','b','c']

// ********** 巧用解构数组 ********** //
let a1 = 1
let b2 = 2
let abArr = [a1, b2] = [b2, a1]
console.log(a1, b2) //2,1

// ********** 解构对象 ********** //
let personObj = { full_name: 'Someone', gender: 'male' }
let name = ''
let age = 0
function setForm ({ full_name: name, age = 24 }) {
  console.log(name, age) //重构时重命名及默认参数
}
setForm(personObj) //Someone 24

// ********** 箭头函数 ********** //
let arr2 = [1, 2, 3, 4, 5]
let findOddNum = (arr) => arr.filter(num => (num % 2 !== 0))
console.log(findOddNum(arr2)) //返回奇数

// ********** 函数参数校验 ********** //
let studentArr = [18, 19, 20]
let checkoutType = () => {
  console.error('参数不能为空')
}

let findStudentByAge = (arr, age = checkoutType()) => arr.filter(item => item === age)
console.log(findStudentByAge(studentArr, 20)) //[20]
console.log(findStudentByAge(studentArr)) //参数不能为空; 对第2个参数校验

相关文章

  • 一些es6让代码更简洁的小技巧

  • 编写更优雅的 JavaScript 代码

    代码技巧 优先 ES6 新特性写法 熟练使用 ES6 新特性可以优化代码,更加简洁,代码对比 优化逻辑判断语句 大...

  • ES6展开运算符的常见用法

    随着 ES6 的出现,编写 JavaScript 变得越来越灵活。新的语法让代码更简洁,可读性更高。ES6 新增了...

  • javascript “||” 和 “&&” 小技巧

    javascript中有很多小技巧,可以让代码变得简洁、易读、易懂。 我们今天先来看看 “||” 和 “&&” 小...

  • Lombok让代码更简洁

    Lombok 简介 Lombok项目通过添加“处理程序”,使java成为一种更为简单的语言。 简单来说,比如我们新...

  • 让 JS 代码更简洁

    文章结尾我会附上视频地址,有自己想法的可以留言交流,谢谢? 1. 输出对象快速查看 低效输出 console.lo...

  • 9个JavaScript小技巧:写出更简洁,高效代码

    JavaScript一直在变化进步着,这儿列举了一些小技巧帮你在2019年写出更简洁,高效的可拓展的代码。下面共列...

  • Swift编程小技巧

    Swift中有很多有用的小技巧,用好了能使代码更加安全,简洁,易于理解或效率更加高效,在这记录一些编写swifty...

  • ES6--对象的扩展

    属性的简洁表示法 ES6允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。 上面代码表明,ES6允...

  • JavaScript(ES6) - Object

    属性的简洁表示法 ES6允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。 上面代码表明,ES6允...

网友评论

    本文标题:一些es6让代码更简洁的小技巧

    本文链接:https://www.haomeiwen.com/subject/ibocfrtx.html