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

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

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

JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
251 : Name_Not - 2014/05/10(土) 18:42:31.96 ID:??? (-1,-29,-19)
これが現実

IE8 50ヶ月連続1位 - 4月ブラウザシェア
http://news.mynavi.jp/news/2014/05/07/066/
252 : Name_Not - 2014/05/10(土) 18:58:35.74 ID:??? (+69,+29,-143)
>>246
> jQueryやlodashも標準仕様全ての上位互換じゃないから

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

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

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

長らくJavaScriptの世界にライブラリと呼べるものがなかったからだろうか
ライブラリを互換性を保つためのものだと勘違いしている人がいる。
253 : Name_Not - 2014/05/10(土) 19:02:41.85 ID:??? (+17,-29,-56)
>>250
jQueryやlodashも、polyfillするコード群も、標準仕様の機能を含むからライブラリと呼ぶべきではないってこと?
254 : Name_Not - 2014/05/10(土) 19:05:07.11 ID:??? (+25,-4,-44)
>>253
含むだけなら、「Polyfill + ライブラリ」だろ
屁理屈言ってるんじゃねーよw
255 : Name_Not - 2014/05/10(土) 19:11:59.58 ID:??? (+62,+29,-51)
重要なのは関数言語的パラダイム変換とライブラリが連動しているということ
標準機能だけで「悟り」を得るのは不可能
rubyでもpythonでも、もちろんJSでも不可能だった悟りを俺はlodashで得た
256 : Name_Not - 2014/05/10(土) 19:12:44.51 ID:??? (+62,+29,-144)
jQueryやlodashに含まれてるのは
ブラウザ間での非互換性を解決する機能であって
標準仕様そのものじゃないけどな。

たしかprototype.jsには標準機能を満たすための
実装が含まれていたけど、早期実装してしまったために
あとから標準になった仕様と同じ名前のメソッドで
動きが違うという別の問題を起こしてしまったけど。
257 : Name_Not - 2014/05/10(土) 19:57:50.21 ID:??? (+69,+29,-19)
何この終わりのない宗教戦争
>>246が全てを語ってると思うけどな
それ以上はただの個人的な感情のぶつかり合いだ
258 : Name_Not - 2014/05/10(土) 20:01:53.19 ID:??? (+57,+29,-3)
意味不明w
すべてを語っているどころか情報量ゼロじゃねーか
259 : Name_Not - 2014/05/10(土) 20:20:59.69 ID:??? (+32,-28,-39)
とりあえず、>>184のコードでlodashが糞遅いということを示しておこう。
http://jsperf.com/productlodashvsrow

forループよりも10倍以上遅いんだがw 予想以上に糞w
260 : Name_Not - 2014/05/10(土) 20:21:11.55 ID:??? (+55,+27,-55)
jQueryやlodashも標準仕様も一長一短
どっちがいいかケースバイケース
lodashで悟りを得るとか言ってるのはただの信者でしょ
261 : Name_Not - 2014/05/10(土) 20:48:13.33 ID:??? (+57,+29,-27)
一長一短ww
「右の反対は左」みたいなことを言って悦に入れる頭の悪さが羨ましいわ
262 : Name_Not - 2014/05/10(土) 20:53:10.50 ID:??? (+101,+29,-59)
>>259
それはまともな反論だな
たしかに単純に速度だけで言うと、当然ながら遅くなる
コストの高い関数呼び出ししまくりだし。
でもボトルネック以外のところは10倍遅くても体感は変わらないし、
その遅さを余裕で帳消しにするメリットがあるわけだ
263 : Name_Not - 2014/05/10(土) 21:36:31.44 ID:??? (+77,+29,-4)
>>262
帳消しにするメリットとは?
264 : Name_Not - 2014/05/10(土) 21:40:14.77 ID:??? (+49,-29,-143)
>>263
たとえば、JavaScriptのforEach。
なんでforがあるのに作られたと思う?
それは、作るのが早く、バグが少なくなるから。

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

lodashはそれを先行実装しているだけ。
ECMAScript 10ぐらいになったら、lodashの
今のメソッドを全部実装するかもね。
265 : Name_Not - 2014/05/10(土) 21:41:31.83 ID:??? (+57,+29,-21)
なるほど、未来のJavaScriptを今すぐに
使えるようになるってわけだな。
266 : Name_Not - 2014/05/10(土) 21:50:35.98 ID:??? (+63,+29,-113)
未来のJavaScriptをすぐに使えるっていうのは
わかりやすいメリットだな。

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

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

