JavaScript pattern for multiple constructors

前端 未结 9 979
不知归路
不知归路 2020-12-07 13:12

I need different constructors for my instances. What is a common pattern for that?

9条回答
  •  佛祖请我去吃肉
    2020-12-07 13:28

    export default class Order {
    
        static fromCart(cart) {
            var newOrder = new Order();
            newOrder.items = cart.items;
            newOrder.sum = cart.sum;
    
            return newOrder;
        }
    
        static fromOrder(id, order) {
            var newOrder = new Order();
            newOrder.id = id;
            newOrder.items = order.items;
            newOrder.sum = order.sum;
    
            return newOrder;
        }
    }
    

    Useges:

      var newOrder = Order.fromCart(cart)
      var newOrder = Order.fromOrder(id, oldOrder)
    

提交回复
热议问题