如何在Coffeescript中添加现有对象的方法?

Jak*_*son 0 javascript coffeescript

让我们说一个对象是由一些函数创建的:

myObject = someFunction();
Run Code Online (Sandbox Code Playgroud)

所以现在,myObject是一个对象.

如何为此对象添加新方法?以下内容在Coffeescript中不起作用:

myObject.newMethod: (something) ->
  # do stuff here
Run Code Online (Sandbox Code Playgroud)

我无法编辑对象定义someFunction(),所以我必须在事后添加方法到对象.这里的语法是什么?

Bri*_*and 5

会的myObject.newMethod = (something) ->.

在声明属性时使用冒号,在赋值属性时使用赋值运算符.声明属性的唯一时间是创建对象的时间.在JavaScript中也是如此.

var myObject = {foo: 'bar'}; 
myObject.baz = 'quux';
Run Code Online (Sandbox Code Playgroud)

最佳做法是不修改您不拥有的对象(someFunction拥有该对象).您应该创建一个将该类对象作为参数的函数.