ES6新特性
文章平均质量分 87
JavaScript的ES6新特性
前端小讴
爱吉他爱户外爱篮球更爱写代码,努力为了更好的生活。大家可添加我微信(powerful_simon),互相交流互相学习,一起弹琴唱歌打球爬山。同时还望前辈们多多指点,多多帮忙内推~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
《javascript高级程序设计》学习笔记 | 11.3.异步函数
关注[前端小讴],阅读更多原创技术文章 异步函数 ES8 新增异步函数(async/await),是 ES6 期约模式在 ECMAScript 函数中的应用 以同步方式的代码执行异步 相关代码 → 异步函数 ES8 对函数进行了扩展,新增 2 个关键字async和await async async关键字用于声明异步函数,可用在函数声明、函数表达式、箭头函数和方法上 async function foo() {} // 用在函数声明 let bar = async function () {}.原创 2021-09-29 15:56:15 · 380 阅读 · 0 评论 -
《javascript高级程序设计》学习笔记 | 11.2.期约
关注[前端小讴],阅读更多原创技术文章 期约 期约是对尚不存在结果的一个替身,是一种异步程序执行的机制 相关代码 → Promises/A+规范 ES6 新增了Promise类型,其成为主导性的异步编程机制,所有现代浏览器都支持期约 期约基础 Promise类型通过new操作符实例化,需传入执行器(executor)函数作为参数 // let p = new Promise() // TypeError: Promise resolver undefined is not a functio.原创 2021-09-16 15:10:51 · 307 阅读 · 0 评论 -
《javascript高级程序设计》学习笔记 | 11.1.异步编程
关注[前端小讴],阅读更多原创技术文章 异步编程 ES6 新增了正式的Promise引用类型,支持更优雅地定义和组织异步逻辑 接下来的几个版本,使用async和await关键字定义异步函数的机制 相关代码 → 同步与异步 同步行为在内存中顺序执行处理器指令 每条指令都在单个线程中按出现顺序执行 每条指令执行后,都可以推断出程序的状态,并立即获得存储在系统本地(或寄存器或系统内存)的信息 let x = 3 // 操作系统在栈内存上分配一个存储浮点数值的空间 x = x + 4 // 针对这.原创 2021-09-01 16:57:20 · 204 阅读 · 0 评论 -
《javascript高级程序设计》学习笔记 | 10.14-10.16.闭包
关注[前端小讴],阅读更多原创技术文章 相关代码 → 10.14 闭包 闭包是指引用了另一个函数作用域中变量的函数,通常在嵌套函数中实现(如果一个函数访问了它的外部变量,那么它就是一个闭包) 闭包中函数的作用域链中,有对外部函数变量的引用 为了在全局作用域可以访问到闭包函数,通常在外部函数内返回内部闭包函数 因此外部函数被闭包引用的活动对象,并不能在外部函数执行后被销毁,仍保留在内存中 若要释放内存,需解除闭包函数对外部函数活动对象的引用 function arraySort(key, sor.原创 2021-08-20 15:29:06 · 408 阅读 · 4 评论 -
《javascript高级程序设计》学习笔记 | 10.12-10.13.递归
关注[前端小讴],阅读更多原创技术文章 相关代码 → 10.12 递归 递归函数是一个函数通过名称调用自己 function factorial(num) { if (num <= 1) { return 1 } else { return num * factorial(num - 1) } } 函数逻辑与函数名是藕和的,因此将递归函数赋值给其他变量,并解除原函数名与函数之间的关系后,会报错 let anotherFactorial = factorial .原创 2021-08-11 09:27:59 · 306 阅读 · 0 评论 -
《javascript高级程序设计》学习笔记 | 10.9-10.11.函数内部
关注[前端小讴],阅读更多原创技术文章 相关代码 → 10.9 函数内部 ES5 中函数内部有 2 个特殊对象 arguments 和 this,1 个内部属性 caller ES6 新增new.target属性 10.9.1 arguments arguments是一个类数组对象,包含调用函数时传入的所有参数 只有以funciton关键字定义函数时才会有arguments对象(箭头函数没有) 对象有一个callee属性,指向arguments所在函数的指针(注意:是指针即函数名,而非函数) 严.原创 2021-08-04 10:12:07 · 231 阅读 · 2 评论 -
《javascript高级程序设计》学习笔记 | 10.1-10.8.函数基础
关注[前端小讴],阅读更多原创技术文章 函数是对象,每个函数都是 Function 类型的实例,都与其他引用类型一样具有属性和方法 函数名是指向函数对象的指针,不会与某个函数绑定(一个函数可能会有多个名字) 相关代码 → 4 种定义方式 // 1.函数声明定义 function sum(num1, num2) { return num1 + num2 } // 2.函数表达式定义 let sum = function (num1, num2) { return num1 + num2 } .原创 2021-07-16 09:36:06 · 360 阅读 · 0 评论 -
《javascript高级程序设计》学习笔记 | 9.3.代理模式
关注[前端小讴],阅读更多原创技术文章 代理模式 相关代码 → 跟踪属性访问 通过捕获get、set、has等操作,可以监控对象何时何处被访问过 const user = { name: 'Jake', } const proxy = new Proxy(user, { get(target, property, receiver) { console.log(`Getting ${property}`) return Reflect.get(...arguments) .原创 2021-06-29 14:13:35 · 178 阅读 · 0 评论 -
《javascript高级程序设计》学习笔记 | 9.2.代理捕获器与反射方法
关注[前端小讴],阅读更多原创技术文章 代理捕获器与反射方法 代理可以捕获13 种不同的基本操作,代理对象上执行的任一种操作只会有一种捕获处理程序被调用,不存在重复捕获现象 只要在代理上操作,所有捕获器都会拦截对应的反射 API 操作 相关代码 → get() 在获取属性值的操作中被调用,对应的反射 API 方法为Reflect.get(target, property, receiver) 返回值 无限制 拦截的操作 proxy.property proxy[property] Obj.原创 2021-06-17 09:43:55 · 263 阅读 · 0 评论 -
《javascript高级程序设计》学习笔记 | 9.1.代理基础
关注[前端小讴],阅读更多原创技术文章 代理基础 ES6 为的代理和反射为开发者提供拦截并向基本操作嵌入额外行为的能力 代理是目标对象的抽象,其可以用作目标对象的替身,但完全独立于目标对象 目标对象既可直接被操作,也可通过代理来操作,直接操作会绕过代理施予的行为 相关代码 → 创建空代理 使用Proxy构造函数创建代理,接收目标对象和处理程序对象两个参数(缺一不可) 空代理是最简单的代理,可用空对象作为处理程序对象,空代理对象仅作为一个抽象的目标对象 const target = { // .原创 2021-06-10 14:26:12 · 261 阅读 · 2 评论 -
《javascript高级程序设计》学习笔记 | 8.4.类
关注[前端小讴],阅读更多原创技术文章 类 ES6 新引入class关键字具有正式定义类的能力,其背后使用的仍然是原型和构造函数的概念 相关代码 → 类定义 与函数类型类似,定义类也有 2 种主要方式:类声明和类表达式,2 种方式都是用class关键字加大括号 class Person {} // 类声明 var animal = class {} // 类表达式 类表达式在被求值前不能引用(同函数表达式),类定义不能声明提升(与函数表达式不同) console.log(FunctionD.原创 2021-06-01 14:45:58 · 245 阅读 · 0 评论 -
《javascript高级程序设计》学习笔记 | 8.3.继承
关注[前端小讴],阅读更多原创技术文章 继承 面向对象语言支持 2 种继承方式:接口继承和实现继承 JS 函数没有签名(不必提前声明变量的类型),只支持实现继承,依靠原型链 相关代码 → 原型链 子类型构造函数的原型,被重写为超类型构造函数的实例 function SuperType() { this.property = true } SuperType.prototype.getSuperValue = function () { return this.property } fun.原创 2021-05-25 10:07:33 · 256 阅读 · 8 评论 -
《javascript高级程序设计》学习笔记 | 8.2.创建对象
关注[前端小讴],阅读更多原创技术文章 创建对象 创建单个对象:Object 构造函数 和 对象字面量 缺点:使用一个接口创建很多对象,产生大量重复代码 相关代码 → 工厂模式 抽象创建特定对象的过程,按照特定接口创建对象 function createPerson(name, age, job) { var o = new Object() o.name = name o.age = age o.job = job o.sayName = function () { .原创 2021-05-10 09:59:40 · 193 阅读 · 0 评论 -
详解ES6中的class——基本概念
用构造函数,生成对象实例: 1.使用构造函数, 并且new 构造函数(), 后台会隐式执行new Object() 创建对象 2.将构造函数的作用域给新对象,(即new Object() 创建出的对象),函数体内的this代表new Object() 出来的对象 3.执行构造函数的代码 4.返回新对象(后台直接返回) function Person1(name, age) { ...原创 2019-05-30 17:40:44 · 619 阅读 · 0 评论
分享