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 }
の2番目の例は似ています。
this.state = Object.assign({}, editFlag: false, this.props);
'this.state = Object.assign({}、this.props)' – chenkehxx
IはObject.assignまだES6としてカウント考えます。 http://www.ecma-international.org/ecma-262/6.0/#sec-object.assign。 es5では、すべてをコピーしたり、ヘルパーをアンダースコアやロダッシュで使用したりするだけです。 –
いつもBabelにES5コードをコンパイルして、それが何をするかを確認できます。 – jfriend00