Ember オブジェクトでこの奇妙な動作が見られます。 I という配列を変更するinstance.get
と、変更がクラスのデフォルト値に適用されます (その結果、オブジェクトの新しいインスタンスに適用されます)。
ただし、alter を計算されたプロパティとして設定すると、うまく機能します (配列の新しいインスタンスを常に送信することが保証されるため)。
これは正常な動作なのか疑問に思っています。そうあるべきではないように思えますが、いくつか誤解している可能性が非常に高いです。
以下に例を示します (この jsfiddleでライブで利用可能):
A = Ember.Object.extend
array: []
a = A.create()
a.get('array').pushObject('something') # same with push
b = A.create()
b.get('array') # ['something']
B = Ember.Object.extend
array: ( ->
[]
).property()
a = B.create()
a.get('array').pushObject('something else')
b = B.create()
b.get('array') # []