ES6
_付宏
on the read
展开
-
ES6笔记( 十一 )- Reflect & Proxy
目录:Reflect反射的用途Reflect常用方法【 扩展 】Property Descriptor属性描述符简介和基本特性属性描述符的存取器属性( getter, setter )属性描述符的最佳实践存取器的意义ProxyProxy的使用【 扩展 】观察者模式【 扩展 】代理模式ReflectReflect是一个内置的JS对象, 它提供了一系列方法, 可以让开发者通过调用这些方法, 访问JS的一些底层功能由于他类似于其他语言的反射, 因此取名Refle原创 2020-08-07 09:50:45 · 248 阅读 · 0 评论 -
ES6笔记( 九 )- Set & Map
一直以来, JS只能使用数组和对象来保存多个数据, 缺乏像其他语言那样拥有丰富的集合类型, 因此, ES6新增了两种新的集合类型( Set和Map ), 用于在不同的场景中发挥作用目录:SetSet集合的创建对Set集合的后续操作Set的最佳实践【 扩展 】手写SetMapMap集合的创建对Map集合进行后续操作【 扩展 】手写Map【 扩展 】WeakMap & WeakSetWeakSetWeakMapSetSet集合用于存放不能重复的数据原创 2020-08-03 18:33:58 · 196 阅读 · 0 评论 -
ES6笔记( 八 )- Iterator & Generator
目录:迭代器背景知识JS中的迭代器next方法像遍历一样操作数据封装公共迭代方法可迭代协议for…of可迭代对象和展开运算符生成器生成器的创建生成器函数内部的执行规则生成器实例生成器函数的特性迭代器背景知识什么是迭代?从一个数据集合中按照一定的顺序, 不断取出数据的过程叫做迭代迭代和遍历的区别?迭代强调的是依次取数据, 不保证一次性取完, 遍历强调的是把整个数据依次全部取出为什么要使用迭代器?将数据和取数据的过原创 2020-08-02 21:16:22 · 240 阅读 · 0 评论 -
ES6笔记( 七 )- Symbol
ES6笔记( 七 )- Symbol符号: 符号是ES6新增的一个数据类型, 通过Symbol(符号名)来创建目录:符号概览普通符号共享符号知名( 具名, 公共 )符号符号概览在开始之前, 咱先回顾一下ES6之前的我们所知道的数据类型string, number, boolean, object, undefined, null符号设计的初衷: 是为了给对象设置私有属性在过去我们JS是没有私有成员这一说的( 当然你通过特殊手段实现的不算 ), 但是私有成员又是非常有必要的,原创 2020-08-02 08:07:29 · 1052 阅读 · 0 评论 -
ES6笔记( 六 )- Desconstruction
解构: 使用ES6提供的新的语法,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。目录:过去我们遇到的一些尴尬场景对象解构函数解构解构默认值解构 + rest运算符一些实战场景过去我们遇到的一些尴尬场景当我们访问一个对象中的成员属性的时候, 一般会使用obj.xxx的形式去访问, 如下const obj = { username: 'loki', age: 18}console.log(obj.username);cons.原创 2020-08-01 17:05:24 · 983 阅读 · 1 评论 -
ES6笔记( 五 )- Object
目录:新增的对象字面量语法成员速写方法速写计算属性名新增的Object方法Object.isObject.assignObject.setPrototypeOfObject.keys, Object.values, Object.entriesClass【 扩展 】面向对象简介用class(类)来实现更好的面向对象支持类的其他书写方式类的继承新增的对象字面量语法成员速写ES5在书写对象成员的一些问题我们在开发中总是会遇到这样的逻辑, 用户输入了用户原创 2020-08-01 14:45:35 · 619 阅读 · 0 评论 -
ES6笔记( 四 )- Spread
目录:剩余运算符给我们带来的问题展开运算符( 散列运算符 )对数组展开对对象展开展开运算符的最佳实践剩余运算符给我们带来的一个小问题我们先来看一个结合ES6剩余运算符的一个小例子( 剩余运算符在我的ES6笔记( 三 )- Function中有交流到 )// 这是我们要书写的求和函数getSum其中使用到了剩余运算符function getSum( ...numberArr ) { let sumResult = 0; numberArr.forEach(it =原创 2020-07-26 11:04:06 · 276 阅读 · 0 评论 -
ES6笔记( 三 )- Function
目录:参数默认值ES6之前我们给函数参数默认值的方式使用更加舒服的ES6参数默认值【 扩展 】ES6参数默认值对arguments的影响【 扩展 】参数默认值和暂时性死区剩余参数ES6之前处理不限定参数函数的方法剩余参数运算符new.targetES5检测是否通过new操作符使用构造函数的方法ES6的解决方案箭头函数ES5关于函数this指向的一些烦恼和骚操作箭头函数混脸熟箭头函数特点箭头函数的最佳实践【 扩展 】关于this指向问题参数默认值原创 2020-07-25 20:15:53 · 435 阅读 · 0 评论 -
ES6笔记( 二 )- String
目录:字符串新的常用字符串操作方法startsWith, endsWithincludesrepeat【 扩展 】ES5 + ES6字符串常用方法集合模板字符串ES6之前字符串书写的问题使用模板字符串获得更好的体验【 扩展 】模板字符串的标记字符串新的常用字符串操作方法startsWith, endsWithstartsWith用于判定一个字符串是不是以参数字符串开头, endsWith用于判定一个字符串是不是以参数字符串结尾, 是的话返回true, 否则原创 2020-07-25 14:38:34 · 396 阅读 · 0 评论 -
ES6笔记( 一 )- let & const
目录:使用var声明变量的原罪使用let和const声明变量使用var声明变量的原罪定义的全局变量存入window, 如果同名将直接影响window的成员console.log('test');var console = 'helloWorld';console.log('demo'); // 直接报错, 因为上面定义的console允许重复的变量声明, 导致影响数据被覆盖var foo = function() { console.log('我是foo函数');原创 2020-07-25 08:55:34 · 414 阅读 · 0 评论 -
ES6 - 从Promise入门到深入原理(手写一个自己的Promise)
事件和回调函数的缺陷我们习惯于使用传统的回调或者事件处理来解决异步问题事件: 某个对象的属性是一个函数, 当发生一件事时, 运行该函数dom.onclick = function() { // ...执行的代码}回调:运行某个函数以实现某个功能的时候, 传入一个函数作为参数, 当某个特定的条件下的时候, 就会触发该函数dom.addEventListner('click', ...原创 2020-04-17 16:34:48 · 4816 阅读 · 10 评论