javascript - ES6中面向对象构造函数的参数写法
伊谢尔伦
伊谢尔伦 2017-04-11 09:57:45
0
1
499
class Person{
  constructor(props){
      this.id  = props.id;
      this.name = props.name;
  }
}
class Student extends Person{
  constructor(props,props1){
     super(props);
     this.stuNum = props1.stuNum;
     this.stuNum1 = props1.stuNum1;
  }
}

和props改成id,name
props1改成stuNum,stuNum1

哪个设计方式更好呢

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

reply all(1)
大家讲道理
class Person {
    constructor(id, name) {
    }
}

这种方式对构造函数的定义非常清晰,要求就是 idname。按这个思想定义 Student 会是这样:

class Student extends Person {
    constructor(id, name, stuNum, stuNum1) {
    }
}

参数越来越多。由于 JavaScript 对参数没有强制要求(没有静态检查),所以参数越多,越容易出错。这种情况下可以针对 JavaScript 的动态特性来进行一点改革

class Person {
    constructor(props) {
        this.id = props.id;
        this.name = props.name;
    }
}

class Student extends Person {
    constructor(props) {
        super(props);
        this.stuNum = props.stuNum;
        this.stuNum1 = props.stuNum1;
    }
}

参数简单了,现在还需要做的事情就是,写上注释,说明 props 应该包含些什么属性。

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template