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编程风格的更多相关文章

  1. ES6 编程风格

    1.块级作用域 (1)使用let代替var 好处:变量应该只在其声明的代码块内有效:var命令存在变量提升效用,let命令没有这个问题. (2)全局常量 在let和const之间,建议优先使用cons ...

  2. ES6深入学习记录(三)编程风格

    今天学习阮一峰ES6编程风格,其中探讨了如何将ES6的新语法,运用到编码实践之中,与传统的JavaScript语法结合在一起,写出合理的.易于阅读和维护的代码. 1.块级作用域 (1)let 取代 v ...

  3. 浅谈前端JavaScript编程风格

    前言 多家公司和组织已经公开了它们的风格规范,详细可參阅jscs.info,以下的内容主要參考了Airbnb的JavaScript风格规范.当然还有google的编程建议等编程风格 本章探讨怎样使用E ...

  4. [转]ECMAScript 6 入门 -编程风格

    本文转自:http://es6.ruanyifeng.com/#docs/style 编程风格 块级作用域 字符串 解构赋值 对象 数组 函数 Map结构 Class 模块 ESLint的使用 本章探 ...

  5. C++服务器开发之基于对象的编程风格

    Thread.h #ifndef _THREAD_H_ #define _THREAD_H_ #include <pthread.h> #include <boost/functio ...

  6. 个人c语言编程风格总结

    总结一下我个人的编程风格及这样做的原因吧,其实是为了给实验室写一个统一的C语言编程规范才写的.首先声明,我下面提到的编程规范,是自己给自己定的,不是c语言里面规定的. 一件事情,做成和做好中间可能隔了 ...

  7. Google Java编程风格指南

    出处:http://hawstein.com/posts/google-java-style.html 声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Comm ...

  8. 编程风格(Coding Style)要求

    编程风格(Coding Style)要求2.1.1 文件(1) 每个模块(module)一般应存在于单独的源文件中,通常源文件名与所包含模块名相同.(2) 每个设计文件开头应包含如下注释内容:? 年份 ...

  9. Javascript编程风格

    Douglas Crockford是Javascript权威,Json格式就是他的发明. 去年11月他有一个演讲(Youtube),谈到了好的Javascript编程风格是什么.我非常推荐这个演讲,它 ...

随机推荐

  1. go语言设计模式之state

    state.go package main import ( "fmt" "math/rand" "os" "time" ...

  2. MySQL 的 4 种隔离级别,你了解么?

    1.什么是事务 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消.也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做.事务的结束 ...

  3. day90_11_12

    一.路由与正则. 1.当函数中需要参数,而不在路由中匹配的时候需要使用default方法: @app.route('/index/<testreg("\d+"):nid> ...

  4. 剑指Offer-30.连续子数组的最大和(C++/Java)

    题目: HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但是,如果向量中 ...

  5. angular路由事件

    Angular 4检测路由变化,可以使用router.events来监听: 支持的事件类型: NavigationStart:导航开始 NavigationEnd:导航结束 NavigationCan ...

  6. python持久化对象

    通过shelve模块即可持久化对象 代码 import shelve import numpy as np def writeObj(name,obj): with shelve.open('obje ...

  7. CSP2019 树上的数 题解

    题面 这是一道典型的部分分启发正解的题. 所以我们先来看两个部分分. Part 1 菊花图 这应该是除了暴力以外最好想的一档部分分了. 如上图(节点上的数字已省略),如果我们依次删去边(2)(1)(3 ...

  8. MacOS命令行打包+签名+公证+生成dmg文件

    关于dmg文件是什么,和为什么要进行公证? 简单说下,dmg文件就是一个可直接在mac上安装的安装包,我自己的理解是就像windows上的exe安装包一样: 公证是将app传到苹果商店去做认证,如果不 ...

  9. 1+x 证书 Web 前端开发 HTML5 专项练习

    官方QQ群 1+x 证书 Web 前端开发 HTML5 专项练习 http://blog.zh66.club/index.php/archives/193/

  10. 使用Xmanager分析Java内存情况

    今天是想看下程序在正式环境中,内存使用回收的情况,于是开始. 1.首先下载Xmanager,Xshell,然后在Xshell-设置-隧道中设置转发X11连接到Xmanager: 2.开始布置Linux ...