Почему значение NaN

Почему тут значение NaN??

var worker = {
name:'Sergey',
salary: 15,
bonus: 100,
sex: 'man',
total: this.salary this.bonus
}

alert(worker.total);

В шарпах так работает)

Потому что тут через this ты обращаешься к глобальному контексту то есть window или undefined. Можешь попробовать сделать там метод гееттер который бы возвращал бы тебе эту сумму и this брал бы значения именно из объекта, вот так:

var worker = {
name:'Sergey',
salary: 15,
bonus: 100,
sex: 'man',
get
total() {
return this.salary this.bonus;
}
}

alert(worker.total);