JavaScriptを学び始めたばかりで、 nderscore.js と jQuery につまずいた。アンダースコアは本当にクールに見えますが、jQueryがアンダースコアに類似した機能をまだ提供していないのではないかと思います。だから、両方を使用する価値はありますか?
アンダースコア サイトから取得:
JQueryのTux、およびBackbone.jsのサスペンダーと一緒に行くのがよいでしょう。
アンダースコアはデータ操作により適し、多くのRubyメソッドをJavaScriptにもたらします。いくつかのクロスオーバーがありますが、相互に排他的にするには不十分です。
アンダースコアは、データ/コードを処理するために合計60個の関数を提供します。 jQuery、Prototype、script.aculo.usなどの他のライブラリに多くの機能が存在することに同意しています。たとえば、jQueryには、each、map、find、filter、toArrayなどの関数があります。これらもアンダースコアにあります。これは、ライブラリをjQueryから独立させるためです。
アンダースコアを使用する場合:
現在、Backbone.jsで広く使用されており、MVCアーキテクチャを使用して1ページのJavascript Webアプリを作成しています。 underscore.jsの最も重要な機能は、テンプレート機能です(jQueryではできません)。このライブラリには、他の多くの便利な関数があり、それらは他のJavascriptライブラリから独立しています。
アンダースコアが提供する機能のリストを以下に示します。
コレクション: each、map、reduce、reduceRight、find、filter、reject、all、any、include、invoke、pluck、max、min、sortBy、groupBy、sortedIndex、shuffle、toArray、size
配列: first、initial、last、rest、compact、flatten、without、union、intersection、difference、uniq、Zip、indexOf、lastIndexOf、range
関数: bind、bindAll、memoize、delay、defer、throttle、debounce、once、after、wrap、compose
オブジェクト:キー、値、関数、拡張、デフォルト、クローン、タップ、isEqual、isEmpty、isElement、isArray、isArguments、isFunction、isString、isNumber、isBoolean、isDate、isRegExp、isNaN、isNull、isUndefined
titity: noConflict、identity、times、mixin、uniqueId、escape、template
重複が心配で、JQuery AJAXのようなものが必要ない場合は、Sizzleという名前のJQueryセレクターエンジンのみを使用することを検討してください。
これはすべてのプロジェクトに当てはまるわけではないことに注意してください。SizzleとUnderscoreを使用すると、JQuery機能(AJAXなど)が失われるため、特定のアプリケーションに本当に必要なものを考慮する必要があります。