Вы объявляете y не как функцию, а как результат вызова функции. Должно быть:
var foo = {
x: 1,
y: function () {
return this.x;
}
};
Или, если вы хотите просто присвоить y значение x:
var foo = {
x: 1,
y: this.x
};
ОБНОВЛЕНИЕ: невозможно сделать y синонимом x. Когда вы объявляете y - это может быть значение или функция. Это не может быть ссылкой на другое значение.