Javascript 为什么React组件构造函数中的console.log(super)抛出错误?

Javascript 为什么React组件构造函数中的console.log(super)抛出错误?,javascript,reactjs,ecmascript-6,Javascript,Reactjs,Ecmascript 6,我想在我的InheritComponentconstructor方法中控制台super。 但在chrome控制台中,它抛出了一个错误。为什么? 类BaseComponent扩展了React.Component{ 静态defaultProps={ 标题:“通过示例学习反应” } 建造师(道具){ 控制台日志(道具); 超级(道具); } 标题(标题){ document.title=title | | this.props.title; 返回文件.title; } } 类继承组件扩展了BaseC

我想在我的
InheritComponent
constructor
方法中控制台
super
。 但在chrome控制台中,它抛出了一个错误。为什么?

类BaseComponent扩展了React.Component{
静态defaultProps={
标题:“通过示例学习反应”
}
建造师(道具){
控制台日志(道具);
超级(道具);
}
标题(标题){
document.title=title | | this.props.title;
返回文件.title;
}
}
类继承组件扩展了BaseComponent{
状态={
标题:“”
};
建造师(道具){
超级(道具);
//这里抛出一个错误。为什么?我想console.log`super`
console.log(超级);
}
componentDidMount(){
const title=this.setTitle('组件继承')
this.setState({title});
}
render(){
返回
我继承BaseComponent

当前标题为{this.state.title}

} } ReactDOM.render( , 文件正文 )

原因很简单:
super
是一个关键字,不是函数,也不是任何变量。你不能像记录
var
new
关键字一样记录
super

如果要记录父级的构造函数,可以尝试:

console.log(super.constructor);
实际上,
super()
只是
super.constructor()
的缩写

请参阅更多信息:

super
是一个关键字,不能像变量一样使用它。下面列出了使用super的唯一方法:

super([arguments]);//调用父构造函数

super.functionOnParent([arguments])

如果要打印父类,请使用
console.log(super.constructor)

我想你在调用super之前不能添加任何内容,你能删除你的console.log语句并再试一次吗?@HarkiratSaluja删除console.log语句可以。但是我想控制台
super
。而且,我的console.log语句在
super(props)之后
statement谢谢。我看到了医生。