私は jQuery.extend を使用して、このようなデフォルトのプロパティを置き換えてきました
var Car = function(options){
var defaultOptions = {
color: "hotpink",
seats: {
material: "fur",
color: "black",
count: 4
},
wheels: 4
}
this.options = $.extend(true,{},defaultOptions,options);
}
var myCar = new Car({
color: "blue",
seats: {
count: 2,
material: "leather"
}
});
alert(myCar.options.color); // "blue"
alert(myCar.options.seats.color); // "black"
alert(myCar.options.seats.count); // 2
うまく機能しますが、ライブラリなしで同様の結果を達成するための最良の方法を知りたいです。関数でいくつかのデフォルト設定を定義し、それらを引数の設定に置き換えたいだけです。それを行うたびにライブラリを含めるのはやり過ぎです。