2

私はJavaScript: The Good Partsを読んでいて、現在は「第 5 章: 継承」に取り組んでいます。

私が理解していることから、オブジェクトのプロパティと変数のプライバシーを確​​保しながら、オブジェクトの外部のメソッドを使用してそれらを呼び出すことができるため、機能継承の使用が推奨されます。ただし、プロトタイプ オブジェクトをかなり簡単に作成できるため、プロトタイプ継承には利点があるように思えます (これにより、オブジェクトが何であるかをより具体的に理解できるようになります)。

どちらか一方を選択する必要があるのはいつですか? 可能な限り常に機能継承を使用する必要がありますか? または、その決定を下すために従うことができる「より良い」ガイドラインはありますか?

4

1 に答える 1

3

関数型の手法を継承の主要な形式として使用するコードはほとんど見たことがありません。私が見た大部分は、プロトタイプの継承を使用しています。これは実装が速くて簡単で、JavaScript にとって最も自然に思えます。

機能継承を絶対に使用すべきではないと言っているわけではありませんが、ほとんどのアプリケーションではプロトタイプで十分であることがわかると思います。

また、コンストラクター内の変数を閉じる関数の独自のバージョンを各オブジェクトに与えるなど、プロトタイプの継承内でいくつかの機能的な手法を引き続き使用できることも忘れないでください。したがって、完全にどちらか一方である必要はありません。

最も重要なのは、プロトタイプと関数/クロージャの概念を理解することです。これだけでも、適切な決定を下すために知っておくべきことがわかります。

于 2013-04-21T19:58:26.437 に答える