![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
ES6+
文章平均质量分 54
ES6+
海胆Sur
本着开放共享的态度
展开
-
ES6 Proxy 代理对象 | Reflect 反射 用于操作对象的接口
Reflect 与 Proxy 操作对象Proxy 可以对读取对象和函数执行进行拦截 进行代理操作Reflect 将 Object 的一些明显属于语言的方法移植到了 Reflect 对象上Proxy 包含 target 、 handlernew Proxy(target, handler)target 即目标对象, handler对象 定义代理 target 的行为let exam = { name: "Tom", age: 24}let handler = { g原创 2021-08-10 15:31:11 · 175 阅读 · 0 评论 -
ES6 Symbol 特点及其用途
已知 Symbol 可使用[]访问(不能用.访问)避免属性重名覆盖[ symbol ] : "xxx" , // 不是变量的方式 [ Symbol("attrName") ] : "xxxx" // 但两个属性名并不相同 }创建“私有属性”可以把一些 不需要对外操作和访问 的属性使用Symbol来定义Symbol 属性不会被for in等常规遍历获取JSON.stringify() 也不会处理 Symbol可以通过访问 Symbol 属性也可以通过访问包括 Symbol 的全部属性。原创 2021-07-28 16:00:58 · 427 阅读 · 0 评论 -
ES6 Promise async await 解决回调地狱
Promise 解决回调地狱参考视频什么是回调地狱?需要控制异步函数的执行顺序,而将他们层层嵌套,使得代码结构复杂,难以维护。Promise 如何解决new Promise(function(resolve) { //写异步方法,下例 setTimeout(() => { resolve("要传递的数据"); // 执行此语句时 .then方法会执行 通过回调函数拿到数据 }, 500)}).then((data) => { // 这里就相当于把异步要执行的内容拿出来,放原创 2021-07-27 18:10:33 · 274 阅读 · 1 评论 -
ES6 String 字符串
为字符串提供了新方法.includes():判断是否找到参数字符串startsWith() //比较字符串是否以xx开头endsWith() //比较字符串是否以xx结尾.repeat():返回新的字符串,表示将字符串重复指定次数返回.padStart(n,“xx”) / .padEnd() 根据设定长度补全字符串为字符串增加了新特性–模板字符串 `xxx`支持字符串换行支持 ${变量} 模板alert`Hello world!`;......原创 2021-07-14 16:04:19 · 113 阅读 · 0 评论 -
ES6 Generator 函数
在 function 后面,函数名之前有个 * ;通过 yield 关键字,把函数的执行流挂起要调用遍历器对象Iterator 的 next 方法或for of,指针就会从函数头部或者上一次停下来的地方(yield ‘value’;)开始执行...原创 2021-06-18 14:52:15 · 63 阅读 · 0 评论 -
ES6 Class 类
class 关键字 定义类类定义不会被提升,这意味着,必须在访问前对类进行定义,否则就会报错。类中方法不需要 function 关键字。方法间不能加分号。Class 内部只有静态方法,没有静态属性。static公共属性 .prototype.属性name 属性返回跟在 class 后的类名constructor 方法是类的默认方法,创建类的实例化对象时被调用。原创 2021-06-18 14:30:31 · 85 阅读 · 0 评论 -
ES6 生成器 / 迭代器
Symbol.iterator 对可便利对象创建一个迭代器通过.next() 方法向下迭代对象属性 value:当前元素值 done:是否到达最后for of 进行迭代普通对象不可迭代原创 2021-06-18 14:10:23 · 69 阅读 · 0 评论 -
ES6 Array 数组
创建数组Array.of()参数中所有值作为元素形成数组Array.from(arrayLike, mapFn, thisArg)arrayLike 数组对象或可迭代对象可选参数mapFn map 函数,用于对每个元素进行处理,放入数组的是处理后的元素thisArg 指定 map 函数执行时的 this 对象数组的扩展方法find() 查找数组中符合条件的元素 只返回第一个匹配findIndex()fill()// 参数1:用来填充的值// 参数2:被填充的起始索引// 参数3原创 2021-06-18 13:59:11 · 853 阅读 · 0 评论 -
ES6 Promise原理
可以将异步操作以同步操作的流程表达出来待定(pending): 初始状态,既没有被兑现,也没有被拒绝。已兑现(fulfilled): 意味着操作成功完成。已拒绝(rejected): 意味着操作失败。Promise 对象的状态改变,只有两种可能:从 Pending 变为 Resolved 和从 Pending 变为 Rejected。图片来源——对于嵌套的异步操作,内层状态没有确定时,外层不会执行如果一切都正常,则调用 resolve,否则调用 reject。.then() 方法,传递原创 2021-03-26 20:54:58 · 230 阅读 · 0 评论 -
ES6 部分新特性
解决了var的一些遗留问题var 可以重复声明变量var 不可以限制修改var 不支持块级作用域,只支持函数作用域解决方案: 引入let和const函数书写较为复杂function [函数名](参数){ [方法;] renturn 表达式/数据;}改善方案:箭头函数 用 => 代替 function ,仅包含return的函数可以进一步简化(参数) => 表达式/数据; //仅有一个参数时括号可以省略//如果仅包含一条语句且不含return 同样可以省去{}在实原创 2021-03-09 12:31:25 · 237 阅读 · 0 评论 -
ES6+ module语法笔记 import / export
参考链接export 规定模块对外的接口;对外输出模块的变量export使用as关键字可以改变输出的名字//export 使用规范//变量方法一export var 变量名 = 赋值;//方法二var 变量名 = 赋值;export {变量名};//大括号不能省略//方法同理import 导入其他模块import同样可以使用as关键字改变名字//import 使用规范import {选择提供的接口} from '目标文件路径';import * from '目标文件路径';//原创 2021-03-01 16:21:31 · 2916 阅读 · 0 评论