如何编写更好的 JS 代码!

前端小智
作者:Taimoor Sattar
译者:前端小智
来源:valentinog
点赞再看,微信搜索大迁世界,B站关注前端小智这个没有大厂背景,但有着一股向上积极心态人。本文 GitHub https://github.com/qq44924588... 上已经收录,文章的已分类,也整理了很多我的文档,和教程资料。

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

使用模板字符串

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

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

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

var code = "javascript";
var str1 = "n I love " +  code + "n I love " +  code + "n";

使用三元运算符

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

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

使用Include语句

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

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

数组也可以使用 include 方法:

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

空合并运算符

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

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

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

例如,我们有如下JSON:

var person = {
  name: "Taimoor Sattar",
  age: 21,
  metadata: {
    hobby: "football, blog"
  }
}

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

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

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

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

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

函数默认参数

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

function outputName(name="taimoor"){
  return name;
}

let string1 = outputName(); // result: taimoor
let string2 = outputName("ali"); // result: ali

参数的类型检查

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

function sum(a, b){
  let result = (typeof a == "number" && typeof b == "number") ? a + b :  null;
  return result
}

sum("s", 6) // result: null
sum(4, 6) // result: 10

使用 Try/Catch 包装代码

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

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

解构

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

function outputName({name = "taimoor"}){ // De-structuring
  return name;
}

var person = {
  name: "Taimoor Sattar",
  age: 21,
  metadata: {
    hobby: "football, blog"
  }
}

let str = outputName(person); // Taimoor Sattar

编写DRY代码

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

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

完~

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


代码部署后可能存在的BUG没法实时知道,事后为了解决这些BUG,花了大量的时间进行log 调试,这边顺便给大家推荐一个好用的BUG监控工具 Fundebug

原文:https://taimoorsattar.dev/blo...

交流

文章每周持续更新,可以微信搜索 【大迁世界 】 第一时间阅读,回复 【福利】 有多份前端视频等着你,本文 GitHub https://github.com/qq449245884/xiaozhi 已经收录,欢迎Star。

阅读 1.6k

终身学习者
我要先坚持分享20年,大家来一起见证吧。
avatar
前端小智
前端开发工程师

我不是什么大牛,我其实想做的就是一个传播者。内容可能过于基础,但对于刚入门的人来说或许是一个窗口,一个解惑之窗。我要先坚持分享20年,大家来一起见证吧。

58.2k 声望
10.2k 粉丝
0 条评论
你知道吗?

avatar
前端小智
前端开发工程师

我不是什么大牛,我其实想做的就是一个传播者。内容可能过于基础,但对于刚入门的人来说或许是一个窗口,一个解惑之窗。我要先坚持分享20年,大家来一起见证吧。

58.2k 声望
10.2k 粉丝
宣传栏