美文网首页
JS简洁写法总结

JS简洁写法总结

作者: 小碗吃不了 | 来源:发表于2020-12-21 17:18 被阅读0次
  • 条件判断给变量赋值布尔值

    if (a === 'a') {
        b = true
    } else {
        b = false
    }
    
    简洁写法:  b = a === 'a'
    
  • 判断数组长度不为零

    if (arr.length !== 0) {
    // todo
    }
    
    简洁写法:if (arr.length) {// todo}
    
  • 判断数组长度为零

    if (arr.length === 0) {
    // todo
    }
    
    简洁写法: if (!arr.length) {// todo}
    
  • 三元表达式

    if (a === 'a') {
      b = a
    } else {
      b = c
    }
    
    简洁写法:b = a === 'a' ? a : c
    
  • includes简化if判断

    if (a === 1 || a === 2 || a === 3 || a === 4) {
      // todo
    }
    
    简洁写法:let arr = [1, 2, 3, 4]
             if (arr.includes(a)) { }
    
  • some方法判断是否有满足条件的元素

     let arr = [1, 3, 5, 7]
        function isHasNum (n) {
            for (let i = 0; i < arr.length; i ++) {
              if (arr[i] === n) {
                return true
              }
        }
        return false
      }
    
    简洁写法:let arr = [1, 3, 5, 7]
             let isHasNum = (n, arr) => arr.some(num => num === n)
    
  • forEach方法遍历数组,不形成新数组

     for (let i = 0; i < arr.length; i ++) {
        // todo
        arr[i].key = balabala
    }
    
    简洁写法:arr.forEach(item => {
              // todo
              item.key = balabala
            })
    
  • filter方法过滤原数组,形成新数组

    newArr = []
    for (let i = 0; i < arr.length; i ++) {
      if (arr[i] > 4) {
        newArr.push(arr[i])
      }
    }
    
    简洁写法:let arr = [1, 3, 5, 7]
             let newArr = arr.filter(n => n > 4) // [5, 7]
    
  • map对数组中所有元素批量处理,形成新数组

    let arr = [1, 3, 5, 7],
    newArr = []
    for (let i = 0; i < arr.length; i ++) {
     newArr.push(arr[i] + 1)
    }
    
    简洁写法:let arr = [1, 3, 5, 7]
             let newArr = arr.map(n => n + 1) // [2, 4, 6, 8]
    
  • 使用Object.values快速获取对象键值

    let obj = {
        a: 1,
        b: 2
    }
    let values = []
    for (key in obj) {
        alues.push(obj[key])
    }
    
    简洁写法:let values = Object.values(obj) // [1, 2]
    
  • 使用Object.keys快速获取对象键名

    let obj = {
        a: 1,
        b: 2
    }
    let keys = []
    for (value in obj) {
        keys.push(value)
    }
    
    简洁写法:let keys = Object.keys(obj) // ['a', 'b']
    
  • 解构数组进行变量值的替换

    let a = 1,
        b = 2
    let temp = a
        a = b
        b = temp
    
     简洁写法:let a = 1,
              b = 2
              [b, a] = [a, b]
    
  • 解构对象

    setForm (person) {
      this.name = person.name
      this.age = person.age 
    }
    
    简洁写法:setForm ({name, age}) {
              this.name = name
              this.age = age 
            }
    
  • 解构时重命名简化命名

     setForm (data) {
      this.one = data.aaa_bbb_ccc_ddd
      this.two = data.eee_fff_ggg
    }
    
    简洁写法:setForm ({aaa_bbb_ccc_ddd: one, eee_fff_ggg: two}) {
             this.one = one
             this.two = two
            }
    
  • 解构时设置默认值

    setForm ({name, age}) {
      if (!age) age = 16
      this.name = name
      this.age = age 
    }
    
     简洁写法:setForm ({name, age = 16}) {
              this.name = name
              this.age = age 
             }
    
  • ||短路符设置默认值

    let person = {
      name: '张三',
      age: 38
    }
    
    简介写法:let name = person.name || '佚名'
    
  • &&短路符判断依赖的键是否存在防止报错'xxx of undfined'

    let person = {
    name: '张三',
    age: 38,
    children: {
      name: '张小三'
     }
    }
    
    简介写法:let childrenName = person.children && person.childre.name
    
  • 函数参数校验

    let findStudentByAge = (arr, age) => {
      if (!age) throw new Error('参数不能为空')
      return arr.filter(num => num === age)
    }
    
    简洁写法:let checkoutType = () => {
             throw new Error('参数不能为空')
             }
            let findStudentByAge = (arr, age = checkoutType()) =>
            arr.filter(num => num === age)
    
  • 从数组对象中抽出指定值组成数组并拼接字符串

      const arr = [
                { 
                    name:"八百",
                    id:234
                },
                 { 
                    name:"八百",
                    id:234
                },
                ]
     const newStr =  arr.map(({ name }) => name).join('、');

相关文章

  • JS简洁写法总结

    条件判断给变量赋值布尔值if (a === 'a') { b = true} else { b = f...

  • JS优雅写法记录

    1、ES6语法篇 2、js简洁写法 3、js数组篇

  • JS中的面向对象

    最近在复习JS基础,对于JS中的面向对象写法在此总结一下。 第一种:TS写法(ES6写法) 这种写法是在做项目里经...

  • WKWebView与vue.js的交互

    原生调用js的方法 js写法 Swift写法 js调用原生的方法 js写法 Swift写法 1.创建和设置JSOb...

  • 简洁的js语法写法(短路求值)

    1. 过滤唯一值 ES6 引入了 Set 对象和延展(spread)语法…,我们可以用它们来创建一个只包含唯一值的...

  • 一些简洁的JS写法

    1、从数组中删除重复项Set是一个集合,允许存储唯一的值,可用户删除任何重复的值。 const num = [0,...

  • 【基础系列】JS使用技巧专题

    JS使用技巧专题 1开发技巧 1.1函数使用 1.1.1函数声明方式 JS函数的写法总结 http://blog....

  • JSPatch下发笔记3

    OC代码: JS代码: 总结:1.扩展类的写法:如:NSString (Float) 写成defineClass(...

  • ES6里Generator的理解

    Generator本身的功能类似于其他语言中Iterator的功能,不过写法在JS里更加的简洁明了。 Functi...

  • vuex 简洁写法

    在src下新建一个 /store/index.js,内容如下 在main.js里面引用 这样就可以在vue里面使用了:

网友评论

      本文标题:JS简洁写法总结

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