ES6- 代码编程风格(let、字符串、解构赋值)

ops/2025/2/9 2:29:18/

1.let 取代 var

2.全局常量和线程安全

在let 和 const 之间,建议优先使用const, 尤其在全局环境中,不应该设置变量,只应设置常量。

//bad
var a=1, b=2, c=3
//goodconst a=1; const b=2;const c=3;//best
const [a, b, c] = [1, 2, 3]

3.字符串

静态字符串一律使用单引号或反引号, 不适用双引号。动态字符串使用反引号。

//bad
const a = "foobar";
const b = 'foo' + a + 'bar';//acceptable
const c = `foobar`;//good
const a = 'foobar';
const b = `foo${a}bar`;
const c = 'foobar';

4. 解构赋值

使用数组成员对变量赋值时,优先使用解构赋值。

const arr = [1, 2, 3, 4];
//bad
const first = arr[0];
const second = arr[1];
//good
const [first, second] = arr;

函数的参数如果是对象的成员, 优先使用解构赋值。

//bad
function getFullName(user) {const firstName = user.firstName;const lastName = user.lastName;
}
//good
function getFullName(obj) {const { firstName, lastName } = obj;
}
//best
function getFullName({ firstName, lastName }) {}

如果函数返回多个值, 优先使用对象的解构赋值, 而不是数组的解构赋值。 这样便于以后添加返回值,以及更改返回值的顺序。

// bad
function processInput(input) {return [left, right, top, bottom];
}
// good
function processInput(input) {return {left, right, top, bottom};
}
const { left, right } = processInput(input);

对象

单行定义的对象,最后一个成员不以逗号结尾。多行定义的对象,最后一个成员以逗号结尾。

// bad
const a = { k1: vl, k2: v2, };
const b = {k1: v1,k2: v2
};
// good 
const a = {k1: v1, k2: v2};
const b = {k1: v1,k2: v2,
}

对象尽量静态话, 一旦定义, 就不得随意添加新的属性。如果添加属性不可避免,要使用object.assign 方法。

// bad
const a = {};
a.x = 3;
// if reshape unavoidable
const a = {};
Object.assign(a, { x: 3});
// good 
const a = { x: null };
a.x = 3;

如果对象的属性名是动态的,可以在创造对象的时候使用属性表达式定义。

// bad
const obj = {id: 5,name: 'San Francisco',
};
obj[getKey('enabled')] = true;// good 
const obj = {id: 5,name: 'San Francisco',[getKey('enabled')] : true,
}

http://www.ppmy.cn/ops/156860.html

相关文章

Docker深度解析:部署 SpringBoot 项目

方式一:通过两个容器部署 前端部署: 修改前端访问端口 ip 为服务器 ip,打包前端:npm run build:prod创建文件夹,放置前端部署需要的文件,并将打包的前端 dist 文件放到此文件编写 default.conf 配置文件&am…

产品经理的人工智能课 02 - 自然语言处理

产品经理的人工智能课 02 - 自然语言处理 1 自然语言处理是什么2 一个 NLP 算法的例子——n-gram 模型3 预处理与重要概念3.1 分词 Token3.2 词向量化表示与 Word2Vec 4 与大语言模型的交互过程参考链接 大语言模型(Large Language Models, LLMs)是自然语…

流式传输的实现为什么需要缓存?

流式传输的实现通常确实需要使用缓存(或称缓冲)。这里解释一下为什么缓存是必要的以及它是如何工作的: 为什么需要缓存? 网络波动:互联网连接的速度和稳定性可能会发生变化。缓存可以确保在网络变慢或中断时&#xf…

实际时钟(RTC)的介绍

一、RTC介绍 RTC:实时时钟(Real-Time Clock)的缩写,是一种集成电路,通常称为时钟芯片。 应用:广泛应用于消费类电子产品,提供精确的实时时间或为电子系统提供时间基准。 工作原理:采用精度较高…

Redis企业开发实战(二)——点评项目之商户缓存查询

目录 一、缓存介绍 二、缓存更新策略 三、如何保证redis与数据库一致性 1.解决方案概述 2.双写策略 3.双删策略 3.1延迟双删的目的 4.数据重要程度划分 四、缓存穿透 (一)缓存穿透解决方案 (二)缓存穿透示意图 五、缓存雪崩 (一)缓存雪崩解决方案 (二)缓存雪崩…

React 中常见的Hooks,安排!

哈喽小伙伴们大家好!我是小李,今天是年后开工的第一天,相信大家已经元气满满,准备好迎接新的一年的挑战了吧!打起精神来,我们继续加油呀!今天,给大家分享一道我之前面试被问到相关Ho…

基于C#语言的海康威视智能车牌识别系统

基于C#语言的海康威视智能车牌识别系统,通过布控对来往车辆进行检测抓拍 资源文件列表 AICar.sln , 984 AICar.sln.GhostDoc.xml , 1306 AICar.v12.suo , 72704 AICar/AICar.csproj , 3573 AICar/AICar.csproj.user , 228 AICar/bin/Debug/AICar.exe , 220672 AIC…

【戒抖音系列】短视频戒除-1-对推荐算法进行干扰

如今推荐算法已经渗透到人们生活的方方面面,尤其是抖音等短视频核心就是推荐算法。 【短视频的危害】 1> 会让人变笨,慢慢让人丧失注意力与专注力 2> 让人丧失阅读长文的能力 3> 让人沉浸在一个又一个快感与嗨点当中。当我们刷短视频时&#x…