
ES6
文章平均质量分 90
Web小白菜~
资深牛马,实力不详,遇强则强。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
es6 Reflect
Reflect.getOwnPropertyDescriptor和Object.getOwnPropertyDescriptor的一个区别是,如果第一个参数不是对象,Object.getOwnPropertyDescriptor(1, ‘foo’)不报错,返回undefined,而Reflect.getOwnPropertyDescriptor(1, ‘foo’)会抛出错误,表示参数非法。未来,后者会被逐渐废除,请从现在开始就使用Reflect.defineProperty代替它。该方法返回一个布尔值。原创 2024-02-28 14:32:14 · 941 阅读 · 0 评论 -
es6 Promise
es6 PromisePromise的设计初衷Promise含义Promise状态Promise特点Promise缺点Promise基本用法then()catch()finally()Promise.all()Promise.race()Promise的设计初衷我们日常开发中,经常需要用到ajax请求数据,拿到数据后,再进行一些处理。可有一次,你需要用ajax进行多次请求,而且,每次请求都依赖上一次请求返回的数据来作为参数,然后继续发出请求——>然后你把代码写的稀碎: $.ajax({原创 2020-06-23 11:46:41 · 493 阅读 · 0 评论 -
es6 Generator函数
Generator函数声明Generator函数调用Generator函数yield 表达式next()声明Generator函数Generator函数,又叫做生成器函数 //声明一个demo的Generator函数 function* demo(value){ yield `this is ${value}`; yield `这是一个demo`; }看起来和普通函数没什么两样,但是他们有两个重要的区别:普通函数用 function 来声明,Generator函数用 funct原创 2020-06-22 12:49:41 · 347 阅读 · 0 评论 -
es6 for...of循环 和 Iterator
文章目录传统遍历的方式以及缺陷for循环forEach循环for...in循环for...ofIterator原理Iterator 的遍历过程传统遍历的方式以及缺陷for循环 let arr = [1,2,3,4,5,6]; for(let i=0;i<arr.length;i++){ ..... }缺陷:代码不够简洁forEach循环 let arr = [1,2,3,4,5,6]; arr.forEach(function(value,index){ ..... })原创 2020-06-04 11:25:47 · 570 阅读 · 0 评论 -
es6 Proxy代理
Proxy代理Proxy的实现set()、get()ownKeys()has()apply()Proxy.revocable() `取消代理`Proxy的实现 //定义一个对象person let person = {"name":"小A"}; //创建一个代理对象pro,代理person的读写操作 let pro = new Proxy(person,{ get:function(target,property){ return "大B" } }); pro.name; /原创 2020-06-02 23:18:19 · 628 阅读 · 0 评论 -
es6 Set 和 Map 数据结构
Set 和 Map 数据结构SetSet 实例的属性及方法Set 数组去重WeakSetMapSetSet结构的成员值是没用重复的,每个值都是唯一的。Set本身就是一个构造函数,可以理解为一个类,使用的时候要用new来创建一个实例。 let s = new Set(); console.log(s); // Set{}Set结构会自动忽略相同的值,只会保留一个相同的值。 l...原创 2019-05-24 11:37:47 · 1093 阅读 · 1 评论 -
es6 Symbol
SymbolJavaScript中的数据类型Symbol用作属性名的 Symbol属性名的遍历getOwnPropertySymbols()Reflect.ownKeys()Symbol.for()Symbol.keyFor()JavaScript中的数据类型String 字符串类型Number 数字类型Object 对象类型Boolean 布尔值类型Null 空值Undefin...原创 2019-05-16 17:13:17 · 781 阅读 · 0 评论 -
es6 函数的扩展
函数的扩展传统函数参数默认值es6函数参数默认值rest 参数箭头函数箭头函数的使用注意点传统函数参数默认值运算符 || 左侧为true,直接返回左侧的值,否则返回右侧的值 function fn(a,b) { let num = a || 11 let str = b || "bbbbb" }es6函数参数默认值 function fn(a='aaa',b=22) {...原创 2019-05-16 16:27:43 · 859 阅读 · 0 评论 -
es6 数组的扩展
数组的扩展Array.from()Array.of()扩展运算符扩展运算符的应用find()findIndex()fill()entries()keys()values()includes()Array.from()Array.from()用于将类似数组的对象(array-like object)和可遍历(iterable)的对象(包括 ES6 新增的数据结构 Set 和 Map)转为真正的...原创 2019-05-07 19:12:06 · 1073 阅读 · 0 评论 -
es6 数值的扩展
数值的扩展Number.isNaN()Number.isFinite()Number.parseInt()Number.parseFloat()Number.isInteger()Number.EPSILONMath...指数运算符`(**)`Number.isNaN()传统的isNaN()函数会把非数值的参数转化成数值再进行判断 isNaN('str'); // true // ...原创 2019-05-07 16:59:21 · 1062 阅读 · 0 评论 -
es6 对象的扩展
对象的扩展传统对象属性写法es6对象属性写法属性名表达式属性的可枚举性和遍历`可枚举型`四个操作会忽略enumerable为false的属性:`属性的遍历`以上属性遍历的次序规则Object. is()Object.assign()Object.setPrototypeOf()Object.getPrototypeOf()Object.keys()Object.values()Object.ent...原创 2019-05-14 19:40:01 · 1096 阅读 · 0 评论 -
es6 字符串的扩展
字符串的扩展传统的字符串拼接模板字符串标签模板ES6字符串String类扩展函数传统的字符串拼接 var str1 = "小白"; var str2 = "hello"; var str3 = "world"; console.log(str1 + "说:" + str2 +","+ str3); //小白说:hello,world普通字符串的拼接不包含空格和换行 var st...原创 2019-05-06 19:30:07 · 859 阅读 · 0 评论 -
es6 解构赋值
ES6解构赋值传统的变量赋值:变量的解构赋值:数组的解构赋值:对象的解构赋值:`(和数组解构赋值类似)`字符串的解构赋值:数值和布尔值的解构赋值:`解构赋值时,如果等号右边是数值和布尔值,则会先转为对象。`函数参数的解构赋值:变量的解构赋值用途:ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。传统的变量赋值: var arr = [1...原创 2019-05-05 17:45:39 · 1674 阅读 · 0 评论 -
es6 let和const
ES6知识点let与constlet与constlet是更完美的var,不是全局变量,具有块级作用域,大多数情况不会发生变量提升。const定义常量值,不能够重新赋值,如果一个值是一个对象,可以改变对象里边的属性值。let和const都在声明所在的块级作用域内有效let 定义的变量没有变量提升(没有预解释)let 定义的变量不能重复定义(不管是函数还是let/const定义的变量)...原创 2019-05-04 19:25:58 · 897 阅读 · 0 评论