随笔分类 - ES6
ECMAScript
摘要:箭头函数 () => () => {} 等价于 function() { return function () {} } ES6 语法 () => {return () => {}} 当返回为一条语句时可以省略return和{}
阅读全文
摘要:ECMAScript 6 入门 http://es6.ruanyifeng.com/#README 在线ES6转ES5 https://es6console.com/k11vgg1r/
阅读全文
摘要:rest参数 ES6引入了rest参数(形式为“…变量名”)。其中rest参数搭配的变量是一个数组可以使用数组的一切操作。 例: 值得注意的是rest参数之后不能再有其他参数(只能是最后一个参数)否则会报错。 例: 函数的length属性不包括rest参数。 扩展运算符 例: 可以替代apply方法
阅读全文
摘要:1.类的修饰 2.方法的修饰 3.为什么修饰器不能用于函数? 4.core-decorators.js 5.使用修饰器实现自动发布事件 6.Mixin 7.Trait 8.Babel转码器的支持
阅读全文
摘要:1.简介 Class 可以通过extends关键字实现继承,这比 ES5 的通过修改原型链实现继承,要清晰和方便很多 上面代码定义了一个ColorPoint类,该类通过extends关键字,继承了Point类的所有属性和方法。但是由于没有部署任何代码,所以这两个类完全一样,等于复制了一个Point类
阅读全文
摘要:1.简介 JavaScript 语言中,生成实例对象的传统方法是通过构造函数。 2.严格模式 3.constructor方法 4.类的实例对象 5.class表达式 6.不存在变量提升 7.私有方法 8.私有属性 9.this的指向 10.name属性 11.Class的取值函数(getter)和存
阅读全文
摘要:1.含义 async 函数是什么?一句话,它就是 Generator 函数的语法糖。 前文有一个 Generator 函数,依次读取两个文件。 写成async函数,就是下面这样。 一比较就会发现,async函数就是将 Generator 函数的星号(*)替换成async,将yield替换成await
阅读全文
摘要:异步编程对 JavaScript 语言太重要。Javascript 语言的执行环境是“单线程”的,如果没有异步编程,根本没法用,非卡死不可。 1.传统方法 ES6 诞生以前,异步编程的方法,大概有下面四种。 回调函数 事件监听 发布/订阅 Promise 对象 Generator 函数将 JavaS
阅读全文
摘要:生成器的用法 // generator函数 可以通过yield关键字,将函数挂起,为改变执行流提供了可行性 // 它与普通函数的区别 // 1.function后面 函数名之前有个* // 2.只能在函数内部使用yield表达式,让函数挂起 function *gen(){ console.log(
阅读全文
摘要:1.Iterator(遍历器)的概念 JavaScript原有的表示“集合”的数据结构,主要是数组(Array)和对象(Object),ES6又添加了Map和Set。这样就有了四种数据集合,用户还可以组合使用它们,定义自己的数据结构,比如数组的成员是Map,Map的成员是对象。这样就需要一种统一的接
阅读全文
摘要:1.Promise的含义 Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6将其写进了语言标准,统一了用法,原生提供了Promise对象。 所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个
阅读全文
摘要:1.概述 Reflect对象与Proxy对象一样,也是 ES6 为了操作对象而提供的新 API。Reflect对象的设计目的有这样几个。 (1) 将Object对象的一些明显属于语言内部的方法(比如Object.defineProperty),放到Reflect对象上。现阶段,某些方法同时在Obje
阅读全文
摘要:1.概述 Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”(meta programming),即对编程语言进行编程。 Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过
阅读全文
摘要:1.set 基本用法 ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。 Set 本身是一个构造函数,用来生成 Set 数据结构。 2.WeakSet Set 结构的实例有以下属性。 Set.prototype.constructor:构造函数,默认就是Set函
阅读全文
摘要:1.概述 ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。它是 JavaScript 语言的第七种数据类型,前六种是:undefined、null、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)。 2.作为属性名的symbol 3.实例
阅读全文
摘要:1.属性的简介表示法 2.属性名表达式 3.方法的name属性 4.Object.is() 5.Object.assign() 6.属性的可枚举性 7.属性的遍历 ES6一共有5种方法可以遍历对象的属性。 (1)for...in for...in循环遍历对象自身的和继承的可枚举属性(不含Symbol
阅读全文
摘要:1.函数参数的默认值 2.rest参数 3.扩展运算符 4.严格模式 5.name属性 6.箭头函数 基本用法 上面的箭头函数等同于: 如果箭头函数不需要参数或者需要多个参数,就使用一个圆括号代表参数部分。 如果箭头函数的代码块部分多于一条语句,就要使用大括号将它们括起来,并且使用return语句返
阅读全文
摘要:1.Array.from() Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-likeobject)和可遍历(iterable)的对象(包括ES6新增的数据结构Set和Map) 2.Array.of() Array.of方法用于将一数值,转换为数组 3.数组实例的c
阅读全文
摘要:1.二进制和八进制表示法 2.Number.isFinite(),Number.isNaN() 3.Number.parseInt(),Number.parseFloat() 4.Number.isInteger() 5.Number.EPSILON 6.安全整数和Number.isSafeInte
阅读全文
摘要:1.字符的Unicode表示法 2.codePointAt() codePointAt方法,能够正确处理4个字节储存的字符,返回一个字符的码点。 codePointAt方法返回的是码点的十进制值,如果想要十六进制的值,可以使用toString方法转换一下。 你可能注意到了,codePointAt方法
阅读全文