2016-11-14 16 views
2

ES6では、モジュール内にclassをエクスポートしたり、通常通りに関数をエクスポートしたりすることができます。どちらか他の方が良いですか?JavaScriptでは、モジュールやクラスを使用する方が良いですか?

私は、もっと機能的なルック&フィールが必要な場合は、より多くのOOPアプローチがクラスをエクスポートすることになる機能をエクスポートすることになります。

+0

いつものように、答えは「それに依存する」です。 –

+0

これはスタックソフトウェアエンジニアリングの質問ではありませんか? –

答えて

3

ES6のクラスのポイントは、コンストラクタを呼び出すことによってオブジェクト(インスタンス)を作成し、それらのオブジェクトがそれらのプロパティで動作するプロパティとメソッドを持つことができるようにすることです。

したがって、メソッドとプロパティを持つ新しいオブジェクトを作成する方法を公開するモジュールを作成する場合は、呼び出すことができるコンストラクタまたはファクトリ関数を暴露することで、目的のオブジェクトを作成できますタイプ。

しかし、あなたがモジュールから共有したいのは、それぞれが自分で使うことができるいくつかの関数だからです。なぜなら、ES6クラスを使う理由はないからです。独立して呼び出すことができるいくつかの関数を共有するだけです。

答えは、あなたがモジュールから共有しようとしているものに依存しているということです。

もちろん、静的メソッドの束を使ってクラスをエクスポートすることもできますが、関数としての関数を持つ単純なオブジェクトをエクスポートするだけで特別な利点はありません。そのためにES6クラスを使用する特別な理由はありませんモジュール内の構文設定以外)。

関連する問題