ES6
文章平均质量分 93
es6
YF-SOD
LDSBAH,NAB!
展开
-
ES6 async函数(对比generator函数(内置执行器、语义、适用性、返回)、使用形式、用法(返回对象及状态变化)、await命令、错误处理、使用注意点、顶层await)
目录async函数对比generator函数内置执行器。更好的语义。更广的适用性。返回值是 Promise。使用形式用法基础用法返回 Promise 对象Promise 对象的状态变化await 命令错误处理使用注意点顶层awaitasync函数async 函数是Generator 函数的语法糖。它将Generator 函数的星号(*)替换成async,将yield替换成await。对比generator函数async函数...原创 2021-09-03 07:54:33 · 498 阅读 · 0 评论 -
ES6 Generator函数(next方法(不带参和带参)、yield表达式(用法和注意点)、与遍历器联系、相关语句、throw和return、yield*(接其它遍历器)、作为对象属性)
目录Generator函数next方法next方法不带参数next方法带参数yield表达式用法注意点与遍历器联系相关语句for...of扩展运算符(...)、解构赋值和Array.fromGenerator.prototype.throw()Generator.prototype.return()yield*yield*接其它遍历器作为对象属性的 Generator 函数遍历器介绍Generator函数Generator...原创 2021-09-02 23:13:56 · 842 阅读 · 0 评论 -
ES6 Promise对象(实例调用方法promise.then/catch/finally、静态方法Promise.resolve/reject/all/race、promise实现源码)
目录Promise(function(resolve,reject){})promise对象调用的方法promise.then(function(res){},function(rej){})promise.catch(function(){})promise.finally(function(){})Promise上定义好的静态方法Promise.resolve(js)Promise.reject(js)Promise.all([p1,p2,...,pn])Prom原创 2021-04-20 20:40:20 · 834 阅读 · 0 评论 -
ES6 Class的继承(extends、super作为函数和对象的用法、自定义数据结构、获取父类方法、类的prototype和__proto__属性、实例的__proto__属性)
目录Class的继承extendssupersuper作为函数super作为对象自定义数据结构获取父类类的prototype和__proto__属性实例的__proto__属性Class的继承extendsClass 可以通过extends关键字实现继承父类的静态方法,也会被子类继承。class A { static hello() { console.log('hello world'); }}class B exten原创 2021-08-31 20:31:04 · 807 阅读 · 0 评论 -
ES6 Class(类中定义的方法注意点、写法、严格模式、不提升、constructor方法、get和set、静态方法和属性、私有属性和in、属性和class表达式、new.target属性)
Classconstructor()方法constructor()方法是类的默认方法,通过new命令生成对象实例时,自动调用该方法。一个类必须有constructor()方法,如果没有显式定义,一个空的constructor()方法会被默认添加。取值函数(getter)和存值函数(setter)...原创 2021-08-30 21:55:11 · 1273 阅读 · 0 评论 -
ES6 Reflect
目录Reflect目的Reflect的静态方法Reflect.get(target, name, receiver)Reflect.set(target, name, value, receiver)Reflect.has(obj, name)Reflect.deleteProperty(obj, name)Reflect.construct(target, args)Reflect.getPrototypeOf(obj)Reflect.setPrototyp...原创 2021-08-29 22:43:51 · 151 阅读 · 0 评论 -
ES6 Proxy(new Proxy(target,handler)、拦截对象实例方法(get、set、has等)、拦截函数实例方法(apply、construct)、proxy中this指向)
目录Proxy(Vue3.0的原理)new Proxy(target, handler)Proxy实例方法(拦截对象)get(target, propKey, receiver)set(target, propKey, value, receiver)has(target, propKey)deleteProperty(target, propKey)ownKeys(target)getOwnPropertyDescriptor(target, propKey)def原创 2021-08-29 17:37:33 · 1048 阅读 · 0 评论 -
ES6 Set和WeakSet、Map和WeakMap数据结构(实例方法属性size、add、delete、has、clear、keys、values、entries、forEach)
Set数据结构ES6 提供的新数据结构。它类似于数组,但是成员的值都是唯一的,没有重复的值,可以理解为集合。Set()通过new Set()来新建该数据结构的实例对象,参数接收为一个数组(或者具有 iterable 接口的其他数据结构,例如下面例三)作为参数,用来初始化。const set = new Set([1, 2, 3, 4, 4]);//Set(4){1,2,3,4}[...set]// [1, 2, 3, 4]// 例二const items = new Set([1.原创 2021-08-27 08:13:04 · 257 阅读 · 0 评论 -
ES6 let注意点、解构(重命名、默认值、解构给已有变量、多层解构)、模块化(注意点、导入导出语法)、对象属性扩展写法
目录let注意点解构重命名默认值解构给已有变量模块化模块化注意点export、export default语法import语法对象属性扩展写法let注意点1.不存在变量提升。2.不允许重复声明 。3.暂时性死区。只要块级作用域内存在let命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响。例如下面代码:var tmp = 123;if (true) { tmp = 'abc'; // ReferenceError..原创 2021-07-01 17:29:53 · 2660 阅读 · 0 评论 -
ES6 新增原始数据类型Symbol(Symbol函数、作为对象属性用法、作为对象属性遍历方法、实例的属性、函数上的静态方法、对象中内置Symbol值属性 、Symbol的在私有属性方法上的应用)
目录SymbolSymbol()函数作为对象属性用法作为对象属性遍历方法Object.getOwnPropertySymbols()Reflect.ownKeys()Symbol实例的属性Symbol.prototype.descriptionSymbol函数上静态方法Symbol.for()Symbol.keyFor()对象中内置Symbol值属性Symbol.hasInstanceSymbol.isConcatSpreadableSymbo..原创 2021-08-25 22:33:25 · 430 阅读 · 0 评论 -
ES6 函数扩展(参数解构、length和name属性、参数作用域、严格模式、参数的尾逗号、new.target属性、toString、...args参数)和箭头函数(this指向、其它注意点)
目录函数扩展函数参数可以通过解构赋值和可以等号赋予默认值。函数的length属性函数的name属性参数作用域...args参数new.target属性严格模式函数参数的尾逗号Function.prototype.toString()catch 命令的参数省略箭头函数this指向不可以当作构造函数不可以使用arguments对象不可以使用yield命令函数扩展函数参数可以通过解构赋值和可以等号赋予默认值。functio...原创 2021-08-24 22:11:11 · 306 阅读 · 0 评论 -
ES6 运算符扩展(指数**、链判断?.、null判断??、??=、逻辑运算符)、Iterator遍历器(原理、遍历器属性、隐性调用场合)和for...of(比较for in和set、map中的使用)
目录运算符扩展指数运算符链判断运算符链判断运算符?.写法。链判断运算符?.注意点报错场合Null 判断运算符逻辑赋值运算符多个运算符使用注意点Iterator遍历器概念原理过程Iterator遍历器属性原生具备 Iterator 接口的数据结构类数组对象部署遍历遍历器对象的 return(),throw()return方法throw方法隐性调用Symbol.iterator方法解构赋值扩展运算符yield*...原创 2021-08-27 22:06:09 · 422 阅读 · 0 评论