javascript 代码技巧 (二) —— 运算符

简介: 笔记

1. 拓展运算符

// 对象合并
let obj = { a: 0 };
let obj1 = { a1: 1 };
let obj2 = { a2: 2 };
// 方式一(繁琐)
obj.a1 = obj1.a1;
obj.a2 = obj2.a2;
// 方式二(简洁)
obj = { ...obj1, ...obj2 };
// 数组合并
let arr = [];
let arr1 = [1, 2];
let arr2 = [3, 4];
// 方式一(繁琐)
arr = arr.concat(arr1);
arr = arr.concat(arr2);
// 方式二(简洁)
arr = [...arr1, ...arr2];

2. 解构赋值

// 对象
let res = {
  detail: {
    a: 1,
    b: 2,
    c: 3,
  },
};
// 方式一(繁琐)
const a = res.detail.a;
const b = res.detail.b;
const c = res.detail.c;
// 方式二(简洁)
const { a, b, c } = res.detail;
// 数组
let arr = [1, 2, 3];
// 方式一(繁琐)
const a = arr[0];
const b = arr[1];
const c = arr[2];
// 方式二(简洁)
const [a, b, c] = arr;

3. 拼接字符串

// 模板字符串
let title = "标题";
let text = "文本";
// 方式一(繁琐)
let htmlStr = "<div>";
"<h1>" + title + "</h1>";
"<p>这是" + text + "</p>";
("</div>");
// 方式二(简洁)
let htmlStr = `
<div>
  <h1>${title}</h1>
  <p>这是${text}</p>
</div>
`;

4. 对象属性定义

// 动态属性名
const dynamic = "color";
const item = {
  brand: "Ford",
  [dynamic]: "Blue",
};
console.log(item); // { brand: "Ford", color: "Blue" }
// 带条件的对象属性
const getUser = (emailIncluded) => {
  return {
    name: "John",
    surname: "Doe",
    ...(emailIncluded ? { email: "john@doe.com" } : null),
  };
};
const user = getUser(true);
console.log(user); // outputs { name: "John", surname: "Doe", email: "john@doe.com" }
const userWithoutEmail = getUser(false);
console.log(userWithoutEmail); // outputs { name: "John", surname: "Doe" }
目录
相关文章
|
1月前
|
JSON JavaScript 前端开发
JavaScript原生代码处理JSON的一些高频次方法合集
JavaScript原生代码处理JSON的一些高频次方法合集
|
1月前
|
JavaScript 前端开发 开发者
混淆赋值运算符(=)和相等比较运算符(==, ===)(js的问题)
混淆赋值运算符(=)和相等比较运算符(==, ===)(js的问题)
10 0
|
13天前
|
存储 JavaScript 前端开发
【JavaScript技术专栏】JavaScript基础入门:变量、数据类型与运算符
【4月更文挑战第30天】本文介绍了JavaScript的基础知识,包括变量(var、let、const)、数据类型(Number、String、Boolean、Undefined、Null及Object、Array)和运算符(算术、赋值、比较、逻辑)。通过实例展示了如何声明变量、操作数据类型以及使用运算符执行数学和逻辑运算。了解这些基础知识对初学者至关重要,是进阶学习JavaScript的关键。
|
3天前
|
JavaScript 前端开发 测试技术
编写JavaScript模块化代码主要涉及将代码分割成不同的文件或模块,每个模块负责处理特定的功能或任务
【5月更文挑战第10天】编写JavaScript模块化代码最佳实践:使用ES6模块或CommonJS(Node.js),组织逻辑相关模块,避免全局变量,封装细节。利用命名空间和目录结构,借助Webpack处理浏览器环境的模块。编写文档和注释,编写单元测试以确保代码质量。通过这些方法提升代码的可读性和可维护性。
8 3
|
5天前
|
JavaScript 前端开发
JS中运算符的算术、赋值、+、比较(不同类型之间比较)、逻辑
JS中运算符的算术、赋值、+、比较(不同类型之间比较)、逻辑
6 1
|
6天前
|
JavaScript
js的一些运算符规则
js的一些运算符规则
11 1
|
6天前
|
JavaScript
js的比较运算符
js的比较运算符
13 1
|
7天前
|
JavaScript 前端开发
js的运算符
js的运算符
13 2
|
12天前
|
JavaScript 前端开发 开发工具
【JavaScript 与 TypeScript 技术专栏】TypeScript 如何提升 JavaScript 代码的可读性与可维护性
【4月更文挑战第30天】TypeScript 提升 JavaScript 代码的可读性和可维护性,主要通过静态类型系统、增强代码组织、智能提示与错误检测、文档化和在大型项目中的优势。静态类型减少误解,类和接口提供结构,智能提示提高编码效率,类型注解充当内置文档。在大型项目中,TypeScript 降低理解差异,平滑迁移现有 JavaScript 项目,助力提高开发效率和项目质量。
|
14天前
|
JavaScript 前端开发 数据安全/隐私保护
【专栏】JavaScript中的`==`和`===`运算符有重要区别,本文将从三个部分详细探讨
【4月更文挑战第29天】JavaScript中的`==`和`===`运算符有重要区别。`==`进行类型转换后比较,而`===`不转换类型,要求完全相等。在比较对象时,`==`只比较引用,`===`比较内容。推荐使用`===`以确保准确性,但在需要类型转换时可谨慎使用`==`。注意特殊值如`null`和`undefined`的比较。在数据验证、类型判断和条件判断等场景中,应根据需求选择合适的运算符。理解两者差异能提升代码质量和稳定性。