2014-10-16 3 views
0

Допустим, объект создается с помощью некоторой функции:Как добавить метод к существующему объекту в Coffeescript?

myObject = someFunction(); 

Так что теперь, myObject является объектом.

Как добавить новый метод к этому объекту? Ниже не работает в CoffeeScript:

myObject.newMethod: (something) -> 
    # do stuff here 

Я не могу отредактировать определение объекта в someFunction(), так что я должен добавить метод к объекту после факта. Какой здесь синтаксис?

ответ

5

Это будет myObject.newMethod = (something) ->.

Вы используете двоеточие, объявляя свойство, и оператор присваивания при назначении свойства. Единственный раз, когда вы объявляете свойство, - это когда объект создается. Это также верно в JavaScript.

var myObject = {foo: 'bar'}; 
myObject.baz = 'quux'; 

Лучше всего, чтобы не изменять объекты, которые не принадлежат (SomeFunction владеет этим объектом). Вместо этого вы должны создать функцию, которая принимает такой объект в качестве аргумента.