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编程风格是什么.我非常推荐这个演讲,它 ...
随机推荐
- 你的学习方法怎么样?IT的学习方法应该是什么-Dotest
OK,自从你打开这个文章,那么一定跟我有类似的困惑. 建议1)IT的东西没有背诵的,要做.要做,一定要动手做: 2)讨论.讨论,一定要多讨论.在讨论过程中,以往的不理解问题,可能就迎刃而解了: 3)知 ...
- Python入门基础学习(时间模块,随机模块)
Python基础学习笔记(六) time模块: 时间的三种表示方法: 1.格式化字符串 2.时间戳 用来表示和1970年的时间间隔,单位为s 3.元组 struct_time 9个元素 time的st ...
- 201871010118-唐敬博《面向对象程序设计(java)》第一周学习总结
博文正文开头格式:(3分) 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/p/11435127.html 这个作业的要求在哪里 https:/ ...
- 2019 CVPR 基于GAN的ImageCaptioning论文
1.MSCap: Multi-Style Image Captioning with Unpaired Stylized Text 生成多种风格的caption 当前的image captioning ...
- 使用adb安装apk到手机
[ADB]Android debug bridge.Android手机实际是基于Linux系统的.通过USB线将android手机与电脑连起来,在电脑上dos命令行中敲adb shell命令,可以登录 ...
- [ Python入门教程 ] Python文件基本操作_shutil模块
shutil模块是对os模块中文件操作的补充,提供文件和目录的移动.复制.打包.压缩.解压等功能 shutil常用函数 shutil.copyfile(src, dst) 复制文件, 如果ds ...
- php date获取前一天的时间
结果: 结论: 第二种方式只使用了一个函数,所以更快一些,速度大约是第一种的两倍
- 如何在本地开发Composer包
如何在本地开发Compoer包 周煦辰 2019-05-26 记录一下如何在本地开发一个Composer包,以及如何发布到Packgist. 假设你要开发一个名叫xuchen/biubiubiu的包. ...
- Java入门系列之字符串创建方式、判断相等(一)
前言 陆续从0开始学习Java出于多掌握一门语言以后的路也会更宽,.NET和Java兼顾,虽然路还很艰难,但事在人为.由于Java和C#语法相似,所以关于一些很基础的内容不会再重头讲,Java系列中所 ...
- ASP.NET Core框架深度学习(四)宿主对象
11.WebHost 第六个对象 到目前为止我们已经知道了由一个服务器和多个中间件构成的管道是如何完整针对请求的监听.接收.处理和最终响应的,接下来来讨论这样的管道是如何被构建出来的.管道是在作为应 ...