当前位置:首页 » 《资源分享》 » 正文

如何编写更好的 JS 代码!_粉丝们务必加入微信粉丝群

27 人参与  2021年03月22日 14:23  分类 : 《资源分享》  评论

点击全文阅读


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

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

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/blogs/better-code-with-javascript

交流

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


点击全文阅读


本文链接:http://zhangshiyu.com/post/16340.html

代码  语句  函数  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 此去经年人未还霍沉洲沈青禾后续结局霍沉洲
  • 山海不相逢内容精选(温逸尘沈衿)_山海不相逢内容精选(温逸尘沈衿)
  • (番外)+(全书)霍沉洲沈青禾此去经年人未还(霍沉洲沈青禾)_(霍沉洲沈青禾此去经年人未还)列表_笔趣阁(霍沉洲沈青禾)
  • (番外)+(全书)霍沉洲沈青禾(此去经年人未还霍沉洲沈青禾)完结_(霍沉洲沈青禾)列表_笔趣阁(此去经年人未还霍沉洲沈青禾)
  • 「重回八零,拒绝替嫁冲喜」章节彩蛋限时释出‌_卫东玉兰苏夏人气小说未删减节选
  • 重生七零祁同伟不再是农民儿子结局+番外纯净版全书免费重生七零祁同伟不再是农民儿子结局+番外纯净版全书免费
  • 傅雅宁的神女老婆,却在背地承欢作乐顾尘傅雅宁全书在线
  • 全文神女老婆,却在背地承欢作乐全局(顾尘傅雅宁)列表_全文神女老婆,却在背地承欢作乐全局
  • (番外)+(全书)此去经年人未还全书+番外+后续免费下载_(沈青禾霍沉洲)此去经年人未还全书+番外+后续列表_笔趣阁(沈青禾霍沉洲)
  • 完结文毁容的姐姐和瞎眼的我离开后,姜家两兄弟悔哭了+后续列表_完结文毁容的姐姐和瞎眼的我离开后,姜家两兄弟悔哭了+后续(林梦婉)
  • 妻子辱我爸受贿自杀,我掏出一等军功章节选推荐_[陈素云辰朋友]小说精彩章节分享
  • 全书浏览苔藓爬满旧日诺言新上(顾砚廷慕晚夏)_苔藓爬满旧日诺言新上(顾砚廷慕晚夏)全书结局

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1