当前位置:首页 > 网络技术 > js json合并覆盖(js把json字符串转成json数组)

js json合并覆盖(js把json字符串转成json数组)

longge2022-03-24 01:50:18网络技术42

本文已经过原作者 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'

使用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(不要重复自己),避免在代码中重复以免造成混淆。为避免代码混乱,可以遵循以下规则。

  • 编写可重用函数
  • 为变量和函数定义明确的名称
免责声明
本站部分资源来源于互联网 如有侵权 请联系站长删除
龙哥网是优质的互联网科技创业资源_行业项目分享_网络知识引流变现方法的平台为广大网友提供学习互联网相关知识_内容变现的方法。#转载请注明出处!
  • 随机文章
  • 热门文章
  • 热评文章

“js json合并覆盖(js把json字符串转成json数组)” 的相关文章

响应式web网页设计流程(响应式网页设计步骤)

响应式web网页设计流程(响应式网页设计步骤)

响应式Web设计(Responsive Web design)的理念是页面的设计与开发应当根据设备环境(屏幕尺寸、屏幕定向、系统平台等)以及用户行为(改 变窗口大小等)进行相应的响应和调整。...

Javascript调用新浪股票数据接口返回的股票价格代码(普通版)(新浪股票历史数据接口)

Javascript调用新浪股票数据接口返回的股票价格代码(普通版)(新浪股票历史数据接口)

通过调用新浪实时股票数据接口返回的数据实现指定股票数据的调用,以下代码非实时更新,刷新页面才会更新股票数据。 步骤: 1、以中国平安的股票代码为例,调用新浪股票数据接口: &...

互联网汽车行业广告策略(三):流量分配策略(上)(汽车互联网营销)

互联网汽车行业广告策略(三):流量分配策略(上)(汽车互联网营销)

在上一篇文章中,按照广告投放流程构建了一种更适合媒体平台使用的策略分类方法,接下来我们就基于这种分类方法搭建起的框架详细来聊一聊其中的每一类策略,本文将介绍其中的第一类策略——流量分配策略。无论是用户...

ManyToMany单向、双向:@JoinTable的使用_java

ManyToMany单向、双向:@JoinTable的使用_java

目录 ManyToMany单向、双向:@JoinTable使用 一、manytomany单向 二、manytomany双向 @ManyToMany(多对多关系...

mybatisplus @Select注解中拼写动态sql异常问题的解决_java

mybatisplus @Select注解中拼写动态sql异常问题的解决_java

目录 mybatisplus @Select注解中拼写动态sql异常 出现原因 解决方案 在注解上使用动态SQL(@select使用if) 用sc...

java数据库连接池的特点及步骤_java(java数据库连接池有哪些)

java数据库连接池的特点及步骤_java(java数据库连接池有哪些)

目录 连接池概念 传统连接的缺点 数据库连接池的优点 实现方法 演示Druid连接 QueryRunner插入操作 QueryRunner查询操作 连...