2012-03-29 6 views
-2

もっと古典的なC++/java/c#のようなOOシステムを提供するjavascriptに似たスーパーセットや言語がありますか?しかし、HTML-5とDOMで使用することができ、クロスプラットフォームの実装が可能ですか?OOPソリューションfor Javascript?

+2

CoffeeScript?それは明らかにJSにコンパイルされます。 – Aliostad

+7

あなたは怠け者ではなく、代わりに新しいプログラミングのパラダイムを学びましょう。 JSは、クラスベースではなく、プロトタイプベースのOO言語です。プログラマーが「「言語Xを言語Yのようにすることはできますか?」と尋ねるのは恥ずかしいことです。 @tereško_sigh_ –

+0

私はちょうど小さなHTML - 5キャンバスデモを作るために探していた。ショートカットはないと思います。プロトタイプベースのOOPを学ぶ2日間を15分のデモに費やす必要があります。 : – ApprenticeHacker

答えて

1

はい、それはJavaScriptと呼ばれています。いくつかの良いarticles about OOP around

var Parent = { 
    method: function() { 
    ... 
    } 
} 

var Child = Object.create(Parent, { 
    childMethod: { value: function() { 
    ... 
    } } 
}) 

はJavaScriptでクラスのシステムをエミュレートしようとするが、時間の無駄であると肥大化/読めない/ unmaintainableコードを書いて終わるがあります。

以上があまりにも醜いある場合は、上記のCoffeeScriptを学ぶための提案に加えてextend function

4

CoffeeScriptを試すことができます。

JavaScriptにコンパイルするので、実際にはクロスプラットフォームです。

スクリプトに関する限り、HTML5タグの使用にも対応していますが、実際問題ではありません.HTMLはマークアップ言語で、JavaScript(またはCoffeeScript)はスクリプト言語です。したがって、CoffeeScriptを使用して(HTML5)要素を選択または編集することはできます。スクリプトはJavaScriptにコンパイルされ、それでも動作します。

+1

CoffeeScriptには一連の問題があり、 – Raynos

1

を使用することを検討して、あなたはjavascriptのパターンのカップルを試してみることができます。

私は最近複数のスクリーンキャスト(javascriptコードを構成しています)を見ていましたが、私はいくつかのjavascriptパターンを認識しましたが、 "Prototype Patternを明らかにする"のが本当に好きです。

非常に簡潔でシンプルなので、カプセル化などを含むOOPの利点のいくつかを得ることができます。

Pluralsightは無料の10日間の試用期間を提供していますので、簡単にそれに追いつくことができます。

+0

を使用する価値についての決定「プロトタイプパターンを明らかにする」はパフォーマンスにとって悪い可能性があります – Raynos

+0

@Raynos確かにわかりませんが、インストラクターはパターンが効率的なパフォーマンスを賢明だと言っています。私は何も請求することができないので、いくつかの簡単なもの。 – scartag

+0

コンストラクタ関数内にクロージャを作成すると、パフォーマンス効率について嘘をついた場合 – Raynos

関連する問題