私はいくつかの Backbone.js チュートリアルを読んでフォローしてきましたが、モデルのデフォルトに関しては、人々は 2 つの方法のいずれかを行っているようです。
最初の方法 - デフォルトはオブジェクトです
最初の方法は、デフォルトをオブジェクトとして宣言することです。
my_model = Backbone.Model.extend({
defaults: {
title: 'Default Title'
}
});
これは私にとって最も理にかなっています。デフォルトがオブジェクトであり、正常に機能することがすぐにわかります。
第 2 の方法 - デフォルトは機能です
私が見た 2 番目の方法は、たとえば、デフォルトが関数として宣言されていることです。
my_model = Backbone.Model.extend({
defaults: function() {
return {
title: 'Default Title'
}
}
});
この関数は明らかにオブジェクトを返すことになり、私にはほとんど意味がありません (最終的に関数に何かを渡したい場合を除きます。
私の質問
私の質問は、関数の方法を使用してパラメーターを渡さないと仮定して、一方を他方よりも使用する利点があるかどうかです。匿名関数を呼び出すことによるわずかなオーバーヘッドがあるかもしれませんが、より多くの情報に基づいた意見が欲しいと思っています。