当前位置: 首页 > 科技观察

十个必须知道的JavaScript技巧,让你成为更好的程序员

时间:2023-03-19 23:44:35 科技观察

前言过去,我写了很多垃圾代码,现在,看起来糟透了。再次看到那些代码片段时,我什至怀疑自己是否适合做程序员,但不管怎样,我已经走上了编程开发的道路,看不懂,还要多学。现在,我把自己踩过的坑总结出来分享给大家,希望对大家有所帮助。1.Promise回调地狱Promise提供了一种优雅的方式来处理JavaScript中的异步操作。这也是避免“回调地狱”的解决方案之一。但是我并没有真正理解它的意思,所以我写了这段代码。我做了这些事情:先获取用户的基本信息。按用户个人资料获取所有文章的简要摘要。通过文章轻松获取文章详情。//?getUserInfo().then((userInfo)=>{getArticles(userInfo).then((articles)=>{Promise.all(articles.map((article)=>getArticleDetail(article))).then((articleDetails)=>{console.log(articleDetails)})})})我在这里根本没有使用Promise,我们应该像下面的代码片段一样处理它://?getUserInfo().then((getArticles)。then((articles)=>{returnPromise.all(articles.map((article)=>getArticleDetail(article)))}).then((articleDetails)=>{console.log(articleDetails)})2.否对于错误信息的处理,我经常只写请求成功的代码逻辑,而忽略请求失败的代码逻辑。//?constgetUserInfo=async()=>{try{constuserInfo=awaitfetch('/api/getUserInfo')}catch(err){}}这是新手,我们应该给用户友好的提示,而不是做没有什么。//?constgetUserInfo=async()=>{try{constuserInfo=awaitfetch('/api/getUserInfo')}catch(err){Toast(err.message)}}3.设置太多参数时function当一个函数的参数过多时,它的可读性就会变差,甚至不知道如何正确传递参数。例子我们想获取用户的一些基本信息,比如姓名、性别、年龄等。//?constgetUserInfo=(name,age,weight,gender,mobile,nationality,hobby,address)=>{//...}getUserInfo('fatfish',100,2000,...)上面那个,真是糟透了,如果你的同事这样写代码,你会揍他吗?事实上,当函数参数过多时,应该使用对象来传递需要的信息,这样会提高它的可读性和可扩展性。//?constgetUserInfo=(options)=>{const{姓名、性别、年龄、手机、体重、国籍、爱好、地址}=options//...}getUserInfo({name:'fatfish',age:100,weight:2000//...})4.神奇数字的朋友,你写过这样的代码吗?很多地方用数字来做逻辑判断似乎很正常。是的,这让我很困惑1、2、3到底是什么意思。?//component1.jsif(status===1||status===2){//...}elseif(status===3){//...}//component2.jsif(status===1||status===2){//...}我们最好将这些数字定义为常量。//?//constants.jsexportconstSTATUS={//是成年人,实名认证adultRealName:1,//未成年人,实名认证minorRealName:2,//非实名authenticationnotRealName:3,//...}//component1.jsimport{STATUS}from'./constants.js'if([STATUS.adultRealName,STATUS.minorRealName].includes(status)){//...}elseif(status===STATUS.notRealName){//...}//component2.jsimport{STATUS}from'./constants.js'//component2.jsif([STATUS.adultRealName,STATUS.minorRealName].includes(status)){//...}5.使用.length来确定字符串的长度大多数情况下,我们使用.length来确定字符串的长度是安全的,但要注意大小写的形式输入。当我们打字时