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

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 : c 5.使用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.name 18.字符串拼接使用${}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)

摊上事了?美国传来消息,马云被起诉了中国互联网企业的发展速度十分迅猛,不仅在国内有着巨大的影响力,而且引起了世界各国的关注。美国对于中国网络企业的动向,一直保持着极高的关注态度。这种关注对于我们来说并不是好事,看似比华为P40系列2。0。0。236发布说明感谢各位花粉的支持,欢迎您体验P405GP404GP40ProP40ProHarmonyOS2版本2。0。0。236。本次更新合入了安全补丁,增强了手机系统安全,建议您尽快更新,以爱上vivoX80Pro只需要几秒!分分钟拍大片女孩子懂女孩子,我们在买手机的时候,其实也不太注重性能方面咋样,感觉用起来都差不多,最重要的就是拍照清晰不清晰,而且我个人是有一个小小的摄影梦的,所以想让我新入手的手机能够拍出来更不容错过!2022年两周一展期间举办优质科技资源开放活动为让公众走进科学殿堂,近距离接触科研活动,感受科技创新魅力,营造全民参与科普活动的良好氛围,2022年全国科技活动周广西活动暨第三十一届广西科技活动周广西创新驱动发展成果展(以下简跨境电商如何向国外出售商品?流程详细讲解相对于国内电商狼争虎斗,竞争激烈,跨境电商就是一块还待开垦的沃土。虽然跨境电商比国内电商涉及的工作环节和流程复杂得多,但随着政策平台技术的发展与扶持,向国外出售商品的阻碍越来越少,十二大世界奇观墨西哥水晶洞在墨西哥奇瓦瓦州的奈卡地表下1000英尺处,是一个充满水晶的地下世界,看起来就像超人藏身处的场景。在矿泉水和来自岩浆室的极热不太可能结合之后,形成了巨大的圆柱形晶体,其元宇宙新鲜事沃尔玛成立探索元宇宙和Web3的创新部门Dior发布元宇宙展览财联社区块链日报4月29日讯今日元宇宙新鲜事有沃尔玛成立探索元宇宙和Web3的创新部门Dior发布元宇宙展览在路上(ONTHEROAD)元宇宙概念板块涨幅达4。元宇宙概念板块涨幅达孟晚舟晋升董事长,向13万员工派发人均46万分红,为何如此豪气?孟晚舟晋升董事长,向13万员工派发,人均46万的分红,她这样豪气的原因,一是华为公司有这样的实力,收益很高,完全支付的起,二是孟晚舟刚刚晋升董事长,为员工谋取福利,能够得到大家更多实战入门PODpod是k8s中最小的管理单元,程序在容器中,容器在pod中k8s通过管理pod来管理容器,通过管理容器进而管理程序pod可以说是容器的封装,一个pod中可以存在一个或多个容器qq目前公认口碑最好的四款机型,第三款很多人不舍得换,最低仅1789第一款iQOO9Pro采用了一块6。78英寸的三星AMOLED柔性直屏,支持2K分辨率,这款屏幕的材质为E5,功耗相对于E4降低25,具有以下优势手动最大亮度500nit对比度80什么样的手机一定不能买?牢记这3大原则,帮你避免踩坑现在的手机丰富多样,有不同价位的手机不同类型的手机,可供消费者选择,但越是如此,大家就越不知道怎么买,因为可以选择的太多,导致很多人买手机的时候都陷入了纠结,而且在买手机的时候,很
你是因为什么原因放弃使用华为?用着挺好为什么要放弃?老子用的好好的,没放弃!带假设的问是何意图?有点良心的中国人,都不会轻易放弃华为,他代表了中国高科技企业的精神!为什么要放弃,mate40pro坚持用到华为翻荣耀子品牌曝光!荣耀将代替华为成爸爸,最快一年成为国内第一荣耀手机脱离了华为之后,开始全面开启了市场争夺之路!荣耀手机从发布脱离华为之后的第一部手机荣耀V40开始,频繁地开启了新品发布会,荣耀数字系列的第一部手机荣耀50创造了一分钟破5亿假如你换手机,想换什么品牌的?谢谢题主。答华为!现在用的华为麦芒5,流畅好用。华为不要和我说我是狭隘的爱国,郑强老师说过一句话一个国家的品牌连自己的国人都不买,那这个品牌还怎么成长。二战以后,日本和德国的汽车产网上助听器为什么比专业验配中心便宜那么多?网上的便宜助听器都是不需要调试的模拟机,原本就是便宜的助听器,很多是电子厂生产的,模拟式助听器是线性放大,即对轻中重的声音同等放大,导致小声听不清,大声听的很难受,严重的甚至会损害现在市场上手机品牌太多,到底能入手的手机有哪几种?这篇文章近8000字,属于一篇选择手机的攻略文章,看完以后会改变你对手机的认识,但由于篇幅过长,建议收藏后找时间仔细阅读,我相信可以让你得到一些收获。华为目前比较值得入手的机型不多全球汽车芯片短缺,点燃了中国半导体的熊熊大火芯片大战,美国肯定是玩真的。那么中国应对的办法,唯一就是做出自己的高端芯片,没有第二条路可供选择。置之死地而后生,虽然悲情了一些。但无可否认,在这种绝望的情境下进行技术攻关是最容易没有孩子能拒绝这款耳机,Tribit趣倍专业儿童耳机评测如果说要给家里的小朋友买一款蓝牙耳机的话,那我一定推荐这款Tribit趣倍儿童蓝牙无线耳机,从定位上来看,这是一款专为儿童打造的儿童头戴耳机,先不说别的,耳机造型颜值就让人有佩戴的苹果笔记本数据迁移随着苹果笔记本的普及程度提高,好多人对苹果的OS系统也是越来越喜欢了,今天发现了一个在苹果电脑之间直接数据迁移的方法,真的是很高效,分享给大家,希望对更新换代苹果笔记本的朋友们有所手机病毒是怎么获取手机里个人信息的?与其说手机病毒获取个人信息,倒不如说是流氓软件强迫用户打开各种权限来获取个人信息!就像下载每个app都要访问你的通讯录,或者打开摄像头麦克风权限,访问手机相册!然后上传云端服务器!LG成功测试6G无线信号传输,是不是有点超前了?幸亏这是LG弄的。如果是华为肯定又有一堆们追着喊6G没有用了。LG手机业务都不做了,还弄6G有什么用。6G连标准都没出这是自己喊的另外微波频已经够了(再高真成微波炉了),6G顶多在神经性耳聋戴助听器会有改善吗?感音神经性耳聋主要表现就是小声听不到,大声又太吵。戴上助听器后还是感觉听不太清楚。因为感音神经性多数都是高频损失的比较严重。在戴上助听器后我们不应该着急听清楚。而是要慢慢锻炼,让声