es6的编程风格

转至阮一峰的ECMAScript6入门 http://es6.ruanyifeng.com/#docs/style

es6知识点

编程风格

  1. let代替var
  2. 全局常量和线程安全
  • letconst之间优先使用const,尤其是在全局环境下
  • 所有函数声明都应该设置为常量const,符合函数式编程思想
  • const声明,阅读代码的人立刻会意识到不应该修改这个值
  • const防止无意间修改变量所导致的错误
  • 多使用const有利于提高程序运行效率,letconst的本质区别就是编译器内部的处理不同
  1. 静态字符串一律使用单引号 'this is a static string'
  2. 动态字符串一律使用反引号 this is a ${data} active string
  3. 使用数组成员对变量赋值时,优先使用解构赋值
 const arr = [1,2,3];
 const [first, second] = arr;
  1. 如果函数参数为对象时,优先使用对象的解构赋值
 function getFullName(user) {
   const { firstName, lastName } = user;
 }
  1. 如果函数返回多个值,优先使用对象的解构赋值
 function fn() {
   return { left, right, top, bottom }
 }
 const { left, right } = fn()
  1. 单行定义对象,最后一个成员不以逗号结尾;多行定义对象,最后一个成员以逗号结尾
const a = { k1: v1, k2: v2 };
const b = {
  k1: v1,
  k2: v2,
};
  1. 对象尽量静态化,使用const声明,一旦定义,就不得随意添加新的属性。如果添加属性不可避免,要使用Object.assign方法
 const a = { k1: v1, k2: v2 };
 Object.assign(a, { k3: v3 });
  1. 对象的声明尽量采用简洁的表达方式
 const name = 'Jack';
 const obj = {
   name,
   age: 18,
   sayName() {
     return this.age;
   },
 }
  1. 立即执行函数可以写成箭头函数
(() => {
  console.log('this is a IIFE function');
})();
  1. 需要使用函数表达式的场合尽量使用箭头函数代替
arr.sort((a, b)=>{
  return a-b;
});
const newarr = arr.map(x => x**2);
  1. 给函数参数设置默认值
function fn(opts = {}) {

}
  1. 注意区分ObjectMap,只有模拟现实世界的实体对象时采用Object。如果只是需要key: value结构,使用Map结构
  2. Class代替prototype操作;使用extends实现继承
class Queue {
  constructor(content = []) {
    this._queue = [...content];
  }
  pop() {
    const value = this._queue[0];
    this._queue.splice(0, 1);
    return value;
  }
}
class PeekableQueue extends Queue {
  peek() {
    return this._queue[0];
  }
}
  1. 使用import``export的模块写法
import { func1, func2 } from 'moduleA';
export default ModuleB;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值