ECMAScript позволяет определить геттеры или сеттеры следующим образом:
[текст/JavaScript]
var object = {
property: 7,
get getable() { return this.property + 1; },
set setable(x) { this.property = x / 2; }
};
Я могу работать, если я использую класс:
[текст/CoffeeScript]
"use strict"
Function::trigger = (prop, getter, setter) ->
Object.defineProperty @::,
get: getter
set: setter
class Class
property: ''
@trigger 'getable', ->
'x'
member: 0
Но что, если я хочу определить триггер для объекта напрямую - без, используя defineProperty
/- ies
. Я хочу сделать что-то вроде (это не работает):
[текст/х-псевдо-CoffeeScript]
object =
property: 'xhr'
get getable: 'x'
Он работает в JavaScript без каких-либо проблем, и я не хочу, чтобы мои скрипты регрессировали, когда я использую CoffeeScript. Нет ли способа сделать это так же комфортно, как в JavaScript/ECMAScript? Спасибо.