How to overload constructor of an Object in JS (Javascript)?

前端 未结 6 694
小鲜肉
小鲜肉 2021-02-01 01:19

Can I do something like?:

function User(form) {
    this._username = form.username.value;
    this._password = form.password.value;
    this._surname = form.surn         


        
6条回答
  •  刺人心
    刺人心 (楼主)
    2021-02-01 02:04

    You can create constructor using ES6 features as below.

    class Person {
      constructor(name, surname) {
        if (typeof name === "object") {
          this.name = name.name;
          this.surname = name.surname;
        } else {
          this.name = name;
          this.surname = surname;
        }
      }
    }
    
    const person1 = new Person("Rufat", "Gulabli");
    const person2 = new Person({ name: "Rufat", surname: "Gulabli" });
    const person3 = new Person();
    console.log(person1);
    console.log(person2);
    console.log(person3);
    

    Print Out:

    • Person { name: 'Rufat', surname: 'Gulabli' }
    • Person { name: 'Rufat', surname: 'Gulabli' }
    • Person { name: undefined, surname: undefined }

提交回复
热议问题