このようにしたほうがいいです。
var Item = Backbone.Model.extend({
defaults: {itemCode: -1}
});
itemCode は、アイテムの明確な必要性です。だからデフォルトにします。したがって、モデル内にいくつかの関数を記述するItem
と、常に itemCode があり、それに対してチェックできます。また、コレクションのためにサーバーからデータをフェッチするときに、その項目に itemCode がない場合、または Item を初期化するときに itemCode の設定に失敗した場合は、常にデフォルトになります。
たとえば、コレクションに新しいアイテムを追加する場合。このようにできます。
collection.push(new Item({name: "Item 56", price: 1500}));
ここでは毎回 itemCode: -1 を渡す必要はありません。これはデフォルトになり、保存時にサーバーで itemCode を確認し、-1 の場合、新しいアイテムの追加と見なすことができます。
しかし、あなたがしたようにそれを持っていることは何も悪いことではありません. アプリを拡張するときに、そのモデルに関数を追加することは間違いありません。