Referenz im Objektliteral
bearbeitet von
Ich hätte gern sowas wie
~~~JavaScript
let myObject = {
array1: [1, 2, 3],
array2: [2, 3, 4]
}
~~~
Nur dass sich `array2` aus `array1` berechnen soll:
~~~JavaScript
let myObject = {
array1: [1, 2, 3],
}
myObject.array2 = myObject.array1.map(x => x + 1);
~~~
Kriegt man das irgendwie in das Objektliteral mit rein?
~~~JavaScript, bad
let myObject = {
array1: [1, 2, 3],
array2: myObject.array1.map(x => x + 1)
}
~~~
ergibt: **ReferenceError: can't access lexical declaration `myObject' before initialization**{:@en}
~~~JavaScript, bad
let myObject = {
array1: [1, 2, 3],
array2: array1.map(x => x + 1)
}
~~~
ergibt: **ReferenceError: array1 is not defined**{:@en}
~~~JavaScript, bad
let myObject = {
array1: [1, 2, 3],
array2: this.array1.map(x => x + 1)
}
~~~
ergibt: **TypeError: this.array1 is undefined**{:@en}
LLAP 🖖
--
“When UX doesn’t consider *all* users, shouldn’t it be known as ‘*Some* User Experience’ or... SUX? #a11y” —[Billy Gregory](https://twitter.com/thebillygregory/status/552466012713783297)