博客列表 >对象和数组的解构赋值

对象和数组的解构赋值

皮皮志
皮皮志原创
2022年11月03日 23:27:19373浏览
  1. // 数组的解构赋值
  2. // 1.正常解构 (一一对应)
  3. let [name,age] = ['张三',18]
  4. console.log(name, age)
  5. // 如果需要更新name 与 age的值 需要在前面加上;
  6. ;[name,age] = ['李四',22]
  7. console.log(name, age)
  8. console.log('--------------')
  9. // 2.解构不完全 (值数量 < 变量数量, 给默认值)
  10. let [uname,uage,gender='男'] = ['王二',24]
  11. console.log(uname,uage,gender);
  12. console.log('--------------')
  13. // 3.不完全解构 (值数量 > 变量数量, 使用...rest语法)
  14. let [user , ...arr ] = ["皮皮",22,"男"]
  15. console.log(arr);
  16. console.log(user,...arr);
  17. // 应用场景: 交接二个数
  18. let x = 10
  19. let y = 100
  20. // 通常我们交换两个数的值 是给一个中间值来进行一个交换的
  21. // let z;
  22. // z = x
  23. // x = y
  24. // y = z
  25. // console.log(x,y);
  26. ;[x,y] = [y,x]
  27. console.log(x,y);
  28. // 对象的解构赋值
  29. let {email , wechat} = {email:"1@qq.com",wechat:'qqq888'}
  30. console.log(email,wechat);
  31. // [],{},()之前分号不能省略
  32. // {}不能出现在等号左边(左值),所以加上括号()转成表达式
  33. ;({email , wechat} = {email:"1224045@qq.com",wechat:'qqq666888'})
  34. console.log(email,wechat);
  35. console.log('-----------------')
  36. // 应用场景2 : 解构传参
  37. let stu = {name:"二狗",age:18}
  38. // 直接传入一个对象 然后按照对象取值方式返回
  39. let show = function(stu){
  40. return `学生的名字叫${stu.name},他今年${stu.age}岁`
  41. }
  42. console.log(show(stu));
  43. // 使用对象解构进行简化传参 此时不需要声明
  44. show = function ({ name, age }) {
  45. // 直接把值传入
  46. return `学生的名字叫${name},他今年${age}岁`
  47. }
  48. stu = { name: '狗蛋', age: '16' }
  49. console.log(show(stu))
  50. //访问器
  51. let person ={
  52. name:"阿狗",
  53. age : 22,
  54. get(){
  55. return `用户名是${this.name},他的年龄是 ${this.age}岁`
  56. },
  57. set(name){
  58. this.name = name
  59. }
  60. }
  61. console.log(person.get());
  62. person.set("狗蛋")
  63. console.log(person.get());
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议