JavaScript中解构的使用示例

  介绍

小编给大家分享一下JavaScript中解构的使用示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

JavaScript中5种有趣的解构用法。

1。交换变量

通常交换两个变量的方法需要一个额外的临时变量,来看看例子:

let  a =, 1;   let  b =, 2;   let 温度;      时间=temp ;;   时间=a  b;   时间=b 温度;//,,,=祝辞;2   b;,//,=祝辞,1

<代码>温度> 的值。然后把b <代码> 的值赋值给<代码> ,接着将<代码>温度>

如果使用解构的方式会更简单,不需要什么鬼的<代码>温度> let  a =, 1;   let  b =, 2;      [a, b],=, [b, a];//,,,=祝辞;2   b;,//,=祝辞,1

<代码> [a, b]=[b]> [b]> (2,1)> 2> ,1被赋值给了<代码>

虽然这种方式也创建了临时数组,但这种方式给看起来至少更简洁,使用解构咱们还可以交换<代码> 2个以上的变量。

let  zero =, 2;   let  one =, 1;   let  two =, 0;      [0,,1,,2),=,(两个,,,,0);      零,,//,=在0//,,,,=在1   两个,,,//,=祝辞,2

2。访问数组中元素

有种场景,咱们可能有一个为空的项数组。并且希望访问数组的第一个,第二个或第n个项,但如果该项不存在,则使用指定默认值。

通常会使用数组的长度<代码> 属性来判断

const  colors =, [];      let  firstColor =, & # 39;白色# 39;;   if  (colors.length 祝辞,0),{=,firstColor 颜色[0];   }      firstColor;,//,=祝辞,& # 39;白色# 39;

使用数组解构,可以更简洁的实现同样的效果:

const  colors =, [];      const  [firstColor =, & # 39;白色# 39;],=,颜色;      firstColor;,//,=祝辞,& # 39;白色# 39;

<代码> const [firstColor=& # 39;白色# 39;]=> 数颜色组的第一个元素赋给<代码> firstColor> 0 处没有任何元素,则分配”怀特<代码> “默认值。

当然还可以更灵活,如果只想访问第二个元素,可以这么做。

const  colors =, [];      const  [, secondColor =, & # 39;黑色# 39;],=,颜色;      secondColor;,//,=祝辞,& # 39;黑色# 39;

注意解构左侧的逗号:它表示忽略第一个元素,<代码> secondColor> 颜色数组中索引为<代码> 1>

3。不可变操作

当我开始使用<代码>反应和<代码>回来的>

不变性要求不能改变原始对象。幸运的是,解构可以以不可变的方式轻松实现某些操作。

const  numbers =, (1, 2, 3];      const  [,……fooNumbers],=,数字;      fooNumbers;,//,=祝辞,(2,3)   数字,,//,=祝辞,[1,2,3]

解构<代码> [,……fooNumbers]=> fooNumbers ,<代码> fooNumbers> 元素,除了第一个元素。

<代码> 数数字组没有发生变化,保持操作不变性。

以同样不可变的方式,可以从对象中删除属性,接着试着从对象大<代码> 中删除foo <代码> 属性:

const  big =, {   ,foo: & # 39; value  foo # 39;   ,酒吧:& # 39;value 酒吧# 39;   };      const  {foo,大敌;……small },=,大;      小;,//,=祝辞,{,酒吧:& # 39;value 酒吧# 39;,}   大,,//,=祝辞,{foo:大敌;& # 39;value  foo # 39;,,酒吧:,& # 39;value 酒吧# 39;,}

4。解构iterable

在前面几个例子中,对数组使用了解构,但是咱们可以对任何实现可迭代协议(iterable协议)的对象进行解构。

JavaScript中解构的使用示例