将复杂的创建过程从构造函数分离出来,然后就可以在不改变原有构造函数的基础上,创建各种各样的对象。下面通过代码模拟一下,建造者模式可以直接通过对象
传递参数即可
function getPhone({
size,
type = "IOS",
screen = "OLED",
discount = 0.8,
} = {}) {
console.log(size);
console.log(type);
console.log(screen);
}
这样的写法很方便设置默认值,并且参数的顺序也不再重要