を返すには、オブジェクトから小道具を破壊し、すぐにこのようにそれを返すことが、それは正しいです。何かアドバイス?オブジェクトな破壊とすぐ
2
A
答えて
1
かなり良いです。 javascript構文は急速に進化しており、構文のバリエーションも大きくなっているため、IDEはまだ追いついています。
0
関数のパラメータを使用して構造を破壊するとどうなりますか? スプレッドオペレータは基本的には、オブジェクトのコピーを作成し、同様irrelevant
キーをキャッチ:
// EDIT:追加した2つのより多くの非構造例を、私はまた、拡散演算子を持つ関数が何らかの理由でグローバル名前空間に変数をリークすることを発見しました少なくともここSOスニペットで:
let state = {
form: {
name: 'test',
phone: 123,
shift: true,
irrelevant: false,
}
};
(function() {
let fun2 = ({form: {name, phone, shift}}) => ({name, phone, shift});
console.log('fun2', fun2(state));
})();
try {
console.log(name, phone, shift);
} catch (e) {
console.log('no leak');
}
(function() {
let fun3 = state => {
let {name, phone, shift} = state.form;
return {name, phone, shift};
};
console.log('fun3', fun3(state));
})();
try {
console.log(name, phone, shift);
} catch (e) {
console.log('no leak');
}
(function() {
let fun = state => ({
...{name, phone, shift} = state.form
});
console.log('fun', fun(state));
})();
try {
console.log('leak:', name, phone, shift);
} catch (e) {
console.log('no leak');
}
関連する問題
- 1. ユーザーがオブジェクトを破壊するのを防ぐ方法
- 2. thread_localオブジェクトの破壊
- 3. nullableオブジェクトを破壊する
- 4. 存在しないオブジェクトの破壊
- 5. オブジェクト自体を破壊する方法
- 6. JavaScriptオブジェクトを破壊するには?
- 7. C#でオブジェクトを破壊する方法
- 8. angularfire2:破壊的な更新(set())と非破壊的な更新(update())の違い
- 9. Javaの破壊的で非破壊的なメソッドとは何ですか?
- 10. アンドロイド:今すぐアプリにメモリをクリーンアップ破壊
- 11. オブジェクトの配列の破壊の順序
- 12. アプリが壊されるとすぐにサービスが破棄されます
- 13. 名前なしでJavaのオブジェクトを破壊するには?
- 14. 破壊的なGitコミット?
- 15. 破壊的なスタック反復
- 16. なぜListAppendは破壊的ではなく、ArrayAppendとStructInsertは両方とも破壊的ですか?
- 17. Unity3Dのインスタンシエーションと破壊
- 18. バックボーン破壊エラー
- 19. 関連のないオブジェクトでRails依存の破壊
- 20. どのようにコンポーネントの破壊的なFormControlを破壊するか?
- 21. 弾丸で撮影したときにオブジェクトが破壊されない - UNITY3D C#
- 22. 決定的な破壊に頼って、復帰時の破壊を避ける
- 23. Javascriptの破壊的方法と非破壊的方法の命名規則
- 24. 春SingletonBeanFactoryLocator豆破壊
- 25. シャットダウンクラスタ対破壊クラスタ
- 26. Spring Controller破壊メソッド?
- 27. Backbone.js破壊問題
- 28. Boost.Signals2破壊安全
- 29. バグが破壊されてルビーが破壊される
- 30. Delphiはオブジェクトを破壊するようです。
うん確かに、私の 'state'をする可能性のために、私は、できるだけ簡単な私の' map'機能を維持しようとしています将来変更される可能性があります。 –
r 'fun4'はかなり良い解決策です –
残念ながらfun4はグローバルな名前空間に漏れた変数を使用していました...それは奇妙ですね。 – Oskar