请考虑以下代码:
const obj = {
a: 'foo',
b: function () { return this.a }
}
console.log(obj.a) // 'foo'
console.log(obj.b()) // 'foo'
const { a, b } = obj
console.log(a) // 'foo'
console.log(b()) // undefined
当我破坏obj
时,b()
无法再访问a
。
如何保留obj
范围并允许b()
在解构时访问其兄弟姐妹的属性/方法?
答案 0 :(得分:0)
@ dayan-moreno-leon发布了一个不错的选择。
但我只是注意到我只需使用始终静态调用即可处理:
const obj = {
a: 'foo',
b: function () { return obj.a } //HERE! :D
}
const { a, b } = obj
console.log(obj.a) // 'foo'
console.log(obj.b()) // 'foo'
console.log(a) // 'foo'
console.log(b()) // 'foo'