- Javascriptは関数型言語ですか?私はそれがオブジェクトを持っていることを知っています&あなたもそれでOOPを行うことができますが、それは関数型言語でもあります、そのように使用できますか?
- OOPがどのようにプログラミングの次の進化のようになったか/知っている、それは「機能プログラミング」が次の進化であることを意味します(注:これは意見のプロンプトではなく、事実に基づいた答えのプロンプトであり、このノートは投稿者よりもモデレーターの方が多い;))。
- 私は例を通して最もよく学びます。おそらく、誰かが同じタスクをOOPの方法で実行し、それから関数型プログラミングの方法で関数型プログラミングの機能を理解して比較することができます。
「関数型プログラミング」を正直に完全に理解していない:Pしたがって、Javascriptと関数型プログラミングを比較することは完全に間違っている可能性があります。
関数型プログラミングを素人の言葉で言うと、それは単に匿名関数を使用したアブスレーションの利点ですか?
または、その方法は単純すぎますか?簡単に言うと、OOPはオブジェクトを介した抽象化の利点ですが、OOPを説明するには少し単純すぎると思います。
これは関数型プログラミングの良い例ですか?...
Javascript OOPの例:
// sum some numbers
function Number( v )
{
this.val = v;
}
Number.prototype.add( /*Number*/ n2 )
{
this.val += n2.val;
}
関数型プログラミングの例:
function forEach(array, action)
{
for (var i = 0; i < array.length; i++)
action(array[i]);
}
function add(array)
{
var i=0;
forEach(array, function(n)
{
i += n;
});
return i;
}
var res = add([1,9]);
Or is that way too simple?
ええ、そうです。匿名関数は、関数型プログラミングや関数型プログラミングを支持するマルチパラダイム言語に関連付けられることもありますが、関数型言語の固有の特性ではありません。しかし、それらをλ計算の実装と
I know it has objects & you can do OOP with it also
いいえ、できません。クラスとオブジェクトの区別をなくすプロトタイプベースのプログラミングです。個人的には、この基本的なレベルでは、プロトタイプベースのプログラミングに欠陥があると考えています。