![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ES6
合法的咸鱼
我太懒了
展开
-
ES6数组扩展api
Array.of() let a = Array.of(1,2,3); // [1,2,3] let b = Array.of(10); // [10] Array.form() let a = Array.form(类数组); // 传入类数组,返回真数组 array.find() let a = [ { id: 1 }, { id: 2 }, { id: 3 } ] // 找到数组中id为2的那一项 let re = a.find(item => item.id ===原创 2022-01-17 14:05:00 · 421 阅读 · 0 评论 -
代理Proxy,观察者模式
代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>原创 2022-01-17 11:19:40 · 324 阅读 · 0 评论 -
JS生成器
//定义一个生成器函数,不可与async同时使用, *调用时不会执行函数体* function* test() { console.log("1"); yield 1; console.log("2"); yield 2; console.log("3"); return 3; } const re = test(); //得到一个Generator生成器, 此时不会打印"1" //每次调用生成器的next方法, 执行到下一个yeild位置 re.next(); //返回(对象)数据1, 打原创 2022-01-13 14:52:40 · 552 阅读 · 0 评论 -
Promise手写
实现Promise A+大部分规范 const PENDDING = "pendding"; const FULFILLED = "fulfilled"; const REJECTED = "rejected"; /** * 创造一个微队列 * @param {Function} callback 回调函数 */ function runMicroMask(callback) { if (this.MutationObserver) { //浏览器环境 const obse.原创 2022-01-12 13:05:47 · 194 阅读 · 0 评论 -
promise链式调用细节
then,catch方法必定会返回一个新的promise对象 新任务的状态取决于后续处理: 若没有相关的后续处理,新任务的状态和前任务一致,数据为前任务的数据 若有后续处理,但还没执行,新任务则会挂起 若后续处理执行了,则根据后续处理的情况确定新任务的状态 后续处理执行无错,新任务的状态为完成,数据为后续处理的返回值 后续处理执行有错,新任务的状态为失败,数据为异常对象 后续执行后返回的是一个任务对象,新任务的状态和数据与该任务对象一致 ...原创 2021-12-31 13:23:55 · 94 阅读 · 0 评论 -
ES6类相关知识与继承
文章目录传统构造函数的问题类类的基本使用类的特点类的其他书写方式可计算属性名getter与setter静态成员字段初始化器 传统构造函数的问题 属性与原型方法定义相分离,降低了可读性 原型成员可以被枚举 默认情况下,构造函数仍然可以被当做普通函数使用 类 类的基本使用 class Person { constructor(name, age, sex) { this.name = name; this.age = age; this.sex = sex; } say(words) {原创 2021-12-30 09:40:21 · 404 阅读 · 0 评论 -
ES6new.target与箭头函数
文章目录new.target箭头函数 new.target 当函数被new调用,new.target值为函数本身,否则值为undefined 箭头函数 //完整语法 let a = (参数1, 参数2, ...) => { //函数体 } //当参数只有一个 可以省略小括号 let b = 参数1 => { //函数体 } //如果函数只有一条语句返回,可以省略花括号和return let c = () => 1+1 //注意: 当此条语句为对象时 let d = () =>原创 2021-12-29 14:01:09 · 409 阅读 · 0 评论 -
ES6码元与码点,字符串api
文章目录码元码点字符串API 码元 码元能表示16位二进制字符 码点 由1-2个码元组成,正则匹配添加/^$/u,则表示使用码点 查看一个字符的码点 text.codePointAt(0); //得到码点 function is32Bit(char, i) { return char.codePointAt(i) > 0xffff; } function getStringPointLength(str) { let length = 0; for (let i=0; i < st原创 2021-12-27 15:27:14 · 343 阅读 · 0 评论 -
ES6声明变量
let 声明变量不会挂载到全局对象(window) 不允许在相同作用域重复声明变量 在花括号内形成块级作用域 不会产生变量提升 底层实现上let也会有变量提升,但是会被放入"暂时性死区",访问"死区"内的内容会报错,当代码运行到该变量声明行时会将其移出"暂时性死区". 在循环中,let声明变量会做特殊处理,每次循环生成一个作用域,并将循环变量绑定到该作用域,循环结束后,循环变量会被销毁 const 与let基本一致,只是在初始化时必须赋值,且不可被更改 注意: 常量不可变,只得是保存常量的原创 2021-12-27 14:41:50 · 339 阅读 · 0 评论