es6 变量的解构赋值,es5实现解构赋值

  es6 变量的解构赋值,es5实现解构赋值

  这篇文章带给你一些关于javascript的知识。ES6允许你按照一定的模式从数组或者对象中提取值,然后给变量赋值,这就是所谓的解构。只要等号两边的模式相同,左边的变量就会被赋予相应的值。这种写法属于“模式匹配”。统称为“解构作业”。让我们来看看吧。希望对大家有帮助。

  【相关推荐:javascript视频教程,web前端】

  

数组的解构赋值

  设[a,B,c]=[1,2,3]同时定义多个变量,A匹配1,B匹配2,C匹配3。

  解构允许指定默认值,即左边的变量指定默认值,右边没有对应的值,那么会先输出默认值。

  设[x,y= b]=[a]/x= a ,y= b x匹配字符A,y的默认值是字符b,如果右边没有对应的,默认输出字符b。

  

对象的解构赋值

  解构不仅可以用于数组,也可以用于对象。对象解构和数组之间有一个重要的区别。数组的元素按顺序排列,变量的值由其位置决定;但是,对象的属性没有顺序,变量必须与属性同名才能获得正确的值。

  让{

  姓名,

  年龄,

  爱好:[一,二]

  }={

  姓名:“白马寺郎”,

  年龄:21,

  爱好:[骑马,动漫]

  }比如我取age的值,改成abc的值,因为和对象中的属性名不对应,不能相应赋值,所以是未定义的。

  

解构赋值的运用

  

交换变量的值

  想办法正常交换变量值。

  设x=1,

  y=2,

  温度=0

  温度=x //x=1=温度

  x=y //y=2=x

  y=温度//温度=1=y

  console.log(x=,x)

  Console.log(y=,y)使用解构赋值来交换变量。

  设x=1;

  设y=2;

  [x,y]=[y,x];

  console.log(x=,x)

  Console.log(y=,y)以这种方式交换变量x和y的值。文字不仅简洁,而且易读,语义非常清晰。

  

从函数返回多个值

  函数只能返回一个值。如果要返回多个值,只能在数组或对象中返回。有了解构赋值,就变得更方便了。

  提取爱好数组中的第二个值

  函数getArray() {

  返回{

  姓名: kongsam ,

  年龄:21,

  爱好:[骑行,动漫,羽毛球]

  }

  }

  Console.log(getArray()。名称“likes”get array()。爱好[1]) //动漫使用解构赋值,得到爱好数组中的第二个值。

  让{姓名,年龄,爱好}=getArray()

  Console.log(name likes 爱好[1]) //anime:

遍历Map结构

   For for.在循环遍历中,被遍历的值是一个数组,而解构赋值可以对数组进行“模式匹配”,这样可以快速取出键值。

  为.具有解构赋值的循环遍历非常便于获得键值。

  for (let [key,value] of map) {

  console.log(key=,key)

  console.log(value=,value)

  }

  

函数参数的解构赋值

   //让{ x=10,y=5 }={}

  函数f({ x=10,y=5 }={}) {

  return [x,y]

  }

  console.log(f({ x: 100,y:50 })//[100,50]

  console . log(f({ x:3 })//[3,5]

  console . log(f({ })//[10,5]

  Console.log(f()) //[10,5]可以向函数的参数传入对象,并且可以为传入的对象设置默认值。会被解构成函数来使用,你也可以这么理解。

  函数f(x=10,y=5) {

  return [x,y]

  }

  console.log(f(100,50)) //[100,50]

  console.log(f(3)) //[3,5]

  console.log(f()) //[10,5]的写法不同也会导致不同的结果。

  函数f({ x,y }={ x: 10,y: 5 }) {

  return [x,y]

  }

  console.log(f({ x: 100,y:50 })//[100,50]

  console . log(f({ x:3 })//[3,未定义]

  console . log(f({ })//[未定义,未定义]

  Console.log(f()) //[10,5]第三次和第四次打印将没有定义。这是因为传入的X或Y与object属性中的值不对应,匹配不成功。

  【相关推荐:javascript视频教程,web前端】以上是掌握ES6解构作业原理及应用的详细内容。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: