のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,904人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    元スレ+ JavaScript の質問用スレッド vol.115 +

    JavaScript覧 / PC版 /
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

    252 = :

    >>246
    > jQueryやlodashも標準仕様全ての上位互換じゃないから

    他の言語を使っている人からすれば意味不明だなこれ。

    たとえばここにRubyのライブラリがたくさんあるわけだが
    http://rubygems.org/
    それらは標準仕様すべての上位互換か?

    ライブラリに何を求めているのだろうか?
    古いブラウザ用に標準仕様を満たすためのもの?
    そんなわけがない。標準仕様を実装するのはライブラリの仕事ではない。

    長らくJavaScriptの世界にライブラリと呼べるものがなかったからだろうか
    ライブラリを互換性を保つためのものだと勘違いしている人がいる。

    253 = :

    >>250
    jQueryやlodashも、polyfillするコード群も、標準仕様の機能を含むからライブラリと呼ぶべきではないってこと?

    254 = :

    >>253
    含むだけなら、「Polyfill + ライブラリ」だろ
    屁理屈言ってるんじゃねーよw

    255 = :

    重要なのは関数言語的パラダイム変換とライブラリが連動しているということ
    標準機能だけで「悟り」を得るのは不可能
    rubyでもpythonでも、もちろんJSでも不可能だった悟りを俺はlodashで得た

    256 = :

    jQueryやlodashに含まれてるのは
    ブラウザ間での非互換性を解決する機能であって
    標準仕様そのものじゃないけどな。

    たしかprototype.jsには標準機能を満たすための
    実装が含まれていたけど、早期実装してしまったために
    あとから標準になった仕様と同じ名前のメソッドで
    動きが違うという別の問題を起こしてしまったけど。

    257 = :

    何この終わりのない宗教戦争
    >>246が全てを語ってると思うけどな
    それ以上はただの個人的な感情のぶつかり合いだ

    258 = :

    意味不明w
    すべてを語っているどころか情報量ゼロじゃねーか

    259 = :

    とりあえず、>>184のコードでlodashが糞遅いということを示しておこう。
    http://jsperf.com/productlodashvsrow

    forループよりも10倍以上遅いんだがw 予想以上に糞w

    260 = :

    jQueryやlodashも標準仕様も一長一短
    どっちがいいかケースバイケース
    lodashで悟りを得るとか言ってるのはただの信者でしょ

    261 = :

    一長一短ww
    「右の反対は左」みたいなことを言って悦に入れる頭の悪さが羨ましいわ

    262 = :

    >>259
    それはまともな反論だな
    たしかに単純に速度だけで言うと、当然ながら遅くなる
    コストの高い関数呼び出ししまくりだし。
    でもボトルネック以外のところは10倍遅くても体感は変わらないし、
    その遅さを余裕で帳消しにするメリットがあるわけだ

    263 = :

    >>262
    帳消しにするメリットとは?

    264 = :

    >>263
    たとえば、JavaScriptのforEach。
    なんでforがあるのに作られたと思う?
    それは、作るのが早く、バグが少なくなるから。

    lodashは基本的にこのような考え方で作られている。
    もっといい方法があるということは、JavaScript自身で
    証明されているんだよ。

    lodashはそれを先行実装しているだけ。
    ECMAScript 10ぐらいになったら、lodashの
    今のメソッドを全部実装するかもね。

    265 = :

    なるほど、未来のJavaScriptを今すぐに
    使えるようになるってわけだな。

    266 = :

    未来のJavaScriptをすぐに使えるっていうのは
    わかりやすいメリットだな。

    forEachもそうだけど、JavaScriptを見ていると
    クロージャーを引数に取る関数ってのが増えてきている。

    アロー演算子というクロージャーを引数にとる関数を
    使いやすくする機能も出来た。

    この流れは主流になるんじゃないかな。というか、もう主流かな。
    lodashを使えばこれが今すぐ現実になる。

    267 = :

    >>264
    「作るのが早く、バグが少なくなるから」の具体例は?
    forに対してforEachのメリットは何となくわかるけど、あなたの説明には具体性がなく説得力にかける

    それにforEachはES5であってlodashではないからlodashのメリットが全く伝わってこない
    lodashが先行仕様になってる理由も説明できてないように読めるけど、もっと具体的に話して欲しい

    268 = :

    なんでかまうのか

    269 = :

    アロー演算子とあるか、ライブラリで演算子を拡張できるものなのか

    270 = :

    オブジェクト指向以後は、オブジェクト指向より前には戻れない
    しかし、オブジェクト指向のメリットを言葉で説明するのはなかなか難しい
    関数型言語のメリットもこれに似ている
    「これは良いものだ」と分かるが、良さを説明するのは難しい
    しかし一言で言うと、コードが美しくなる

    271 = :

    ES6 にアロー関数(Arrow Function)ならあるね
    これはなかなか面白い試みだと思う
    http://people.mozilla.org/~jorendorff/es6-draft.html#sec-arrow-function-definitions
    http://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Reference/arrow_functions

    272 = :

    >>267
    まずさ、前提として
    lodashにforEach相当のものがあるって知ってる?

    あと、lodashのAPI一覧。forEachのお仲間だよ。
    http://lodash.com/docs

    Arraysだけでこれだけある。Collections、Functions、Objects、Utilities、その他を入れるとこの4倍
    _.compact
    _.difference
    _.findIndex
    _.findLastIndex
    _.first
    _.flatten
    _.indexOf
    _.initial
    _.intersection
    _.last
    _.lastIndexOf
    _.pull
    _.range
    _.remove
    _.rest
    _.sortedIndex
    _.union
    _.uniq
    _.without
    _.xor
    _.zip
    _.zipObject

    273 = :

    熱い議論の途中ですまんが
    今から使うならunderscoreよりもlodashを使うべきなの?

    274 = :

    >>272
    「lodashに多数の関数が定義されてる」だけではメリットとはいえないと思う
    それならjQueryの方がよほどたくさんの関数やpluginがあるよ
    多数の機能が揃っているだけならplugin数の多いjQueryに軍配があがる
    というか、「たくさんの機能があるからいい」は短絡に過ぎると思うけど、如何?

    lodashにあるforEachはES5相当の機能だから、lodashを使う必然性がない
    lodashのメリットにはなりえないよ

    275 = :

    >>272
    ゴミ箱いっぱいって感じだな

    276 = :

    underscoreって単独でも使えるけど、
    backboneのおまけみたいで気持ち悪いんだよね。

    lodashの方が関数多いはずだし、
    lodashよりメリットあるの?

    277 = :

    >>273
    用途に合ったライブラリを選べばいいだけで、無条件にどちらを選ぶってものでもないと思うよ
    両方使ってみて自分の感性に合うライブラリを使用するのが一番いい

    278 = :

    >>274
    便利な関数が沢山定義されているのは
    明らかなメリットでしょ?

    279 = :

    lodashとECMAScriptを見てると、
    JavaScript標準ライブラリの進化した先がlodashに見えてくるよ。

    forEachもそうだし、将来lodashの幾つかが
    JavaScriptにバックポートされてもおかしくないよね。

    280 = :

    >>278
    便利な関数ならね
    でも、便利な関数が多数あることを説明できてないでしょ?

    281 = :

    lodashの関数が便利かどうかなんて
    いまさら低レベルなこと言わないよねw

    これらの関数ってJavaScriptに搭載されていないだけで
    他の言語では普通に標準ライブラリだったりする。

    たとえばRubyに同等のものがたくさんある。
    http://docs.ruby-lang.org/ja/search/class:Array/version:2.1.0/

    282 = :

    >>281
    lodashの関数が便利なのは当たり前で知らない人は低レベルなのか
    何か話が合わないようなのでこの辺で失礼するよ
    気を悪くしたらごめんね

    283 = :

    >>276-277
    レスさんくす

    undersocreっておまけのような存在だったのか
    知らなんだ

    最近ここを覗くようになって頻繁にlodashが出てくるから
    underscoreと比べどんなメリットがあるのかと思ったんだ
    underscoreとlodashとの差分がポイントの1つなんだね。

    ともあれ >>277 の言うように実際に自分で使ってみて判断するのが一番なんだろうな

    284 = :

    Array.prototype.forEach の起源は Lo-Dash なのでしょうか?
    私は Firefox が起源だと思っていたのですが…。

    285 = :

    いえいえ消えてくれるのは
    本望なのでどんどん去ってください。

    286 = :

    >>284
    forEach、つまりクロージャーを引数に取る
    ループは関数型言語起源だよ。
    lodashどころかECMAScritpでもFirefoxでもない

    そして、関数型言語起源のものを
    JavaScriptで使えるようにしたのが
    lodashなんだ。

    ECMAScriptではそのほんの一部しか採用されていないが、
    lodashであれば更に多くの関数型言語起源のものが使える。

    forEachがそうだがJavaScriptは関数型言語起源のものを採用しつつある。
    だからlodashを使うということは、将来のJavaScriptを使っているようなものなんだよ。

    287 = :

    >>283
    確かに Lo-Dash の話題が多いようだけど、一部の狂信的な信者も常駐している感があるのでお気をつけを
    全部が信者とはいわないけど、Lo-Dash 関係の話題は自分で検証して事実確認するぐらいには疑っても損はないと思うよ
    結局、自分で使うものだからね
    他人に判断を委ねるぐらいなら、自分で検証して判断するのが一番いい

    288 = :

    lodashの関数の有用性は今更考えることじゃないな。
    他の言語の焼き直しなんだし。

    289 = :

    var hoge;の中の数値があるか?ってとき
    if(!hoge && hoge!=0)
    ってやってるんですがもっと一発でフィニッシュできる方法ありまっか?

    290 = :

    話題が多いっていうかこの板じゃID出ないからね

    291 = :

    >>286
    せっかく回答いただいたのに申し訳ないのですが、私の質問内容に沿う回答ではないようです。
    foreach が PHP 等の他言語に存在することは知っていますが、「それをJavaScriptに始めに取り込んだ実装が何であるのか」を質問しています。
    >>279で Lo-Dash が forEach の先行実装かのように説明されていたので気になっていましたが、そういうわけでもないんですね。

    292 = :

    >>289
    それ、実は難しい問題だよ。
    何を数値とみなすのか。

    たとえば、16進数表記は数値としてみなすのか?
    指数表記は数値としてみなすのか?

    無限大(Infinity)は数値としてみなすのか。

    そこを答えてくれないかな?

    293 = :

    >>289
    「数値があるか」の定義が不明だけど、typeof hoge === 'number' でいいんじゃない?

    294 = :

    しらんけどforEachはFirefoxが先行だとしても
    それ以外はlodashが先行しているのが多いよ。
    あ、underscoreが先行かもしれないね。

    295 = :

    相変わらず、lodash信者は適当な事ばかりいう

    296 = :

    そういやあのバカは
    ちゃんとNGワードにしたんだろうか?
    あ、このレス見えないようにlodashって入れておこうwww

    297 = :

    >>294
    そうですか、わかりました。
    参考までにお聞きしますが、lodashが先行している機能は何でしょうか?

    298 = :

    >>297
    ここに書いてるよ。
    http://lodash.com/
    Features not in Underscore

    299 = :

    >>298
    "Features not in Underscore" は先行仕様の説明ではありませんが…。


    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について