web-dev-qa-db-ja.com

Underscore.jsとjQueryは相互に補完していますか?

JavaScriptを学び始めたばかりで、 nderscore.jsjQuery につまずいた。アンダースコアは本当にクールに見えますが、jQueryがアンダースコアに類似した機能をまだ提供していないのではないかと思います。だから、両方を使用する価値はありますか?

91
helpermethod

アンダースコア サイトから取得:

JQueryのTux、およびBackbone.jsのサスペンダーと一緒に行くのがよいでしょう。

アンダースコアはデータ操作により適し、多くのRubyメソッドをJavaScriptにもたらします。いくつかのクロスオーバーがありますが、相互に排他的にするには不十分です。

78
Gazler
  • jQueryはほとんどのdom操作を処理します
  • backbone.jsは、すべてのコードを整理し、jsアプリケーションに何らかの構造(mvcパターン)を付与するのに役立ちます
  • underscore.jsは、本当に便利な低レベルのユーティリティを提供します。私は本当にjsアプリに入るまでこのライブラリを必要としなかったでしょう(backbone.jsの要件でもあります)
68
rkw

アンダースコアは、データ/コードを処理するために合計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

39
Umesh Patil

重複が心配で、JQuery AJAXのようなものが必要ない場合は、Sizzleという名前のJQueryセレクターエンジンのみを使用することを検討してください。

http://sizzlejs.com/

これはすべてのプロジェクトに当てはまるわけではないことに注意してください。SizzleとUnderscoreを使用すると、JQuery機能(AJAXなど)が失われるため、特定のアプリケーションに本当に必要なものを考慮する必要があります。

9
DigitalDesignDj