话说刚接触这个概念的时候是在学习小程序云开发,然后云函数里定义的,一看当时有点懵,并不知道是干啥用的,真是书到用时方恨少啊,需要会的知识还是蛮多的。这一节的学习目标是跟着菜鸟教程仔仔细细的学一下解构赋值,真正掌握了。菜鸟教程-解构赋值
数组的解构赋值
这样可以连续定义三个变量,分别为a、b、c,通过这个语法之后,右边数组对应位置上的值会依次赋值给变量,所以输出结果是a=1,b=2,c=3
还有比较神奇的运算符…我第一次看到这个运算符还以为是写错了,其实也是一种新的语法,按字面理解是省略的意思
其实我觉得理解为省略也没啥不妥的,a=1,剩下的都赋值给b么,所以b=[2,3]
当然了教程中还有各种奇怪的解构,我感觉那些不利于代码的可读,还是尽量别学习一些不好的习惯
对象模型的解构
在学习小程序云开发部分,第一段云函数的示例代码直接让我懵逼了
const cloud = require('wx-server-sdk') exports.main = async (event, context) => { let { userInfo, a, b} = event let { OPENID, APPID } = cloud.getWXContext() // 这里获取到的 openId 和 appId 是可信的 let sum = a + b return { OPENID, APPID, sum } }
有没有完全看不懂的感觉,官方居然号称是非常容易,但是对于菜鸟的我来说真的是太难了。
let { userInfo, a, b} = event let { OPENID, APPID } = cloud.getWXContext()
这两行其实就是对象解构,将event中对应的值赋值给左边,这样我们就明白它是赋值的意思,和我们直接赋值是一个效果,如a=1;
至于教程里讲的那些,作为好学的你倒是可以记忆,像我这种实用主义者,我只需知道它是干什么用的,最佳实践就OK啦。