本文已经过原作者 Taimoor Sattar 授权翻译。
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'
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 语句用于检查代码中的错误。如果出错,将运行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(不要重复自己),避免在代码中重复以免造成混淆。为避免代码混乱,可以遵循以下规则。
我是小智,我们下期见!
作者:Taimoor Sattar 译者:前端小智 来源:valentinog
原文:https://taimoorsattar.dev/blogs/better-code-with-javascript
网页题目:如何编写更好的JS代码!
新闻来源:http://www.mswzjz.cn/qtweb/news7/423307.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能