![](https://img-blog.csdnimg.cn/20191129154426887.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
ES6学习笔记
文章平均质量分 93
记录自己学习ES6做的笔记
wujiayucn
选一个自己喜欢的方向,一条道走到黑!
展开
-
ES6学习笔记24:Module
文章目录概述两个概念ES6模块加载的优点严格模式export命令对输出的变量、函数、类重命名import 命令模块的整体加载export default 命令export 与 import 的复合写法模块的继承跨模块常量import()适用场合概述两个概念运行时加载CommonJS 和 AMD 模块,都只能在运行时确定使用那些对象属性,CommonJS模块就是对象,输入时必须查找对象属...原创 2020-01-18 19:52:06 · 185 阅读 · 0 评论 -
ES6学习笔记23:Class的继承
简介Class 可以通过关键字extends实现继承。这比ES5通过修改原型链实现继承要清晰、方便。class Point {}class ColorPoint extends Point{ constructor(x, y, color) { super(x, y); // 调用父类的constructor(x, y) this.color = color; }...原创 2020-01-13 18:02:36 · 205 阅读 · 0 评论 -
ES6学习笔记22:Class的基本语法
简介类的由来JavaScript 语言中,生成实例对象的传统方法是通过构造函数。function Ponit(x, y){ this.x = x; this.y = y;}Ponit.prototype.toString = function (){ return '(' + this.x + ',' +this.y + ')';}var p = new Ponit(...原创 2020-01-13 14:50:48 · 203 阅读 · 0 评论 -
ES6学习笔记21:async函数
含义ES2017 标准引入 async 函数,使得一步操作变得更加方便函数async对Generator 函数进行了改进,主要体现在以下方面内置执行器Generator 函数的执行必须要有执行器,而async函数自带执行器。async函数的执行,与普通函数一样,只要一行。更好的语义函数async和await比起*和yield,语义更加清楚。async表示函数里有异步操作,awa...原创 2020-01-12 14:37:07 · 322 阅读 · 0 评论 -
ES6学习笔记20:Generator 函数的异步应用
文章目录传统方法基本定义定义回调函数Promise协程协程的Generator函数实现Generator 函数的数据交换和错误处理异步任务的封装Thunk 函数定义JavaScript 语言的 Thunk 函数异步编程对JavaScript非常重要。JavaScript的执行环境是“单线程”的。传统方法在ES6之前,异步编程的方法,大概有以下:回调函数事件监听发布/订阅Promis...原创 2020-01-11 23:15:17 · 210 阅读 · 0 评论 -
ES6学习笔记19:Generator 函数的语法
Generator 函数是ES6提供的一种异步编程解决方案,执行Generator 函数会返回一个Iterator(遍历器)对象。在理解上,可以将其理解为:一个状态机,封装了多个内部状态也可以是以恶搞遍历器对象生成函数。function关键字与函数名之间有一个()号。函数体内部使用yield表达式,定义不同的内部状态在上面的代码中,定义了一个Generator 函数helloWorld,内部有两个yieldhelloworld和return语句。原创 2020-01-09 11:33:25 · 306 阅读 · 2 评论 -
ES6学习笔记18:Iterator 和 for...of
Iterator 定义在JavaScript中,表示集合的数据结构只要是:Array和 Object,在ES6中添加了Map和Set。Iterator (遍历器)为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署Iterator接口,就可以进行遍历操作。(即:依次处理这个数据结构的所有成员)Iterator 的作用为各种数据结构提供统一、比娜姐的访问接口。是的数据结构的成员按照...原创 2019-12-31 10:59:23 · 167 阅读 · 2 评论 -
ES6学习笔记17:Promise对象
Promise 的含义Promise 是异步编程的一种解决方案,以传统的解决方案:回调函数和事件更合理和强大。定义Promise 是一个对象,从它可以回去一步操作的消息,Promise提供统一的API,各种异步操作都可以用同样的方法进行处理。特点对象的状态不受外界的影响,对象的状态有pending(进行中)、fulfilled(成功)、rejected(已失败)。只有异步操作的结果可以...原创 2019-12-26 17:14:09 · 207 阅读 · 0 评论 -
ES6学习笔记16:Proxy
Proxy用于修改一些操作的默认行为,等于在语言层面上作出修改,属于“元编程”,即:对编程语言进行编程。基本用法Proxy 提供一种可以对外界的访问进行过滤和改写的机制。ES6原生提供Proxy构造函数,用来生成Proxy实例。var proxy = new Proxy(target, handler);Proxy对象的所有用法都是上面这种形式,不同的在于handler参数的写法。ta...原创 2019-12-23 15:33:31 · 195 阅读 · 0 评论 -
ES6学习笔记15:Set和Map
Set基本用法Set类似数组,但是它的元素都是唯一的,没有重复值。构造函数Set()用来生成Set数据结构。const s = new Set();[2,3,4,55,55,3].forEach(x => s.add(x));console.log(Array.from(s)); // [2,3,4,55];可以通过add()方法为Set结构添加成员.函数Set()可以接...原创 2019-12-19 18:16:09 · 132 阅读 · 0 评论 -
ES6学习笔记14:Symbol
基本定义数据类型Symbol表示独一无二的值,是JavaScript中第七种数据类型。JavaScript基本数据类型undefinednull布尔值(Boolean)字符串(String)数值(Number)对象(Object)生成Symbol值Symbol值是通过Symbol函数生成const s = Symbol();console.log(typeof s);...原创 2019-12-18 17:53:51 · 193 阅读 · 0 评论 -
将npm包发布在私有仓库(nexus)中
有时候需要将自己写的一些前端项目打包发布到公司内部的nexus仓库中。在nexus中新建一个 repository打开nexus,登录以后,按照下图操作选择 npm (hosted)填写 repository 相关信息这里的 Blob store最好选择为 npm 专属的如果没有需要在Blob Stores新建在Hosted选择:Allow redeploy...原创 2019-12-18 11:58:37 · 14367 阅读 · 0 评论 -
ES6学习笔记13:对象新增的方法
文章目录对象新增的方法Object.is()Object.assign()应用Object.getOwnPropertyDescriptors()_proto_属性,Object.setPrototypeOf(),Object.getPrototypeOf()_proto_属性Object.setPrototypeOf()Object.getPrototypeOf()Object.keys(),O...原创 2019-12-02 15:20:07 · 215 阅读 · 0 评论 -
ES6学习笔记12:对象的扩展
对象的扩展对象的简洁表示法ES6允许在大括号里面直接写入变量和函数,作为对象的属性和方法,从而使书写更加简洁。const foo = 'bar';const baz = {foo};console.log(baz); // {foo:'bar'}将变量foo直接写在大括号中,此时的属性名就是变量名,属性值就是变量值。function f(x,y){ return {x,y};...原创 2019-11-29 15:39:41 · 201 阅读 · 0 评论 -
ES6学习笔记11:数组的扩展
文章目录数组的扩展扩展运算符定义应用Array.from()Array.of()方法的主要目的数组实例的copyWithin()数组实例的find()和findIndex()数组实例的fill()数组实例的entries()、keys()和values()数组实例的includes()数组实例的flat()和flatMap()数组的空位Array.prototype.sort() 的排序稳定性数...原创 2019-11-28 11:28:09 · 194 阅读 · 0 评论 -
ES6学习笔记10:函数尾调用优化
尾调用优化尾调用(Tail Call)是函数定义尾调用(Tail Call)是函数式编程的一个重要的概念,就是指某一个函数的最后一步式调用另一个函数。function f(x){ return g(x);}这里的函数f的最后一步就是调用函数g,这就是尾调用。以下情况都不是尾调用// 一function f(x){ let y = g(x); return y;}...原创 2019-11-26 18:03:55 · 367 阅读 · 0 评论 -
ES6学习笔记9:函数的扩展
文章目录函数的扩展函数参数的默认值基本用法与解构赋值默认值结合使用参数默认值的位置函数的length属性作用域应用rest参数严格模式的修改name属性箭头函数不能使用箭头函数的场景嵌套的箭头函数函数的扩展函数参数的默认值基本用法在ES6允许为函数的参数设置默认值,即直接写在参数定义的后面function Ponint(x = 0 , y = 0){ this.x = x; th...原创 2019-11-26 15:41:10 · 211 阅读 · 0 评论 -
ES6学习笔记8:Math对象的扩展
在ES6中,Math对象上新增了17个与数学相关的方法,这些方法只能在Math对象上调用。Math对象的扩展Math.trunc()基本用法Math.trunc()方法用于去除一个数的小数部分,返回整数部分。console.log(Math.trunc(4.1)); // 4console.log(Math.trunc(4.9)); // 4console.log(Math.tr...原创 2019-11-20 15:52:20 · 249 阅读 · 0 评论 -
ES6学习笔记7:数值的扩展
文章目录Number对象的扩展二进制和八进制表示法Number.isFinite() & Number.isNaN()Number.isFinite() & Number.isNaN() 与全局 isFinite() & isNaN() 的区别Number.parseInt() & Number.parseFloat()Number.isInteger()Numb...原创 2019-11-18 17:38:18 · 191 阅读 · 0 评论 -
笔记目录和相关的资料、Demo
GitHub地址https://github.com/W-Abel-jia/demo-test.gitdemo地址https://w-abel-jia.github.io/demo-test/目录前端学习笔记:angular4中将html导出为pdf前端构建报错排查前端学习笔记:管理多个版本的node和angular/cliAngular6学习笔记1:搭建开发环...原创 2019-09-08 17:38:40 · 787 阅读 · 1 评论 -
ES6学习笔记6:正则表达式的补充
文章目录RegExp 对象简介:参数修饰符方括号元字符(预定义模式)量词属性方法RegExp 对象简介:RegExp 对象表示正则表达式,对字符串的匹配功能非常强大。参数const re = new RegExp(pattern,attributes)参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。参数 attributes 是一个可选的字符串,修饰符。...原创 2019-11-18 16:18:49 · 139 阅读 · 0 评论 -
ES6学习笔记5:正则的扩展
目录文章目录RegExp 构造函数字符串的正则方法u修饰符需要注意:RegExp.prototype.unicode 属性检测是否设置了u修饰符y修饰符RegExp.prototype.sticky 属性检测是否设置了y修饰符s修饰符:dotAll模式后行断言需要注意Unicode 属性类具名组匹配简介解构赋值替换将匹配的字符取出来遍历器转换为数组:RegExp 构造函数在ES5中,Reg...原创 2019-11-18 15:30:23 · 206 阅读 · 0 评论 -
ES6学习笔记4:字符串的新增方法
目录文章目录字符串对象的新增方法String对象的方法String.fromCodePoint()String.raw()String对象实例的方法codePointAt()解决需要4个字节存储的字符位置序号占用问题判断一个字符是由两个字节还是四个字节组成的最简单的方法includes()、startsWith()、endsWith()repeat()需要注意:padStart()、padEnd...原创 2019-11-18 10:23:37 · 264 阅读 · 0 评论 -
ES6学习笔记3:字符串的扩展
目录文章目录字符的 Unicode 表示法六种表示字符的方法字符串遍历器接口允许直接输入字符以及字符的转义形式JSON.stringify()的改造模版字符串定义模版编译标签模版标签模版的应用模版字符串的限制字符的 Unicode 表示法ES6 加强了对Unicode 的支持,允许采用\uxxxx形式表示一个字符,其中xxxx表示字符的 Unicode 码点。console.log('\u...原创 2019-11-18 10:22:24 · 188 阅读 · 0 评论 -
ES6学习笔记2:变量的解构赋值
目录文章目录解构定义数组的解构赋值基本用法嵌套使用不完全解构设置默认值对象的解构赋值对象的解构赋值和数组解构赋值的区别基本用法嵌套使用复杂的嵌套设置默认值字符串的解构赋值数值和布尔值的解构赋值函数参数的解构赋值基本用法设置默认值圆括号的问题不能使用圆括号的情况变量声明语句函数参数赋值语句的模式可以使用圆括号的情况赋值语句的非模式部分,可以使用圆括号用途交换变量的值从函数返回多个值函数参数的定义提...原创 2019-11-18 10:20:58 · 322 阅读 · 0 评论 -
ES6学习笔记1:let和const命令
目录文章目录let 命令基本用法变量提升暂时性死区不允许重复声明为什么需要块级作用域?块级作用域与函数声明块级作用域怎么来?const命令基本用法本质冻结对象ES6 声明变量的六种方法顶层对象的属性globalThis对象this关键字获取顶层对象的两种方法let 命令基本用法let 命令是用来声明变量,和 var 用法类似,但是let 所声明的变量作用域只在所在的代码块内有效。在for...原创 2019-11-18 10:19:45 · 526 阅读 · 0 评论