当前位置: 首页 > Web前端 > HTML

编写JavaScript的18个好习惯!

时间:2023-04-02 14:00:23 HTML

作者:ivan.c译者:前端小智来源:在medium点赞,再看,微信搜索【大千世界】,B站关注【前端小智】这个没有大佬的后台工厂,但拥有积极向上的心态的人。本文已收录到GitHubhttps://github.com/qq44924588...,文章已分类,也整理了很多我的文档和教程资料。最近开源了一个Vue组件,但是还不够完善。欢迎大家一起完善,也希望大家能给个star支持一下。谢谢。github地址:https://github.com/qq44924588...在我多年的编程生涯中,我会优先考虑写代码的方式,不仅是为了让代码更简洁,也因为这样有助于提高编码效率,让写代码更快。写1000行代码和写300行代码不一样,这对我们正在做的程序或脚本帮助很大。编程时必须非常小心,因为脏代码在大型项目中可能是一个严重的问题。许多程序员批评JS语言没有像Java或C++那样的标准工作方式,但事实是JavaScript是当今使用的最好的语言之一,其中一些是Facebook和Netflix。像React这样的库可以提高前端性能,而对于后端,nextJs可以提高速度,这种组合让今天的程序员抓狂。ECMAScriptv6(简称ES6或ES2015)是JavaScript自2015年6月以来遵循的标准。通过学习以下技术,我们可以改进我们编写代码的方式。花时间在控制台上练习,学好。让我们开始吧~1.常量使用const代替var常量是永远不会改变的变量,所以这样声明变量可以保证它们永远不会改变。/*老办法*/vari=1;/*正确的方式*/consti=1;2.使用let代替varlet语句来声明具有块作用域的局部作用域变量/*不合适*/varmyVal=1;for(vari;i<10;i++){myVal=1+i;}/*正确的方法*/letmyVal=1;for(leti;i<10;i++){myVal+=i}3.声明对象用快捷方式声明对象/*旧方法Object()类进行不必要的函数调用*/constmyObject=newObject();/*正确方法*/constmyObject={};5.连接字符串/*旧方法*/constmyStringToAdd="world";constmyString="hello"+myStringToAdd;/*正确方法*/constmyStringToAdd="world";constmyString=`hello${myStringToAdd}`;6.使用对象方法简写/*不合适*/constcustomObject={val:1,addVal:function(){returncustomObject.val+1;}}/*正确方式*/constcustomObject={val:1,addVal(){returncustomObject.val++}}**粗体文本**7.创建对象的值/*旧方法*/constvalue=1;constmyObject={value:value}/*正确的方式*/constvalue=1;constmyObject={value}8.给对象赋值/*旧方法*/constobject1={val:1,b:2};让object2={d:3,z:4};object2.val=object1.val;object2.b=obobject1.b;/*正确方式*/constobject1={val:1,b:2};constobject2={...object1,d:3,z:4}9.给数组赋值/*不合适*/constmyArray=[];myArray[myArray.length]="helloworld";/*正确的方法*/constmyArray=[];myArray.push('Helloworld');10.拼接数组/*不合适*/constarray1=[1,2,3,4];constarray2=[5,6,7,8];constarray3=array1.concat(array2);/*正确的方式*/constarray1=[1,2,3,4];constarray2=[5,6,7,8];constarray3=[...array1,...array2]11.获取对象的多个属性/*Inappropriate*/functiongetFullName(client){return`${client.name}${client.last_name}`;}/*正确的方法*/functiongetFullName({name,last_name}){return`${name}${last_name}`;}12.getvaluefromobject/*不合适*/constobject1={a:1,b:2};consta=object1.a;constb=object1.b;/*正确的方式*/constobject1={a:1,b:2};const{a,b}=object1;13.createfunction/*老方法,但是很好*/functionmyFunc(){}/*很好*/constmyFunc=function(){}/*最好*/constmyFunct=()=>{}//重要提示:在某些情况下,建议不要使用这些带箭头的函数,以避免读取错误14.默认值/*不合适*/constmyFunct=(a,b)=>{if(!a)a=1;如果(!b)b=1;return{a,b};}/*正确的方法*/constmyFunct=(a=1,b=1)=>{return{a,b};}15.使用reduce而不是forEach和for求和/*不合适的*/constvalues=[1,2,3,4,5];让总计=0;values.forEach((n)=>{total+=n})/*不合适*/constvalues=[1,2,3,4,5];lettotal=0;for(leti;itotal+num);16.是否有数组中等/*不合适*/constmyArray=[{a:1},{a:2},{a:3}];letexist=false;myArray.forEach(item=>{if(item.a===2)exist=true})/*正确的方式*/constmyArray=[{a:1},{a:2},{a:3}];constexist=myArray.some(item=>item.a==2)17.布尔值的快捷方式/*不合适*/consta=5;letb;if(a===5){b=3;}else{b=2;}/*正确的方法*/consta=5;常量b=a===5?3:2;总结回顾这篇文章,实践一下,学习如何更干净地工作,提高处理速度完成~,我是小智,我去洗碗了,下次见!代码部署后可能存在的bug,无法实时获知。事后为了解决这些bug,花费了大量的时间在日志调试上。顺便推荐一个好用的bug监控工具Fundebug。原文:https://medium.com/javascript...每周更新交流文章。可以微信搜索“大千世界”第一时间阅读更新(比博客早一两篇)。这篇文章在GitHubhttps://github.com/qq449245884/xiaozhi已经收录,整理了很多我的文档。欢迎star和改进。可以参考考点面试。另外,关注公众号,后台会回复福利,看到福利就知道了。