随笔分类 -  ES6

摘要:webpack4打包配置babel7转码ES6 Module语法与API的使用 import() Module加载实现原理 Commonjs规范的模块与ES6模块的差异 ES6模块与Nodejs模块相互加载 模块循环加载 一、webpack4打包配置babel7转码ES6 1.webpack.con 阅读全文
posted @ 2019-10-28 00:28 他乡踏雪 阅读(1527) 评论(0) 推荐(0) 编辑
摘要:生成器的基本使用 生成器 + Promise async+await Promise化之Promisify工具方法 一、生成器的基本使用 在介绍生成器的使用之前,可以简单理解生成器实质上生成的就是一个迭代器,所以如果理解了迭代器在学习生成器就会非常简单,我的上一篇博客就是迭代器的详细解析ES6入门: 阅读全文
posted @ 2019-10-21 13:15 他乡踏雪 阅读(661) 评论(0) 推荐(0) 编辑
摘要:迭代模式 ES6迭代器标准化接口 迭代循环 自定义迭代器 迭代器消耗 一、迭代模式 迭代模式中,通常有一个包含某种数据集合的对象。该数据可能存在一个复杂数据结构内部,而要提供一种简单的方法能够访问数据结构中每个元素。对象消费者并不需要知道如何组织数据,所有需要做的就是取出单个数据进行工作。 迭代模式 阅读全文
posted @ 2019-10-06 05:59 他乡踏雪 阅读(617) 评论(0) 推荐(0) 编辑
摘要:JS第七种数据类型:Symbol Symbol的应用场景 11个Symbol静态属性 Symbol元编程 一、JS第七种数据类型:Symbol 在ES6之前的JavaScript的基本数据类型有undefined、null、boolean、number、string、object,现在Symbol作 阅读全文
posted @ 2019-10-03 23:03 他乡踏雪 阅读(828) 评论(0) 推荐(0) 编辑
摘要:Promise的基本使用入门: ——实例化promise对象与注册回调 ——宏任务与微任务的执行顺序 ——then方法的链式调用与抛出错误(throw new Error) ——链式调用的返回值与传值 Promise的基本使用进阶: ——then、catch、finally的使用 ——all、rac 阅读全文
posted @ 2019-09-24 13:59 他乡踏雪 阅读(1303) 评论(0) 推荐(0) 编辑
摘要:什么是数据劫持 Object数据劫持实现原理 Array数据劫持的实现原理 Proxy、Reflect 一、什么是数据劫持 定义:访问或者修改对象的某个属性时,在访问和修改属性值时,除了执行基本的数据获取和修改操作以外,还基于数据的操作行为,以数据为基础去执行额外的操作。 当前最经典的数据劫持应用就 阅读全文
posted @ 2019-08-25 22:23 他乡踏雪 阅读(4325) 评论(0) 推荐(0) 编辑
摘要:基本语法 继承 私有属性与方法、静态属性与方法 修饰器(Decorator) 一、基本语法 将ES6的class类示例用ES5语法实现: 1.1Class简单说明: Class声明的类本质上还是一个函数: 类虽然是函数,但是不能直接被调用执行,必须使用new指令执行构造行为: constructor 阅读全文
posted @ 2019-08-24 11:12 他乡踏雪 阅读(2882) 评论(0) 推荐(0) 编辑
摘要:JavaScript基于原型的对象机制 JavaScript原型上的哪些事 一、JavaScript基于原型的对象机制 JavaScript对象是基于原型的面向对象机制。在一定程度上js基于原型的对象机制依然维持了类的基本特征:抽象、封装、继承、多态。面向类的设计模式:实例化、继承、多态,这些无法直 阅读全文
posted @ 2019-08-21 15:00 他乡踏雪 阅读(4234) 评论(0) 推荐(0) 编辑
摘要:什么是函数尾调用和尾递归 函数尾调用与尾递归的应用 一、什么是函数的尾调用和尾递归 函数尾调用就是指函数的最后一步是调用另一个函数。 调用最后一步和最后一行代码的区别,最后一步的代码并不一定会在最后一行,比如示例二。还有下面这一种不能叫做函数尾调用: 为什么这种情况不叫作函数的尾调用呢?原因很简单, 阅读全文
posted @ 2019-08-17 11:46 他乡踏雪 阅读(972) 评论(0) 推荐(0) 编辑
摘要:箭头函数的基本用法与特点 函数与ES6新语法 一、箭头函数的基本用法与特点 声明箭头函数采用声明变量和常量的关键字:var、let、const 箭头函数的参数:没有参数用"()"空括号表示、一个参数可以不写括号、多个参数用"(a,b,c)"括号包裹 使用箭头“=>”连接参数与执行块"{}"。 如果执 阅读全文
posted @ 2019-08-16 09:07 他乡踏雪 阅读(523) 评论(0) 推荐(0) 编辑
摘要:简洁属性与简洁方法 计算属性名与[[prototype]] super对象(暂时保留解析) 模板字面量(模板字符串) 一、简洁属性与简洁方法 ES6中为了不断优化代码,减低代码的耦合度在语法上下了很大的功夫,上一篇博客解构就是其中一种,在对象属性和方法名称上也有所优化,也就是这篇博客要解析的简洁属性 阅读全文
posted @ 2019-08-14 23:36 他乡踏雪 阅读(575) 评论(0) 推荐(0) 编辑
摘要:数组解构 对象解构 声明与解构相关的问题 解构与重复赋值 按需解构 默认值赋值 解构参数 解构(destructuring):结构化赋值 解构通常被看作ES6的一个结构化赋值方法,可以通过解构将数组元素或者对象属性拆分出来,成为单个变量。并且在命名相同的情况下可以实现名称复用,以达到减少代码量的目的 阅读全文
posted @ 2019-08-14 02:36 他乡踏雪 阅读(367) 评论(0) 推荐(0) 编辑
摘要:默认值 默认值表达式 需要注意的是,这种默认值和默认表达式在IE的最新版本中仍然没有得到兼容,只能通过编译转码的方式降级到ES5使用。 一、默认值 在函数声明时可以给形参赋默认值,当调用函数时不传入或者传入undefined的时候,函数会使用默认值进行计算。 示例: ES5编译结果: 二、默认值表达 阅读全文
posted @ 2019-08-13 16:01 他乡踏雪 阅读(499) 评论(0) 推荐(0) 编辑
摘要:let声明 const声明 块级作用域 spread/rest 一、let声明与块作用域 在ES6之前,JavaScript中的作用域基本单元就是function。现在有了let就可以创建任意块的声明,也被称为作用域块。这意味者只需要“{}”就可以创建一个作用域。不再像var声明变量那样总归属于包含 阅读全文
posted @ 2019-08-13 12:53 他乡踏雪 阅读(737) 评论(0) 推荐(1) 编辑
摘要:初步了解严格模式 一个用心良苦的语言模式设计 一、初步了解严格模式 ECMAScript 5的严格模式是采用具有限制性JavaScript变体的一种方式,从而使代码显示地“脱离马虎模式/稀松模式/懒散“模式。 为什么这么说呢?有时候忘记在作用域链上是否存在某个变量了,或者忘记在那一层作用域,但是当前 阅读全文
posted @ 2019-08-12 05:23 他乡踏雪 阅读(441) 评论(0) 推荐(0) 编辑
摘要:ES6简介 Babel转码器 Nodejs中使用ES6 WebPack中使用ES6及Babel转码插件 一、ES6简介与转码 1.1一个常见的问题,ECMAScript和JavaScript到底是什么关系? 1996年11月,JavaScript的创造者——Netscape公司,决定将JavaScr 阅读全文
posted @ 2019-08-10 10:22 他乡踏雪 阅读(1400) 评论(0) 推荐(0) 编辑
摘要:一、数字的语法 JavaScript中的数字字面量一般用十进制表示。在JavaScript中表示数字的数据类型只有一种Number,这种天使与魔鬼同体的数据类型也就只有js了。 然后还有一些奇葩的数字表示法: 一般情况下,奇葩都是成双成对的: 这种奇葩你认识它就好了,最好不要出现在你的代码里,记得这 阅读全文
posted @ 2019-01-10 19:32 他乡踏雪 阅读(811) 评论(0) 推荐(0) 编辑