let { foo: baz } = { foo: 'aaa', bar: 'bbb' }; baz // "aaa" foo // error: foo is not defined
对象的解构赋值的内部机制,是先找到同名属性,然后再赋给对应的变量。真正被赋值的是后者,而不是前者。
找到同名属性foo,再把'aaa'赋给'baz'。
foo
是匹配的模式,baz
才是变量。真正被赋值的是变量baz
,而不是模式foo
。
let { foo: baz } = { foo: 'aaa', bar: 'bbb' }; baz // "aaa" foo // error: foo is not defined
对象的解构赋值的内部机制,是先找到同名属性,然后再赋给对应的变量。真正被赋值的是后者,而不是前者。
找到同名属性foo,再把'aaa'赋给'baz'。
foo
是匹配的模式,baz
才是变量。真正被赋值的是变量baz
,而不是模式foo
。
转载于:https://www.cnblogs.com/sherrycat/p/11164857.html