游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

你会用ES6,那倒是用啊

  不是标题党,这是一位leader在一次代码评审会对小组成员发出的怒吼,原因是在代码评审中发现很多地方还是采用ES5的写法,也不是说用ES5写法不行,会有BUG,只是造成代码量增多,可读性变差而已。
  文章转载:乐字节
  恰好,这位leader有代码洁癖,面对35年经验的成员,还写这种水平的代码,极为不满,不断对代码进行吐槽。不过对于他的吐槽,我感觉还是有很大收获的,故就把leader的吐槽记录下来,分享给掘友们,觉得有收获点个赞,有错误的或者更好的写法,非常欢迎在评论中留言。
  ps:ES5之后的JS语法统称ES6!!!一、关于取值的吐槽
  取值在程序中非常常见,比如从对象obj中取值。constobj{a:1,b:2,c:3,d:4,e:5,}
  吐槽:constaobj。a;constbobj。b;constcobj。c;constdobj。d;consteobj。e;
  或者constfobj。aobj。d;constgobj。cobj。e;
  吐槽:不会用ES6的解构赋值来取值吗?5行代码用1行代码搞定不香吗?直接用对象名加属性名去取值,要是对象名短还好,很长呢?搞得代码中到处都是这个对象名。
  改进:const{a,b,c,d,e}obj;constfad;constgce;
  反驳
  不是不用ES6的解构赋值,而是服务端返回的数据对象中的属性名不是我想要的,这样取值,不是还得重新创建个遍历赋值。
  吐槽
  看来你对ES6的解构赋值掌握的还是不够彻底。如果想创建的变量名和对象的属性名不一致,可以这么写:const{a:a1}obj;console。log(a1);1
  补充
  ES6的解构赋值虽然好用。但是要注意解构的对象不能为undefined、null。否则会报错,故要给被解构的对象一个默认值。const{a,b,c,d,e}obj{};二、关于合并数据的吐槽
  比如合并两个数组,合并两个对象。consta〔1,2,3〕;constb〔1,5,6〕;constca。concat(b);〔1,2,3,1,5,6〕constobj1{a:1,}constobj1{b:1,}constobjObject。assgin({},obj1,obj2);{a:1,b:1}
  吐槽
  ES6的扩展运算符是不是忘记了,还有数组的合并不考虑去重吗?
  改进consta〔1,2,3〕;constb〔1,5,6〕;constc〔。。。newSet(〔。。。a,。。。b〕)〕;〔1,2,3,5,6〕constobj1{a:1,}constobj2{b:1,}constobj{。。。obj1,。。。obj2};{a:1,b:1}三、关于拼接字符串的吐槽constname小明;constscore59;constresult;if(score60){result{name}的考试成绩及格;}else{result{name}的考试成绩不及格;}
  吐槽
  像你们这样用ES6字符串模板,还不如不用,你们根本不清楚在{}中可以做什么操作。在{}中可以放入任意的JavaScript表达式,可以进行运算,以及引用对象属性。
  改进constname小明;constscore59;constresult{name}{score60?的考试成绩及格:的考试成绩不及格};四、关于if中判断条件的吐槽if(type1type2type3type4){。。。}
  吐槽
  ES6中数组实例方法includes会不会使用呢?
  改进constcondition〔1,2,3,4〕;if(condition。includes(type)){。。。}五、关于列表搜索的吐槽
  在项目中,一些没分页的列表的搜索功能由前端来实现,搜索一般分为精确搜索和模糊搜索。搜索也要叫过滤,一般用filter来实现。consta〔1,2,3,4,5〕;constresulta。filter(item{returnitem3})
  吐槽
  如果是精确搜索不会用ES6中的find吗?性能优化懂么,find方法中找到符合条件的项,就不会继续遍历数组。
  改进consta〔1,2,3,4,5〕;constresulta。find(item{returnitem3})六、关于扁平化数组的吐槽
  一个部门JSON数据中,属性名是部门id,属性值是个部门成员id数组集合,现在要把有部门的成员id都提取到一个数组集合中。constdeps{采购部:〔1,2,3〕,人事部:〔5,8,12〕,行政部:〔5,14,79〕,运输部:〔3,64,105〕,}letmember〔〕;for(letitemindeps){constvaluedeps〔item〕;if(Array。isArray(value)){member〔。。。member,。。。value〕}}member〔。。。newSet(member)〕
  吐槽
  获取对象的全部属性值还要遍历吗?Object。values忘记了吗?还有涉及到数组的扁平化处理,为啥不用ES6提供的flat方法呢,还好这次的数组的深度最多只到2维,还要是遇到4维、5维深度的数组,是不是得循环嵌套循环来扁平化?
  改进constdeps{采购部:〔1,2,3〕,人事部:〔5,8,12〕,行政部:〔5,14,79〕,运输部:〔3,64,105〕,}letmemberObject。values(deps)。flat(Infinity);
  其中使用Infinity作为flat的参数,使得无需知道被扁平化的数组的维度。
  补充
  flat方法不支持IE浏览器。七、关于获取对象属性值的吐槽constnameobjobj。name;
  吐槽
  ES6中的可选链操作符会使用么?
  改进constnameobj?。name;八、关于添加对象属性的吐槽
  当给对象添加属性时,如果属性名是动态变化的,该怎么处理。letobj{};letindex1;letkeytopic{index};obj〔key〕话题内容;
  吐槽
  为何要额外创建一个变量。不知道ES6中的对象属性名是可以用表达式吗?
  改进letobj{};letindex1;obj〔topic{index}〕话题内容;九、关于输入框非空的判断
  在处理输入框相关业务时,往往会判断输入框未输入值的场景。if(value!nullvalue!undefinedvalue!){。。。}
  吐槽
  ES6中新出的空值合并运算符了解过吗,要写那么多条件吗?if(value??!){。。。}十、关于异步函数的吐槽
  异步函数很常见,经常是用Promise来实现。constfn1(){returnnewPromise((resolve,reject){setTimeout((){resolve(1);},300);});}constfn2(){returnnewPromise((resolve,reject){setTimeout((){resolve(2);},600);});}constfn(){fn1()。then(res1{console。log(res1);1fn2()。then(res2{console。log(res2)})})}
  吐槽
  如果这样调用异步函数,不怕形成地狱回调啊!
  改进constfnasync(){constres1awaitfn1();constres2awaitfn2();console。log(res1);1console。log(res2);2}
  补充
  但是要做并发请求时,还是要用到Promise。all()。constfn(){Promise。all(〔fn1(),fn2()〕)。then(res{console。log(res);〔1,2〕})}
  如果并发请求时,只要其中一个异步函数处理完成,就返回结果,要用到Promise。race()。十一、后续
  欢迎来对以上十点leader的吐槽进行反驳,你的反驳如果有道理的,下次代码评审会上,我替你反驳。
  此外以上的整理内容有误的地方,欢迎在评论中指正,万分感谢。
  如果你还有其它想吐槽的,也非常欢迎在评论中留下你的吐槽。
  读完有帮助,不妨关注一下,点个赞支持一下。
  文章转载:乐字节
  Java编程交流裙:785794074暗号:75

