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
哪个设计方式更好呢
大家讲道理2017-04-11 09:59:45
class Person {
constructor(id, name) {
}
}
这种方式对构造函数的定义非常清晰,要求就是 id
和 name
。按这个思想定义 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
应该包含些什么属性。