0
es5中以下代码的等效代码是什么?es5中以下代码的等效代码是什么?
constructor(props) {
super(props);
this.state = { ...this.props };
}
es5中以下代码的等效代码是什么?es5中以下代码的等效代码是什么?
constructor(props) {
super(props);
this.state = { ...this.props };
}
该代码看起来像这样,而不使用任何> = ES6语法。
function MyComponent(props) {
// super(props)
React.Component.call(this, props);
// this.state = { ...this.props };
this.state = Object.assign({}, props);
}
巴贝尔的网站has a repl你可以用它来看看编译后的代码看起来到底是什么样。
在这种情况下,it's quite complex因为它大部分都包含在Babel用于为ES5填充ES6类的类实用程序中。
this.state = { editFlag : false, ...this.props }
的第二个例子是类似的。
this.state = Object.assign({}, editFlag: false, this.props);
'this.state = Object.assign({},this.props)' – chenkehxx
我觉得Object.assign仍然被认为ES6。 http://www.ecma-international.org/ecma-262/6.0/#sec-object.assign。随着ES5你只需要所做的一切复制或下划线使用助手或lodash –
你总是可以让巴贝尔编译到ES5代码,看看它做什么。 – jfriend00