【ES6】ES6编程规范 编程风格

简介: 【ES6】ES6编程规范 编程风格

引言:这是ES6系列教学的最后一篇。我们讲解一下ES6编程的规范。

一、定义变量的规范


 let、const取代var

 let关键字可以完全取代var,因为两者语义相同,而且let完全没有副作用。   全局常量

 优先使用const来定义全局常量。如下代码。

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

二、字符串


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

// bad
const a = "haha";
const b = 'ha' + a + 'kk';
//good
const c = `hahaha`;
//best
const a = 'hahaha';
const b = `kk${a}kk`;

三、对象


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

// bad
const a = {k1 : v1, 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 len = items.length;
const itemCopy = [];
let i;
for(i=0;i<len;i++)
{
  itemCopy[i] = items[i];
}
//good
const itemCopy = [...items];

五、函数


 立即执行函数尽量写成箭头函数的形式。

(() => {
  console.log('Welcome to the ES6');
})();

那些需要使用函数表达式的场合,尽量用箭头函数代替。因为这样更整洁,而且绑定了this。

// bad 
[1,2,3].map( function(x) {
  return x*x;
});
// good
[1,2,3].map( (x) => {
  return x*x;
});

查看更多ES6教学文章:


1. 【ES6】let与const 详解

2. 【ES6】变量的解构赋值

3. 【ES6】字符串的拓展

4. 【ES6】正则表达式的拓展

5. 【ES6】数值的拓展

6. 【ES6】数组的拓展

7. 【ES6】函数的拓展

8. 【ES6】对象的拓展

9. 【ES6】JS第7种数据类型:Symbol

10. 【ES6】Proxy对象

11. 【ES6】JS的Set和Map数据结构

12. 【ES6】Generator函数详解

13. 【ES6】Promise对象详解

14. 【ES6】异步操作和async函数

15. 【ES6】JS类的用法class

16. 【ES6】Module模块详解

17. 【ES6】ES6编程规范 编程风格

参考文献


阮一峰 《ES6标准入门(第2版)》

相关文章
|
9天前
|
JavaScript 前端开发 安全
ES6的类 vs TypeScript的类:解密两种语言中的面向对象之争
ES6的类 vs TypeScript的类:解密两种语言中的面向对象之争
|
9天前
|
JavaScript 前端开发
js开发:请解释什么是模块化(modularization),并说明如何在JavaScript中实现模块化。
模块化将复杂系统拆分为松散耦合的模块,提高代码可读性、可维护性、可复用性和可扩展性。JavaScript模块化历经CommonJS(Node.js中常见,使用`require()`和`module.exports`)、AMD(RequireJS,异步加载,`define()`和`require()`)和ES6 Modules(官方标准,`import`和`export`)三个阶段。打包工具如Webpack、Rollup处理兼容性问题,使模块化代码能在各种环境中运行。
|
9天前
|
前端开发 JavaScript 数据处理
深入学习JavaScript ES8函数式编程:特性与实践指南
深入学习JavaScript ES8函数式编程:特性与实践指南
72 0
|
9天前
|
JavaScript 前端开发
说说你对ES6模块化的理解?和commonJS的区别?
ES6模块化(也称为ES2015模块化)是ECMAScript 6中引入的一种模块化规范,用于在JavaScript中组织和管理代码。它提供了一种更优雅和强大的方式来定义、引入和导出模块。
23 0
|
6月前
|
编解码 JavaScript 前端开发
ES6 模块化编程 详解
ES6新特性 模块化编程详解。
60 0
|
11月前
|
JavaScript
|
缓存 JSON JavaScript
这一次该明白 ECMAScript Module 与 CommonJS 的异同点是什么了吧?
这一次该明白 ECMAScript Module 与 CommonJS 的异同点是什么了吧?
63 0
ES6 从入门到精通 # 23:ES6 的模块化实现(完结)
ES6 从入门到精通 # 23:ES6 的模块化实现(完结)
121 0
ES6 从入门到精通 # 23:ES6 的模块化实现(完结)
|
缓存 自然语言处理 JavaScript
commonJS和ES6模块化的区别
在 ES6 之前,社区制定了一些模块加载方案,最主要的有 CommonJS 和 AMD 两种。前者用于服务器,后者用于浏览器。ES6 在语言标准的层面上,实现了模块功能,而且实现得相当简单,完全可以取代 CommonJS 和 AMD 规范,成为浏览器和服务器通用的模块解决方案。