范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

20条JavaScript代码简洁的写法

  1、通过条件判断给变量赋值布尔值的正确姿势// bad  if (a === "a") {      b = true  } else {      b = false  }     // good  b = a === "a"2、在if中判断数组长度不为零的正确姿势// bad  if (arr.length !== 0) {      // todo  }     // good  if (arr.length) {      // todo  }3、同理,在if中判断数组长度为零的正确姿势// bad  if (arr.length === 0) {      // todo  }     // good  if (!arr.length) {      // todo  }4、简单的if判断使用三元表达式// bad  if (a === "a") {      b = a  } else {      b = c  }     // good  b = a === "a" ? a : c5、使用includes简化if判断// bad  if (a === 1 || a === 2 || a === 3 || a === 4) {      // todo  }     // good  let arr = [1, 2, 3, 4]  if (arr.includes(a)) {      // todo  }
  巧用数组方法,尽量避免用for循环  6、使用some方法判断是否有满足条件的元素// bad  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  }     // good  let arr = [1, 3, 5, 7]  let isHasNum = n => arr.some(num => num === n)     // best  let arr = [1, 3, 5, 7]  let isHasNum = (n, arr) => arr.some(num => num === n)7、使用forEach方法遍历数组,不形成新数组// bad  for (let i = 0; i < arr.length; i ++) {      // todo      arr[i].key = balabala  }     // good  arr.forEach(item => {      // todo      item.key = balabala  })8、使用filter方法过滤原数组,形成新数组// bad  let arr = [1, 3, 5, 7],      newArr = []  for (let i = 0; i < arr.length; i ++) {      if (arr[i] > 4) {          newArr.push(arr[i])      }  }     // good  let arr = [1, 3, 5, 7]  let newArr = arr.filter(n => n > 4) // [5, 7]9、使用map对数组中所有元素批量处理,形成新数组// bad  let arr = [1, 3, 5, 7],         newArr = []  for (let i = 0; i < arr.length; i ++) {         newArr.push(arr[i] + 1)  }     // good  let arr = [1, 3, 5, 7]  let newArr = arr.map(n => n + 1) // [2, 4, 6, 8]
  巧用对象方法,避免使用for...in  10、使用Object.values快速获取对象键值let obj = {        a: 1,        b: 2  }  // bad  let values = []  for (key in obj) {        values.push(obj[key])  }     // good  let values = Object.values(obj) // [1, 2]11、使用Object.keys快速获取对象键名let obj = {         a: 1,         b: 2  }  // bad  let keys = []  for (value in obj) {        keys.push(value)  }     // good  let keys = Object.keys(obj) // ["a", "b"]
  巧用解构简化代码  12、解构数组进行变量值的替换// bad  let a = 1,        b = 2  let temp = a  a = b  b = temp     // good  let a = 1,        b = 2  [b, a] = [a, b]13、解构对象// bad  setForm (person) {        this.name = person.name         this.age = person.age  }     // good  setForm ({name, age}) {        this.name = name        this.age = age   }14、解构时重命名简化命名
  有的后端返回的键名特别长,你可以这样干  // bad  setForm (data) {         this.one = data.aaa_bbb_ccc_ddd         this.two = data.eee_fff_ggg  }  // good  setForm ({aaa_bbb_ccc_ddd, eee_fff_ggg}) {        this.one = aaa_bbb_ccc_ddd        this.two = eee_fff_ggg  }     // best  setForm ({aaa_bbb_ccc_ddd: one, eee_fff_ggg: two}) {        this.one = one         this.two = two  }15、解构时设置默认值// bad  setForm ({name, age}) {        if (!age) age = 16         this.name = name        this.age = age   }     // good  setForm ({name, age = 16}) {        this.name = name         this.age = age  }16、||短路符设置默认值let person = {         name: "张三",        age: 38  }     let name = person.name || "佚名"17、&&短路符判断依赖的键是否存在防止报错"xxx of undfined"let person = {         name: "张三",        age: 38,        children: {               name: "张小三"        }  }     let childrenName = person.children && person.childre.name18、字符串拼接使用${}let person = {        name: "LiMing",         age: 18  }  // bad  function sayHi (obj) {        console.log("大家好,我叫" + person.name = ",我今年" + person.age + "了")  }     // good  function sayHi (person) {        console.log(`大家好,我叫${person.name},我今年${person.age}了`)  }     // best  function sayHi ({name, age}) {         console.log(`大家好,我叫${name},我今年${age}了`)  }19、函数使用箭头函数let arr [18, 19, 20, 21, 22]  // bad  function findStudentByAge (arr, age) {        return arr.filter(function (num) {              return num === age         })  }     // good  let findStudentByAge = (arr, age)=> arr.filter(num => num === age)20、函数参数校验// bad  let findStudentByAge = (arr, age) => {      if (!age) throw new Error("参数不能为空")      return arr.filter(num => num === age)  }     // good  let checkoutType = () => {      throw new Error("参数不能为空")  }  let findStudentByAge = (arr, age = checkoutType()) =>      arr.filter(num => num === age)