この流れは主流になるんじゃないかな。というか、もう主流かな。
lodashを使えばこれが今すぐ現実になる。
267 : Name_Not - 2014/05/10(土) 22:39:15.09 ID:??? (+76,+29,-142)
>>264
「作るのが早く、バグが少なくなるから」の具体例は?
forに対してforEachのメリットは何となくわかるけど、あなたの説明には具体性がなく説得力にかける

それにforEachはES5であってlodashではないからlodashのメリットが全く伝わってこない
lodashが先行仕様になってる理由も説明できてないように読めるけど、もっと具体的に話して欲しい
268 : Name_Not - 2014/05/10(土) 22:48:01.17 ID:??? (+52,+29,+0)
なんでかまうのか
269 : Name_Not - 2014/05/10(土) 22:50:51.82 ID:??? (+56,+28,-47)
アロー演算子とあるか、ライブラリで演算子を拡張できるものなのか
270 : Name_Not - 2014/05/10(土) 22:52:58.98 ID:??? (+63,+30,-103)
オブジェクト指向以後は、オブジェクト指向より前には戻れない
しかし、オブジェクト指向のメリットを言葉で説明するのはなかなか難しい
関数型言語のメリットもこれに似ている
「これは良いものだ」と分かるが、良さを説明するのは難しい
しかし一言で言うと、コードが美しくなる
271 : Name_Not - 2014/05/10(土) 22:55:19.02 ID:??? (+3,-30,-73)
272 : Name_Not - 2014/05/10(土) 23:04:36.97 ID:??? (+83,-30,-191)
>>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 : Name_Not - 2014/05/10(土) 23:14:27.37 ID:??? (+32,-29,-25)
熱い議論の途中ですまんが
今から使うならunderscoreよりもlodashを使うべきなの?
274 : Name_Not - 2014/05/10(土) 23:15:48.09 ID:??? (+106,+29,-162)
>>272
「lodashに多数の関数が定義されてる」だけではメリットとはいえないと思う
それならjQueryの方がよほどたくさんの関数やpluginがあるよ
多数の機能が揃っているだけならplugin数の多いjQueryに軍配があがる
というか、「たくさんの機能があるからいい」は短絡に過ぎると思うけど、如何?

lodashにあるforEachはES5相当の機能だから、lodashを使う必然性がない
lodashのメリットにはなりえないよ
275 : Name_Not - 2014/05/10(土) 23:16:37.70 ID:??? (+68,+29,+0)
>>272
ゴミ箱いっぱいって感じだな
276 : Name_Not - 2014/05/10(土) 23:16:50.52 ID:??? (+34,-29,-43)
underscoreって単独でも使えるけど、
backboneのおまけみたいで気持ち悪いんだよね。

lodashの方が関数多いはずだし、
lodashよりメリットあるの?
277 : Name_Not - 2014/05/10(土) 23:17:36.10 ID:??? (+99,+29,-35)
>>273
用途に合ったライブラリを選べばいいだけで、無条件にどちらを選ぶってものでもないと思うよ
両方使ってみて自分の感性に合うライブラリを使用するのが一番いい
278 : Name_Not - 2014/05/10(土) 23:17:48.28 ID:??? (+95,+20,-10)
>>274
便利な関数が沢山定義されているのは
明らかなメリットでしょ?
279 : Name_Not - 2014/05/10(土) 23:19:51.80 ID:??? (+41,-29,-77)
lodashとECMAScriptを見てると、
JavaScript標準ライブラリの進化した先がlodashに見えてくるよ。

forEachもそうだし、将来lodashの幾つかが
JavaScriptにバックポートされてもおかしくないよね。
280 : Name_Not - 2014/05/10(土) 23:20:20.45 ID:??? (+69,+28,-9)
>>278
便利な関数ならね
でも、便利な関数が多数あることを説明できてないでしょ?
281 : Name_Not - 2014/05/10(土) 23:22:23.48 ID:??? (+36,-30,-88)
lodashの関数が便利かどうかなんて
いまさら低レベルなこと言わないよねw

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

たとえばRubyに同等のものがたくさんある。
http://docs.ruby-lang.org/ja/search/class:Array/version:2.1.0/
282 : Name_Not - 2014/05/10(土) 23:27:01.67 ID:??? (+62,+29,-37)
>>281
lodashの関数が便利なのは当たり前で知らない人は低レベルなのか
何か話が合わないようなのでこの辺で失礼するよ
気を悪くしたらごめんね
283 : Name_Not - 2014/05/10(土) 23:30:19.38 ID:??? (+109,+29,-71)
>>276-277
レスさんくす

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

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

ともあれ >>277 の言うように実際に自分で使ってみて判断するのが一番なんだろうな
284 : Name_Not - 2014/05/10(土) 23:30:37.20 ID:??? (+44,-29,-64)
Array.prototype.forEach の起源は Lo-Dash なのでしょうか?
私は Firefox が起源だと思っていたのですが…。
285 : Name_Not - 2014/05/10(土) 23:30:45.43 ID:??? (+57,+29,-4)
いえいえ消えてくれるのは
本望なのでどんどん去ってください。
286 : Name_Not - 2014/05/10(土) 23:34:15.20 ID:??? (+40,-29,-205)
>>284
forEach、つまりクロージャーを引数に取る
ループは関数型言語起源だよ。
lodashどころかECMAScritpでもFirefoxでもない

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

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

forEachがそうだがJavaScriptは関数型言語起源のものを採用しつつある。
だからlodashを使うということは、将来のJavaScriptを使っているようなものなんだよ。
287 : Name_Not - 2014/05/10(土) 23:38:56.41 ID:??? (+77,+29,-114)
>>283
確かに Lo-Dash の話題が多いようだけど、一部の狂信的な信者も常駐している感があるのでお気をつけを
全部が信者とはいわないけど、Lo-Dash 関係の話題は自分で検証して事実確認するぐらいには疑っても損はないと思うよ
結局、自分で使うものだからね
他人に判断を委ねるぐらいなら、自分で検証して判断するのが一番いい
288 : Name_Not - 2014/05/10(土) 23:41:46.83 ID:??? (+56,+28,-55)
lodashの関数の有用性は今更考えることじゃないな。
他の言語の焼き直しなんだし。
289 : Name_Not - 2014/05/10(土) 23:43:42.84 ID:??? (+38,-29,-29)
var hoge;の中の数値があるか?ってとき
if(!hoge && hoge!=0)
ってやってるんですがもっと一発でフィニッシュできる方法ありまっか?
290 : Name_Not - 2014/05/10(土) 23:45:04.60 ID:??? (+55,+27,+0)
話題が多いっていうかこの板じゃID出ないからね
291 : 284 - 2014/05/10(土) 23:46:10.65 ID:??? (+69,+29,-95)
>>286
せっかく回答いただいたのに申し訳ないのですが、私の質問内容に沿う回答ではないようです。
foreach が PHP 等の他言語に存在することは知っていますが、「それをJavaScriptに始めに取り込んだ実装が何であるのか」を質問しています。
>>279で Lo-Dash が forEach の先行実装かのように説明されていたので気になっていましたが、そういうわけでもないんですね。
292 : Name_Not - 2014/05/10(土) 23:47:33.89 ID:??? (+101,+29,-87)
>>289
それ、実は難しい問題だよ。
何を数値とみなすのか。

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

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

そこを答えてくれないかな?
293 : Name_Not - 2014/05/10(土) 23:47:53.22 ID:??? (+41,-29,-26)
>>289
「数値があるか」の定義が不明だけど、typeof hoge === 'number' でいいんじゃない?
294 : Name_Not - 2014/05/10(土) 23:49:30.85 ID:??? (+31,-29,-28)
しらんけどforEachはFirefoxが先行だとしても
それ以外はlodashが先行しているのが多いよ。
あ、underscoreが先行かもしれないね。
295 : Name_Not - 2014/05/10(土) 23:51:34.88 ID:??? (+54,+26,-26)
相変わらず、lodash信者は適当な事ばかりいう
296 : Name_Not - 2014/05/10(土) 23:53:53.96 ID:??? (+55,+29,-48)
そういやあのバカは
ちゃんとNGワードにしたんだろうか?
あ、このレス見えないようにlodashって入れておこうwww
297 : 284 - 2014/05/10(土) 23:55:07.19 ID:??? (+66,+29,-33)
>>294
そうですか、わかりました。
参考までにお聞きしますが、lodashが先行している機能は何でしょうか?
298 : Name_Not - 2014/05/10(土) 23:56:35.61 ID:??? (+10,-29,-3)
>>297
ここに書いてるよ。
http://lodash.com/
Features not in Underscore
299 : 284 - 2014/05/10(土) 23:59:54.13 ID:??? (+3,-29,-11)
>>298
"Features not in Underscore" は先行仕様の説明ではありませんが…。
300 : Name_Not - 2014/05/11(日) 00:00:18.81 ID:??? (-1,-29,-19)
underscoreのコンセプトを深化させたのがlodash
今からわざわざunderscoreをする必要はないんじゃないかな?
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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