es6
weixin_41837346
这个作者很懒,什么都没留下…
展开
-
25. 编程风格
25. 编程风格1. 块级作用域2. 字符串3. 解构赋值参考链接:https://es6.ruanyifeng.com/#docs/style1. 块级作用域let 取代 var(无副作用)块级作用域无变量提升全局常量和线程安全全局环境,优先使用 const提醒该变量不可改变有利于分布式运算编译器会对 const 优化2. 字符串静态字符串:单引号,动态...原创 2020-03-12 10:58:27 · 71 阅读 · 0 评论 -
Module的加载实现
Module的加载实现1. 浏览器加载2. ES6模块与CommonJS模块的差异3. Node.js加载1. 浏览器加载脚本同步加载(默认):渲染引擎,(遇到script标签,停下来,先执行完脚本,)然后继续渲染脚本如需下载,则先下载造成阻塞脚本异步加载不会等待脚本下载和执行defer:(DOM结构生成完,其他脚本执行),后执行(渲染完再执行,保证顺序)async:脚...原创 2020-03-11 16:52:48 · 144 阅读 · 0 评论 -
Module的语法
文章目录1. 概述2. 严格模式3. export命令4. import命令5. 模块的整体加载6. export default 命令7. export 和 import 的复合写法1. 概述模块体系:CommonJS、AMD、ES6模块(Module)Module:静态化,编译时确定模块依赖关系、输入、输出其他:运行时确认依赖关系CommonJS:对象,运行时加载2. 严...原创 2020-03-04 19:28:36 · 391 阅读 · 0 评论 -
Class继承
Class继承1.简介2. super关键字3. 类的prototype和__proto__属性4. 原生构造函数的继承5. Mixin 模式实现1.简介extends实现继承super表示父类的构造函数子类在constructor中,必须调用super方法,this必须在super方法后使用(通过父类构造函数,完成this对象的塑造)es5继承:先生成this,然后通过Parent....原创 2020-03-01 20:57:56 · 203 阅读 · 0 评论 -
Class的基本语法
1. 简介es5生成对象实例function Point(x,y){ this.x = x this.y = y}Point.prototype.toSring = function(){ //...}Point.prototype.constructor == Point //truees6生成对象实例class Point{ constructor(x,y){...原创 2020-02-26 18:55:21 · 87 阅读 · 1 评论 -
ES6之async函数
1. 含义目的:简化异步操作本质:Generator函数的语法糖将 * 替换成 async将 yield 替换成 await向对于Generator的优化内置执行器,普通函数式调用语义增强更广的适应性返回Promise对象,方便后续操作2. 基本用法返回值:Promise对象await:返回(继续主线程执行),等待异步操作完成后(Promise对象结束)继...原创 2020-02-07 16:13:06 · 105 阅读 · 0 评论 -
ES6之函数的扩展
1. 函数参数的默认值参数定义中使用默认值function fun(x = 1, y = 2) { console.log(x, y)}fun() //1 2fun(11) //11 2fun(undefined, 22) //1 22 (传undefined使用默认值)fun(null, 2...原创 2020-01-18 17:24:42 · 104 阅读 · 0 评论 -
ES6之 Generator 函数的异步应用
1. Generator函数协程实现:yield暂停,next启动数据交换和错误处理:yield和next参数,Generator内捕获外部错误异步任务封装var fetch = require('node-fetch')function* g() { let res = yield fetch('https://api.github.com/users/github')...原创 2020-01-16 16:12:53 · 88 阅读 · 0 评论 -
ES6之Generator(下)
5. 原型.return返回给定的值,并且终结遍历 Generator 函数function* g() { while (true) { yield 1 }}var i = g()i.next() //{value: 1, done: false}i.return(2) //{value: 2, done: true}i.ne...原创 2020-01-14 18:18:14 · 81 阅读 · 0 评论 -
ES6之Generator(上)
1. 简介Generator: 一个函数,异步编程解决方案状态机,封装了多个内部状态调用该函数,生成遍历器对象(Iterator)特征:星号,yield表达式yield表达式yield: 暂停标志遍历器对象next方法:遇到yield,暂停后续操作,并将yield后面表达式的值返回作为value。如无yield,则运行到函数结束。return可提前结束,return后的值作...原创 2020-01-13 15:00:07 · 75 阅读 · 0 评论 -
ES6之Iterator
Iterator(遍历器)概念Iterator目的为各种数据结构,提供统一的访问机制使数据结构成员,按照某种次序排列提供新的遍历命令:for…of循环Iterator遍历过程创建指针对象,指向数据起始位置调用指针对象next方法,指针指向数据第一个成员,返回{value,done}对象重复步骤2,指针后移,直至数据结束位置遍历器模拟//遍历器模拟var...原创 2020-01-08 11:57:54 · 153 阅读 · 0 评论 -
ES6之Promise
1. 概述异步编程解决方案一个对象,可以获取异步操作的数据两个特点对象的状态不受外界影响一旦状态改变,就不会再变缺点不设置回调函数,Promise内部抛出的错误,不会反应到外部/** * 三种状态pending,resolved,rejected * pending(进行中) * fulfilled(已成功)-> resolve * rejected(...原创 2020-01-02 10:26:26 · 101 阅读 · 1 评论 -
ES6之Proxy
概述修改默认行为,元编程功能:访问拦截改写,代理器语法let p = new Proxy(target, handler);target:被拦截目标handler:定制拦截行为/** * 常见参数 * target: 目标对象(函数) * property: 被设置的属性名 * value: 被设置的新值 * receiver: 最初被调用的对象(通常是proxy...原创 2019-12-30 15:09:16 · 83 阅读 · 0 评论 -
ES6之Reflect
1. 概述功能:操作对象目的:Object方法迁移优化某些Object返回结果让Object操作都变成函数行为Reflect与Proxy对象方法一一对应简化方法//函数调用合理化//Object.defineProperty定义相同属性时,会抛出一个错误var obj = {}Object.defineProperty(obj, 'name', { value: '...原创 2019-12-25 10:26:51 · 70 阅读 · 0 评论 -
ES6之Set和Map
定义集合数据结构:Array,Object,Map,SetSet类似于数组,Map类似于对象Set成员唯一,Map键的范围不限于字符串// Set成员唯一,var set = new Set([1, 2, 3, 1, 2]) //Set { 1, 2, 3 }//Map键的范围不限于字符串var obj1 = {}var obj2 = {}var obj = { [obj...原创 2019-12-20 11:12:14 · 54 阅读 · 0 评论 -
Symbol简记
概述原始数据类型/** * 1. 原始数据,不可new(无构造函数) * 2. 数据类型:Number 、 String 、 Boolean 、 Object、 null 和 undefined */var a = Symbol()唯一值//表示唯一性console.log(Symbol() === Symbol())描述/** * 1. Symbol.pr...原创 2019-12-18 15:38:03 · 127 阅读 · 0 评论