es6变量声明方式(ES6解构赋值的运用)
es6变量声明方式(ES6解构赋值的运用)解构赋值对提取JSON数据尤其有用//参数是一组有次序的值(数组) function f([x y z]){...} f([1 2 3]); //参数是一组无次序的值(对象) function f({x y z}){...} f({z:3 y:2 x:1}); 4.提取JSON数据函数默认只能返回一个值,如果要返回多个值,只能将他们放在数组或者对象里面function demo(){ return [1 2 3]; } var [a b c] = demo(); //返回一个对象 function demo2(){ return { a:1 b:2 } } var {a b} = demo2(); 3.函数定义参数解构赋值可以很方便将一组参数与变量名对应起来
es6
ES6解构赋值的运用frontpage
1.交换变量的值
[x y] = [y x]
2.函数返回多个值
函数默认只能返回一个值,如果要返回多个值,只能将他们放在数组或者对象里面
function demo(){ return [1 2 3]; } var [a b c] = demo(); //返回一个对象 function demo2(){ return { a:1 b:2 } } var {a b} = demo2();
3.函数定义参数
解构赋值可以很方便将一组参数与变量名对应起来
//参数是一组有次序的值(数组) function f([x y z]){...} f([1 2 3]); //参数是一组无次序的值(对象) function f({x y z}){...} f({z:3 y:2 x:1});
4.提取JSON数据
解构赋值对提取JSON数据尤其有用
var jsonData = { id:42 status:"ok" data:[111 222] }; let {id status data:number} = jsonData; console.log(id status number); //42 "ok" [111 222]
5.函数参数默认值
指定参数的默认值,就避免了在函数内部再写 `var foo = config.foo || 'default foo';`
vue.ajax = function(url { async = true beforeSend = function(){} cache = true complete = function(){} crossDomain = false global = true // ... more }){ //...do }
6.遍历Map结构
任何部署了Iterator接口的对象,都可以用 for...of 循环遍历。Map结构原生支持Iterator接口,配合变量的解构赋值,获取键名和键值就非常方便。
var map = new Map(); map.set('first' 'hello'); map.set('second' 'world'); for(let [key value] of map){ console.log(key "is" value); } //hello //world
如果只想获取键名,或者只想获取键值,可以写成下面这样。
//获取键名 for(let [key] of map){ //... } //获取键值 for(let [ value] of map){ //... }
7.输入模块的指定方法
加载模块时,往往需要指定输入哪些方法
const {SourceMapConsumer SourceNode} = require("source-map");
ES6兼容性查询
es6兼容性