随笔分类 - ES6
摘要:迭代器 Symbol.iterator 要想能够被for...of正常遍历的,都需要实现一个遍历器Iterator。而数组,Set和Map结构,早就内置好了遍历器Iterator(又叫迭代器),它们的原型中都有一个Symbol.iterator方法;而Object对象并没有实现这个接口,使得它无法被
阅读全文
摘要:1、代理Proxy 作用:将对象交给Proxy代理,编写处理函数,来拦截目标对象的操作。 2、使用 Proxy中有两个参数,一个是被搭理的对象,一个是要进行的一些操作(使用花括号)。 3、几个API的介绍 get(target、property) 方法:获取对象的属性前进行的一些操作。 set(ta
阅读全文
摘要:1、六大数据类型 String字符串类型、Number数字类型、Object对象类型、Boolean布尔值类型、Null空值、Undefined 未定义 symbol出现原因: 解决对象的属性名冲突 使用: 1 // 定义一个symbol类型的变量 2 let symbol = Symbol();
阅读全文
摘要:1、Set 一个新的数据结构,类似于数组 跟数组的区别:Set里面的值不会重复 用法 let set = new Set([1,2,3,4,5,6]); API 1、增加 add() set.add(80); 2、删除 delete() set.delete(32); 3、判断是否存在 has()
阅读全文
摘要:出现 现在的web系统越来越庞大、复杂,需要团队分工,多人协作,大型系统的javascript文件经常存在复杂的依赖关系, 后期的维护成本会越来越高。 JavaScript模块化正式为了解决这一需求而诞生。 因为目前浏览器不支持ES6模块化语法,所以需要再node里进行 1、通过babel编译js代
阅读全文
摘要:callback 解决异步问题的最原始的方式:回调函数 为每一个需要调取的数据都加上callback,进行回调 4 回调函数的实现:一层一层的套! 特点 1、繁琐 一层一层的包裹 2、出现回调地域 解决办法 1、使用promise和async/await(推荐!) 2、使用生成器generator
阅读全文
摘要:Promise 为避免回调函数出现的回调地域的问题,promise应景而生。 使用 let pro = new Promise((resolve,reject)=>{ //异步操作在此处 }) **参数说明** resolve 标识执行成功 reject 标识执行失败。 成功后: pro.then(
阅读全文
摘要:async/await 相对来说最简单的写法,async和await 这一堆组合最好用。 **写法** 跟generator生成器写法类似, 在函数声明的时候 async function 函数名(){},函数体内 在对象前使用await. 实例 async function initData()
阅读全文
摘要:Generator 1、 生成方式: function * fn1(){ let obj = yield '第一条测试数据' let obj1 = yield '第二条数据' return '测试完over!' } fn1.next() //使用 传递参数 fn1.next(name:'qiang'
阅读全文
摘要:在es5的基础上,es6添加了一些新的方法具体如下: 1、数值方法 1、Number.isNaN() ; 本来是在window下的 判断是否是非数字的方法,转变到Number下后,效果也是一样, 不过如果是字符串的话 会先转化成number类型 也就是转换成了NaN,再判断,当然返回的就是false
阅读全文
摘要:1、箭头函数 箭头函数的表达式比普通函数更简洁! (参数1, 参数2, …, 参数N) ⇒ { 函数声明 } 基础版本: var sum1 = (a, b) => { console.log(a + b); } sum1(3, 4) 进阶版本: 2、rest函数 rest中文意思:剩下的部分 fun
阅读全文
摘要:结构赋值是es6中的新写法,方便快捷! 结构赋值:从数组和对象中提取值,对变量进行赋值。 1、数组的结构赋值 1、可以嵌套 2、可以赋初始值 3、左右格式保持一致 // let [a,b,c] = [1,4,3]; // console.log(a,c,b) // let [a,b,[c,d],e]
阅读全文
摘要:在es5时代声明一个变量或者常量只有var,在es6的时候就出现了变量(let)和常量(const)的具体细分。 1、变量 用let进行声明变量,更严谨更好使。 特点:1、不能进行变量提升 2、不能重复定义同一个变量 3、不能定义函数的参数。 4、块级作用域 `//1、不能重复声明同一个变量名 //
阅读全文

浙公网安备 33010602011771号