整理下之前做的有点疑惑的js基础题目和大家分享以下,如果大家觉得有用,别忘了点一下赞哦
ES6 解构赋值
const {userName :myName} = {userName:"Lydia"}
console.log(myName)//"Lydia" flag1
console.log(userName)// 报错 flag2
//ReferenceError:userName is not defined
这题的主要问题是
flag1和flag2同样是解构赋值为什么flag2会报错?
flag1处:存在一个结构赋值的过程,先找到同名属性 useName,再赋给对应的变量 myName,所以 myName 就为 “Lydia”
flag2处:这里有个我觉得比较抽象的概念,userName 是匹配的模式,也可以理解为他只是对象的键,而非变量,myName才是变量,所以外界调用变量 userName 报错。
可能我说的不清楚,我是在阮老师的《ECMAScript 6 入门》学的,我把原文截取下来放下面