有学有练才叫学习:学而不思则罔,思而不学则殆:学而不习,纸上谈兵,习而不进,画地为牢!

es6数组解构(也叫模式匹配)实现方式

javascript 炮渣日记 3周前 (11-08) 15次浏览 已收录 0个评论 扫描二维码
定义:按一定的模式,从数组和对象中提取数据,对变量进行赋值,称为解构;

var a=1;
var b=2;
var c=3;
//演变成简洁一点的:
var a=1,b=2,c=3;
//演变成模式匹配:
var [a,b,c]=[1,2,3]; //模式匹配,左边变量 右边赋值;

一些例子:

var [a,b,c]=[1,,3]; //b的值是undefined


let [x=4,b,c]=[1,2,3]; //x=1;
x=1 || 4; //x如果有设置值,就是1 如果没有设置值就是默认值4;
let [x=4,b,c]=[,2,3]; //x=4;

let [x=1,y=2,z=3]=[5]; //xyz 523;

let [x=1]=[undefined]; //成员等于undefined时,默认值会生效 x为1;

let [x=1]=[null]; //x=null 除了undefined,其他的都是对应的值

function f(){
 return 'abs';
}
let [h=f()]=[1]; //h=1 获取顺序,f()没有执行
let [h=f()]=[]; // h=abs


//坑
let [x=1,y=x]=[]; //xy 11;
let [x=1,y=x]=[2]; //xy 22
let [x=1,y=x]=[1,2]; //xy 12
let [x=y,y=1]=[]; //xy error 并没有声明
喜欢 (0)
炮渣日记
关于作者:
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址