А можно и по-извращаться.)
Например мне нравится такой милый ленивый геттер, который заодно ещё и биндит this к функции, 2 в 1

 : 
var obj = {
  bar: false,
  get foo(){
    this.bar = 2;
    delete this.foo;
    return this.foo = () => {
      this.bar *= 2;
    }
  }
}
setTimeout(obj.foo, 100);
setTimeout(()=>console.log(obj.bar), 200);
оно конечно надо не всегда, но когда совпадает - приятно.)