如何编写更好的 JS 代码!

时间:2022-05-23 04:07:53

如何编写更好的 JS 代码!

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

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

使用模板字符串

 

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

  1. var code = "javascript"
  2. var str = ` I love ${code} I love ${code} `; 

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

  1. var code = "javascript"
  2. var str1 = "n I love " +  code + "n I love " +  code + "n"

使用三元运算符

 

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

  1. let price= isMember ? '$2.00' : '$10.00' 

使用Include语句

 

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

  1. var str = "I love JavaScript."
  2. var word = str.includes("javaScript"); // result: true 

数组也可以使用 include 方法:

  1. var str = ["taimoor""ali""umer"]; 
  2. var n = str.includes("taimoor"); // result: true 

空合并运算符

 

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

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

  • 条件语句
  • 空合并运算符(??)-(推荐)

例如,我们有如下JSON:

  1. var person = { 
  2.   name"Taimoor Sattar"
  3.   age: 21, 
  4.   metadata: { 
  5.     hobby: "football, blog" 
  6.   } 

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

  1. let hobby = ""
  2. if (person.metadata){ 
  3.   hobby = person.metadata.hobby ? person.metadata.hobby : ""

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

  1. let hobby = person.metadata?.hobby ?? ""

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

函数默认参数

 

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

  1. function outputName(name="taimoor"){ 
  2.   return name
  3.  
  4. let string1 = outputName(); // result: taimoor 
  5. let string2 = outputName("ali"); // result: ali 

参数的类型检查

 

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

  1. function sum(a, b){ 
  2.   let result = (typeof a == "number" && typeof b == "number") ? a + b :  null
  3.   return result 
  4.  
  5. sum("s", 6) // result: null 
  6. sum(4, 6) // result: 10 

使用 Try/Catch 包装代码

 

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

  1. try{ 
  2.   functionnotexist(); 
  3. }catch(e){ 
  4.   console.log("error"); 

解构

 

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

  1. function outputName({name = "taimoor"}){ // De-structuring 
  2.   return name
  3.  
  4. var person = { 
  5.   name"Taimoor Sattar"
  6.   age: 21, 
  7.   metadata: { 
  8.     hobby: "football, blog" 
  9.   } 
  10.  
  11. let str = outputName(person); // Taimoor Sattar 

编写DRY代码

 

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

  • 编写可重用函数
  • 为变量和函数定义明确的名称

我是小智,我们下期见!

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

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