Es6编程风格
let 取代 var
let 和 const 之间优先使用 const
字符串
静态字符串一律使用单引号或反引号,不使用双引号 动态字符串使用反引号 ``
解构赋值
使用数组成员对变量赋值时,优先使用解构赋值
函数的参数如果是对象的成员,优先使用解构赋值
如果函数返回多个值,优先使用对象的解构赋值,而不是数组的解构赋值,这样便于以后添加返回值,以及更改返回值的顺序
对象
单行定义的对象最后一行不以逗号结尾,多行定义的对象,最后一个成员以逗号结尾
对象尽量静态化,一旦定义就不得随意添加新的属性.如果添加属性不可避免,要使用Object.assign() 方法
如果对象的属性名是动态的,可以在创造对象的时候使用属性表达式定义
对象的属性和方法尽量采用简洁表达法这样亦与描述和书写
数组
使用扩展运算符(...)来复制数组
函数
立即执行的函数可以写成箭头函数
那些需要使用函数表达式的场合,尽量用箭头函数代替因为这样更简洁,而且绑定了this
箭头函数取代Function.prototype.bind 不应再用 self/_this/that绑定this
所有配置项都应该集中在一个对象,放在最后一个参数,布尔值不可以直接作为参数
不要再函数体内使用arguments变量,使用rest运算符(...)代替 rest运算符可以提供一个真正的数组
使用默认值语法设置函数参数的默认值
Map结构
Class
总是用Class取代prototype的操作,因为Class的写法更简洁,更易于理解
使用extends实现继承,因为这样更简单,不存在破坏instanceof运算的危险
模块
Module语法是javaScript模块的标准写法,要坚持使用这种语法
如果模块只有一个输出值,就使用export default ,模块有多个输出值,就不使用export default
不要同时使用export default与普通export
不要再模块输入中使用通配符,因为这样可以确保模块中有一个默认输出
如果模块默认输出一个函数,函数名首字母应该小写
如果模块默认输出一个对象,对象名首字母应该大写
Es6编程风格的更多相关文章
- ES6 编程风格
1.块级作用域 (1)使用let代替var 好处:变量应该只在其声明的代码块内有效:var命令存在变量提升效用,let命令没有这个问题. (2)全局常量 在let和const之间,建议优先使用cons ...
- ES6深入学习记录(三)编程风格
今天学习阮一峰ES6编程风格,其中探讨了如何将ES6的新语法,运用到编码实践之中,与传统的JavaScript语法结合在一起,写出合理的.易于阅读和维护的代码. 1.块级作用域 (1)let 取代 v ...
- 浅谈前端JavaScript编程风格
前言 多家公司和组织已经公开了它们的风格规范,详细可參阅jscs.info,以下的内容主要參考了Airbnb的JavaScript风格规范.当然还有google的编程建议等编程风格 本章探讨怎样使用E ...
- [转]ECMAScript 6 入门 -编程风格
本文转自:http://es6.ruanyifeng.com/#docs/style 编程风格 块级作用域 字符串 解构赋值 对象 数组 函数 Map结构 Class 模块 ESLint的使用 本章探 ...
- C++服务器开发之基于对象的编程风格
Thread.h #ifndef _THREAD_H_ #define _THREAD_H_ #include <pthread.h> #include <boost/functio ...
- 个人c语言编程风格总结
总结一下我个人的编程风格及这样做的原因吧,其实是为了给实验室写一个统一的C语言编程规范才写的.首先声明,我下面提到的编程规范,是自己给自己定的,不是c语言里面规定的. 一件事情,做成和做好中间可能隔了 ...
- Google Java编程风格指南
出处:http://hawstein.com/posts/google-java-style.html 声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Comm ...
- 编程风格(Coding Style)要求
编程风格(Coding Style)要求2.1.1 文件(1) 每个模块(module)一般应存在于单独的源文件中,通常源文件名与所包含模块名相同.(2) 每个设计文件开头应包含如下注释内容:? 年份 ...
- Javascript编程风格
Douglas Crockford是Javascript权威,Json格式就是他的发明. 去年11月他有一个演讲(Youtube),谈到了好的Javascript编程风格是什么.我非常推荐这个演讲,它 ...
随机推荐
- s3c2440裸机-UART编程(二、UART编程实现)
UART编程 1.初始化 我们的2440支持3个UART串口,以uart0为例讲解. 那么我们需要实现以下这几个函数完成串口的最基本功能: (1)uart0_init()用于初始化串口 (2)putc ...
- sqliteman
2.安装文件 采用源码方式安装 可用下面地址自行下载 https://sourceforge.net/projects/sqliteman/files/sqliteman/1.2.2/ 3.安装 1) ...
- CSP-S需备模板大全
CSP-S需备模板大全 谨以此文祝愿自己\(CSP-S\,\,2019\,\,\color{red}{RP++!!}\) 算法 二分 while(l<r) { int mid=(l+r+1)&g ...
- bzoj5092 分割序列
题目链接 problem 对于一个长度为n的非负整数序列\(b_1,b_2,...,b_n\),定义这个序列的能量为:\(f(b)=\max\limits_{i=0,1,...,n}(b_1 \oti ...
- 转载-Java中LinkedList的一些方法—addFirst addFirst getFirst geLast removeFirst removeLast
Java中LinkedList的一些方法—addFirst addFirst getFirst geLast removeFirst removeLast 版权声明:本文为博主原创文章,遵循CC 4. ...
- MyEclipse构建maven项目报错
直接上图: 这里有三种方案: 1.检查jdk版本:最好换成1.8版本 项目右键-->build path-->configure build Path; 1.2 点击 libraries ...
- 黄聪:mysql的SQL_CALC_FOUND_ROWS 使用 类似count(*) 使用性能更高
mysql的SQL_CALC_FOUND_ROWS 使用 类似count(*) 使用性能更高 在很多分页的程序中都这样写: SELECT COUNT(*) from `table` WHERE ... ...
- 【IDEA】(2)---MAC代码模版
IDEA(2)-MAC代码模版 IDEA提供了许多的自带代码模版,这些模版主要是对于我们经常开发用到的代码制作成一个模版,比如for循环,这个是经常会用到的代码,如果没有代码模版,我们需要一个一个手动 ...
- PlayJava Day011
今日所学: /* 2019.08.19开始学习,此为补档. */ Java异常处理 1.异常的概念:程序运行过程中发生的问题,从而引发了中断. 2.捕获和处理异常:Java中,用try ... cat ...
- 关于yield和yield from
一.简单示例 def yield_func(): for _ in range(2): yield "12" def yield_from_func(): for _ in ran ...