2019年中国铁路春运累计发送旅客突破3亿人次IT之家2月22日消息据中国铁路官方发布,春运启动至今全国铁路累计发送旅客突破3亿人次,达到3。2亿人次。2月22日,全国铁路预计发送旅客1180万人次,主要以学生、务工人员为……摇篮幼儿园大班语言说课稿一、教材分析小朋友们,大家好,今天我们学习一首新诗歌摇篮,这首诗具有奇妙别致的想象,将大海、天空、花园、妈妈的手这些美好的景色比喻成摇篮,描写出了小宝宝们分别在不同的摇篮……课改后对音乐课的反思再有,从这样教学方法中,学生的合作意识、探究精神得到锤炼,学生的主体作用得到发挥,学生的人格素质得到全面提高,为学生终身学习音乐打下良好的基础。注重创设教学情境、语言氛围,培养……北师大版小学二年级数学上小熊请客的教学反思教学时,我从学生已有经验出发,先出示连加,连减,加减混合运算,唤起学生旧知,知道从左往右依次计算,考虑到学生可能受原有知识干扰,乘加也要从左往右计算;因此,我创设小熊购物情境,……课文画风的教学设计【学习目标】、有主动识字的愿望,能认识生字宋、涛、陈、丹、赵、艺、显,会正确书写艺、涛。、分角色有感情地朗读课文。、在读、议、画中理解课文,在阅读中积累语言。……洛阳纸贵造句范例1、我一面渴盼作品能使洛阳纸贵,一面又怕从俗而沾上江湖习气。2、学界公认,它开了比较新闻学之先河,以其鲜明夺目的标题填补了大众传播的空白,揭示了新闻媒介与社会的关联,以至……雨幕的解释及造句雨幕拼音【注音】:yumu雨幕解释【意思】:雨点密密麻麻,景物象被幕罩住一样,因此叫做雨幕。雨幕造句:1、在快到校门口时,他用他那双温和的大手,把……陆奇50年后微软谷歌会被颠覆,AI是前所未有的机遇今天,YC中国在中关村举办创业者见面会,YC中国创始人及CEO、YC全球研究院院长陆奇围绕《技术驱动创业带来的创业机会》主题展开深度分享。陆奇表示,创业是一个新的历史潮流……蒙娜丽莎不笑了,AI还为她打造了系列表情包蒙娜丽莎因为其神秘的微笑而闻名于世。最近在人工智能的帮助下,这张著名的脸展示出了一系列令人震惊的新表情。在一段5月21日分享在YouTube的一段视频中,分别有三个不同片……献你一束花课文教学反思篇一:《献你一束花》教学反思课文《献你一束花》,主要讲述了一位优秀的女体操运动员在比赛中失败后失落、沮丧、愧疚之时,机场服务员献上了一束鲜花,给了她理解与鼓励,告诉我们鲜……央视猪年春晚阵容公布包括张艺兴吴亦凡蔡徐坤成龙IT之家1月24日消息距离央视猪年春晚的播出越来越近了,许多人都很期待今年的春晚会有哪些节目。此前,IT之家报道过,据新浪娱乐消息,知情人士透漏,原定在2019央视春晚表演语言……关于文言文山市的阅读及答案山市蒲松龄奂山山市,邑八景之一也,然数年恒不一见。孙公子禹年与同人饮楼上,忽见山头有孤塔耸起,高插青冥,相顾惊疑,念近中无此禅院。无何,见宫殿数十所,碧瓦飞甍,始悟……
音乐教案民歌欣赏课题民歌欣赏课时1hr课型综合欣赏课教学目标1通过介绍使学生对民歌的种类有个初步的了解和认识。2通过欣赏和学唱民歌使学生更加热爱民族民间音乐……高一物理下册二单元质点在平面内的运动教案一、预习目标1。在具体的情景中知道什么是合运动,什么是分运动,知道其等时性和独立性2。知道运动的合成分解,理解平行四边形定则。3。会用作图和计算的方法求分解合……今年支付宝集五福除了福卡,还有民俗彩蛋卡等着IT之家1月15日消息今天上午,支付宝正式宣布2019年集五福活动,据了解,支付宝将在1月25日(腊月二十)开始,时间持续到2月4日(除夕)。刚刚,支付宝官方公布本次集福……幼儿园小班综合看看我的脸教案活动目标:1、学习指认五官,并说出五官的名称2、体验游戏的。快乐活动准备:小镜子人手一个;五官活动的脸谱一份;音乐lt;lt;在哪里gt;gt;活动过程……河北招生办回应8000多高考生0分往年也这样,已核查IT之家6月24日消息据时间视频消息,6月23日,河北公布40余万考生高考成绩,其中0分考生达8000余人,引发网友热议。对此河北省教育考试院工作人员称,(零分是因为)有缺考或……欠30万不还,老赖夫妻两个4连手机靓号22万起拍IT之家11月7日消息据梨视频报道,吉林通化的宋某与高某是夫妻两个人,欠30万不还;法院将对夫妻二人的尾号9999和5555的手机靓号进行拍卖,起拍价格共22万。通化市中……广东电信出现大规模断网故障感谢IT之家网友XME的线索投递!IT之家5月31日消息据不少网友反馈,今天上午,广东电信出现大规模断网故障,用户反馈,显示网络连接正常,但是无法上网。有网友微博表……用锌冒充白银质押贷款,骗子坑了银行8000万IT之家2月15日消息据今日新华社报道,最近公布的一份刑事裁定书显示,辽宁省高级人民法院对一起有些匪夷所思的诈骗案做出了终审宣判。据了解,此案的被告人用锌冒充白银质押贷款,让银……技术处长给自家银行植入病毒,盗取718万元获刑10年IT之家2月2日消息据每经网消息,裁判文书网于2月1日公布了一份裁决文案书,对一桩有些离奇的盗窃案做出了判决。据悉,案件的被告人是华夏银行原科技开发中心经理覃其胜,他通过在总行……蚂蚁金服任何声称能强开借呗或提升额度的,都是骗子IT之家3月7日消息昨日晚间,蚂蚁金服客服中心官方微博发文表示,任何人声称能给你强开借呗或者提升额度,都是骗子,而且利用【兼职刷单】或者【交易退款】来引诱你借呗打款的,也是骗子……美商用短信服务商TrueDialog捅娄子,数千万条短信泄露北京时间12月2日消息,由美国企业短信服务提供商TrueDialog管理的一个包含有数千万条企业向潜在客户发送短信的数据库被泄露到网上。该数据库存储有TrueDialog……小学英语教学反思范文英语是我们教学工作的核心之一,现代的学生必须要掌握好英语,在以后的生活和学习上才能占据优势。下面是关于小学英语教学反思的内容,欢迎阅读!小学英语教学反思一深港版英语很多内……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网