Es geht auch ohne this:
const array1 = [1,2,3];
let myObject = {
array1,
array2: array1.map(x => x + 1)
};
Die Semantik ist ein bißchen anders als in deiner Variante: array2 wird hier einmalig bei der Objekterzeugung berechnet und nicht bei jedem Aufruf von foo. Das führt auch dazu, dass array2 hier nicht automatisch (lies: aus Versehen) seinen Wert ändert, wenn sich array2 ändern sollte.