长津湖票房破50亿元!博纳影业的多赢之路长津湖突破50亿元票房意味着什么?作者李白玉来源野马财经又一部50亿票房电影诞生了!10月20日,电影长津湖票房达到50。39亿,超越中国电影票房榜排名第3的哪吒之魔童降世,位列票绿茶餐厅要上市年入15。69亿元,363个新菜你贡献了多少钱?上一次吃绿茶,是在什么时候?面包诱惑葱香烤肉酱爆石锅蛙石锅鸡汤豆腐听着一道道菜名,食欲大开的同时,资深食客的脑海里想必已经浮现出一家餐厅的名字绿茶餐厅。更多的画面渐次浮现古色古香的双11大促品牌各出奇招,所有女生的OFFER上演神仙打架10月13日,美ONE理性消费,快乐购物双11发布会(以下简称发布会)在沪举办。当天,也是所有女生的OFFER(下称OFFER)收官日。OFFER中所有保密的品牌OFFER,在当晚小米10pro使用一年感受从入手小米10pro也有快一年了,当初的4999现在已经掉价近一半,某东二手九成新10pro已经跌破2500大关,接下来我就来好好地跟大家聊一聊手中的米10pro。图一首先我自己用小米传奇钉子户小米6在2017年的4月28日,小米公司按照往年惯例发布了新一代的旗舰手机小米6,谁能想到一台安卓手机在四年多以后仍有几百万的用户持有。图一小米6钉子机详细配置小米6搭载了2017年的骁一点小事,让老爷爷感动到流泪,一个人这么大年纪过得真不容易白苏说文今天在网上看到一则视频,看完后忍不住掉眼泪,视频的内容很正能量,很引人深思。视频的开头,老爷爷哽咽着说我要哭了,你怎么对我这么好?看着这么淳朴的老爷爷,你是会否想起自己的父六旬老人房子被拆居无定所,儿子儿媳这样做,邻居都看不下去了前年女儿出生在老家呆了一段时间,看到这样心寒的一幕,它一直在我心里难以忘怀,趁今天有空将它写下来。我家地处于绿水青山脚下,风景优美,特别是在夏天,房子的后面是一片绿油油的海洋,前面17岁女生对父母的教诲油盐不进,还离家出走?到底该怎么教育白苏说文晚上11点多突然接到老妈电话,往常老妈一般晚上9点不到就睡了,今天这么晚打电话来肯定有什么事情,果不其然,我一接听电话,老妈就说道家中小妹,这么晚还没回来,甚是担心,我说什为何父母总是一碗水端不平?很多女孩都不敢嫁两兄弟的家庭了白苏说文昨天晚上逛论坛看到一则帖子深深触动了我,帖子的内容是这样的千万别嫁给有两个兄弟的家庭,原因是公公婆婆对待老公和小叔子完全不一样,为人父母的在大多数事情上都做不到一碗水端平。5年前买了国产车的你,第二辆还会选国产车吗?老司机说出答案在大三暑假期间,和一位很要好的朋友在店里吃着炸鸡,喝着可乐,看着窗外的车流,我们讨论着中国汽车的发展,朋友说道要是以后我买车,打死我也不买国产车。从那会起,我开始渐渐地知道,原来身新手司机第一次开联动云6月份才拿了驾照,然后就再也没有开过车了,今天晚上突然发现停车场停了几辆共享汽车,所以决定去体验体验,过一把手瘾。怎么使用联动云租车首先需要下载联动云租车app,或者直接用支付宝里
直播电影音乐都适用,加来众科M50专业监听耳机享美妙音质对于很多普通用户来说,拥有一款适合直播听音乐看电影这种适用范围广的耳机,是一件可遇不可求的事情,因为我们日常生活娱乐的方式有很多种,不太可能说每一种娱乐方式都要换一款耳机。而且,现什么样的蓝牙听音乐更爽?其实我们现在90以上的人,听的蓝牙都是很普通的蓝牙,您知道吗。什么蓝牙听耳机才香?近几年,蓝牙技术使用愈加广泛,其中,蓝牙耳机和真无线耳机为大家津津乐道。也因为蓝牙音频技术的突飞猛千元降噪耳机大比拼华为1MoreSony谁最值得买?有人在某乎上提了个问题1More降噪豆,华为FreeBudsPro及SonyWF1000XM3哪个耳机最值得买?我正好放假最后一天在家无事,就回答一下,顺便搬过来给大家看看。可谓千耳机选购之蓝牙耳机连接技术大P。K我们还做了一个视频,如果不想看文字的可以看视频哈在我的主页,视频更好看酷拽酷拽酷拽当你想买一对真无线耳机,打开某东或某宝,你会发现,真无线耳机在某东有30w多件商品,在某宝则有10全球游火爆飞猪助88VIP会员先玩起来剁手之后,走出国门去逛世界的剁脚族也能省钱了。8月8日,随着阿里一卡通88VIP的会员权益全面升级,飞猪旅行成为阿里生态内此次唯一新加入88VIP的新场景。飞猪给88VIP会员特别2020阿里妈妈mawards头号营销玩家创造营正式开始9月23日,国内营销行业首个全生态品牌数字营销创造营mawards正式开营,阿里妈妈将组织阿里巴巴集团内外部顶级讲师天团从品牌营销资源数据洞察实战指导等多维度对参赛选手进行全程营销容百科技再遭2。52亿专利索赔,直指拳头811系,股价几近跌停作者黄莺9月16日晚,国内最大的三元锂电正极材料龙头宁波容百新能源科技股份有限公司(容百科技,688005。SH)发布涉诉公告,称公司近日收到宁波市中级人民法院关于比利时优美科(U美国市值最高的五大科技公司过去10年共有91宗大型专利收购作者吴征9月15日,美国联邦贸易委员会FTC召开的一次公开委员会会议上,FTC的工作人员介绍了其对大型科技平台收购的调查结果。这项调查包括了美国市值最高的五家科技巨头Apphabe容百科技挑战优美科电池专利失败,面临6200万专利赔偿作者黄莺8月4日,国家知识产权局专利复审和无效部发出第51308号决定,显示由宁波容百新能源科技股份有限公司(容百科技,688005。SH)对比利时优美科公司的中国专利ZL2012华为云Stack助力广东农信打造金融科技新基座2019年11月,广东省第三代社会保障卡在中山发布,广东农信成为第一家成功对接第三代社保卡业务的银行机构,利用金融服务帮助社保卡一卡畅享102项民生服务,让更多人享受安全便捷的民生iphone又来割白菜啦!快来看看,小白菜是不是你的?自Iphone12发布以来,评论声大大小小,今天小编就来扒一扒iphone到底值不值得大家购买。首先从外观看,黑绿红蓝白紫5种颜色可供选择。下图就是经典黑色系列啦,颜值没得说,一个