ES6走一波 变量结构赋值】的更多相关文章

Destructuring  变量的解构赋值 是一种模式匹配 ES6我关注点之一是用途  能否举些好例子是检验学习到位的方法之一 交换变量值 函数返回多个值 函数入参为对象.数组,内部使用更简洁 意义: 减少冗余代码 let {a, b} = {'', false} 对同一对象的多次属性获取的优化写法很简洁 let {sin, PI} = Math 变量解构赋值的过程是将值遍历的过程(等号右边的值是一个可遍历解构(实现了Iterator)) 默认值得生效条件: 值严格等于 undefined 捕…
小编的上一篇文章更新了es6中关于变量定义的问题,这篇文章继续来一些实用的干货,关于数组.对象的赋值问题.特别是在前后端合作项目的时候,对后端数据的拆分,还有就是对于函数的默认值的惰性赋值问题.看完下面的,相信会忍不住对es6伸出大拇指.真是太方便了. 一.数组的结构赋值1.es5语法 1 let arr = [1,2,3] 2 let a = arr[0] 3 let b = arr[1] 4 let c = arr[2] 5 console.log(a,b,c) // 1 2 3 2.es6…
ES6模块设计思想:  尽量静态化,使得编译时就能确定模块的依赖关系,输入.输出的变量.可做静态优化. ES6模块不是对象,而是通过export命令显示指定输出的代码,再通过import命令输入 export命令可出现在模块文件的任何位置,只要处于顶层即可 export default 为模块指定默认输出   import不要大括号 export export default 方法输出模块,import时可方便指定任意名字(不需要“大括号”语法) import 文件路径(绝对.相对)js后缀可省…
ES6字符串扩展: 处理大码点字符 字符的Unicode表示法 \uxxxx表示一个字符串,超出 \u0000 ~ \uffff范围,必须用两个双字节形式表示. ES6改进为 将码点放到大括号 可正确解读 codePointAt() JS字符以 UTF-16 格式存储,每个字符固定为2个字节.需要4个字节的字符,js认为它们是两个字符. codePointAt可正确处理 4 字节存储的字符 由4字节和2字节组成的字符串中 通过for ... of 循环可在第二次拿到2字节字符 codePoint…
Iterator---> for ... of 循环 Generator函数原生具有 Iterator接口,所以可采用数组的形式解构赋值…
Array flat 数组实例的扁平化方法(浏览器支持不佳) 建议使用 lodash的 flatten…
Proxy:像拦截器,对目标对象修改等进行拦截,是一种元编程(meta programming),即修改JS语言本身. //生成proxy实例,两个参数都是对象,targetObj是要拦截的目标对象,handlerObj参数用来定制拦截行为 var proxy = new Proxy(targetObj, handlerObj) Reflect:将Object对象一些明显的语言内部的方法,放到Reflect对象上. 修改某些Object的方法使返回更合理 1.规范语言 2.是Proxy对象的修改…
Generator 函数的异步应用 JS异步编程 callback Promise(解决回调地狱) 事件 发布订阅 generator Thunk函数  屁股函数 两次高阶调用的函数 第一次调用的入参作为最终被执行的函数fn,第二次调用的入参解构后和第三次调用的入参(cb)作为最终函数的参数…
变量的结构赋值用户很多 1.交换变量的值 let x = 1; let y = 2; [x,y] = [y,x] 上面的代码交换变量x和变量y的值,这样的写法不仅简洁,易读,语义非常清晰 2.从函数返回多个值 函数只能返回一个值,如果要返回多个值,只能讲他们放在数组或者对象里返回.了解解构赋值,取值这些值非常方便 //返回一个数组 function example(){ return [1,2,3]; } let [a,b,c] = example();[a,b,c]; //[1,2,3] //…
变量 var 1.可以重复声明. 无法限制修改-, 没有块级作用域 let不能重复声明,变量-可以修改,块级作const不能重复声明,常量-不能修改,块级作 函数——箭头函数function 名字(){}()=>{}1.如果只有一个参数,()可以省2.如果只有一个return,{}可以省 ()——只有一个参数{}——只有一个return 1 <script> 2 /*原来的写法*/ 3 let arr = [1, 2, 3, 10, 50, 21, 52] 4 arr.sort(func…