前言:
今天同学们对“阮一峰 sourcemap”大致比较关心,朋友们都想要了解一些“阮一峰 sourcemap”的相关内容。那么小编在网络上搜集了一些对于“阮一峰 sourcemap””的相关内容,希望小伙伴们能喜欢,大家快快来了解一下吧!ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构
从前我们要获取一个数组中的某个值赋值给一个变量我们是这样的:
let arr = [1,2,3];
let a = arr[0],b=arr[1],c=arr[2];
现在我们可以这样:
let [a,b,c] = [1,2,3]
上面代码表示,可以从数组中提取值,按照对应位置,对变量赋值。
本质上,这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值。
let [foo, [[bar], baz]] = [1, [[2], 3]];
let [head, ...tail] = [1, 2, 3, 4];
对象的解构赋值:
从前我们要将一个对象的某个属性值赋值给一个变量:
let people = {name:'vic', age:'14'};
let name =people.name;
let age = people.age;
现在我们可以这样:
let {name,age } = people
数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。
let { bar, foo } = { foo: "aaa", bar: "bbb" };
let { baz } = { foo: "aaa", bar: "bbb" };
用途:
1.交换变量的值
let a=1,b=2;
[a,b] = [b,a];
2.函数参数定义
function f({x,y,z}) {.....}
f({z:3,y:2,x:1}) 调用函数时无需关系参数顺序,当然这里其实是传了一个对象,然后函数只是取出了对象中它需要的对应的属性。
3.提取JSON数据(这个比较常用)
let jsonData = { id:1,name:'vic',age:15}
let {id,name,age} = jsonData;
4.设置函数参数默认值
function f({x=1,y=2,z=3}){}
5.遍历Map结构
for (let [key, value] of map) { console.log(key + " is " + value); }
for (let [key] of map) { // ... }
for (let [,value] of map) { // ... }
6.输入模块的指定方法
const { SourceMapConsumer, SourceNode } = require("source-map"); 获取source-map中的SourceMapConsumer,SourceNode 两个对象
更多具体内容可以查看阮一峰的《ECMAScript 6 入门》
标签: #阮一峰 sourcemap