本文已经过原作者 Taimoor Sattar 授权翻译,我来为大家科普一下关于js 代码简洁之道?下面希望有你要的答案,我们一起来看看吧!

js 代码简洁之道(如何编写更好的)

js 代码简洁之道

本文已经过原作者 Taimoor Sattar 授权翻译。

Javascript 是浏览器可以理解的语言,它用于加载动态内容而无需刷新页面。今天列举一些用用更少的代码又更具可读性方式来编写 JS,肝货开始。

使用模板字符串

模板字符串是可以嵌入表达式中的字符串(变量),它可以让代码更加简单和易读。

varcode="javascript"; varstr=`Ilove${code}Ilove${code}`;

如果没有模板字符串,我们需要这么写:

varcode="javascript"; varstr1="nIlove" code "nIlove" code "n";

使用三元运算符

在编程中,会遇到逻辑操作。如果要在两条语句之间执行逻辑,三元操作符的可读性要高得多。

letprice=isMember?'$2.00':'$10.00'

使用include语句

JS 中的 include 语句是一种在数组和句子中搜索字符串的更简单的方法。

varstr="IloveJavaScript."; varword=str.includes("javaScript");//result:true

数组也可以使用 include 方法:

varstr=["taimoor","ali","umer"]; varn=str.includes("taimoor");//result:true

空合并运算符

如果我们使用的是第三方API,可能会遇到相同的key-value不会出现在每个查询中。这样我们必须检查JSON中的空键,以免出现错误。

要检查空键,可以使用以下方法:

  • 条件语句

  • 空合并运算符(??)-(推荐)

    例如,我们有如下JSON:

    varperson={ name:"TaimoorSattar", age:21, metadata:{ hobby:"football,blog" } }

    使用条件语句,我们可以访问JSON的 matadata 中的 hobby 属性,如下所示

    lethobby=""; if(person.metadata){ hobby=person.metadata.hobby?person.metadata.hobby:""; }

    使用空合并操作符,我们只需要这样做:

    lethobby=person.metadata?.hobby??"";

    上面的代码检查JSON元数据中的 hobby 键,如果可用,则返回值,否则返回空字符串。

    函数默认参数

    JS 中的一些函数允许我们发送选项参数。根据可选参数,函数的返回值可以更改。

    functionoutputName(name="taimoor"){ returnname; } letstring1=outputName();//result:taimoor letstring2=outputName("ali");//result:ali

    参数的类型检查

    在某些情况下,函数参数要有类型的限制,我们可以这样检查函数的类型:

    functionsum(a,b){ letresult=(typeofa=="number"&&typeofb=="number")?a b:null; returnresult } sum("s",6)//result:null sum(4,6)//result:10

    使用 Try/Catch 包装代码

    Try/Catch 语句用于检查代码中的错误。如果出错,将运行catch语句。

    try{ functionnotexist(); }catch(e){ console.log("error"); }

    解构

    通过解构,我们可以将复杂的结构提取我们需要的部分。

    functionoutputName({name="taimoor"}){//De-structuring returnname; } varperson={ name:"TaimoorSattar", age:21, metadata:{ hobby:"football,blog" } } letstr=outputName(person);//TaimoorSattar

    编写DRY代码

    DRY(不要重复自己),避免在代码中重复以免造成混淆。为避免代码混乱,可以遵循以下规则。

  • 编写可重用函数

  • 为变量和函数定义明确的名称

    完~

    我是小智,我要去刷碗了,我们下期见!

    作者:Taimoor Sattar 译者:前端小智 来源:valentinog

    原文:http://taimoorsattar.dev/blogs/better-code-with-javascript