因为根据ES6的规范,我们在继承一个父类时,它的子类是没有自身的this指向的,因为ES6规范是先通过父类的this指向的对象构造一个子类的this指向对象,这样才可以在子类中调用this,ES5中是先创建一个空对象作为子类的this指向,再通过子类的构造函数去修饰这个对象。
而为什么要要写props在括号内,是因为如果我们想要在constructor中使用this.props,就需要先声明props的存在,才能调用用,但是在非constructor方法外,我们可以随意调用this.props,这是因为React为我们简化了这一步。React会默认在继承的类中添加一个空的constructor(){ super() }。