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

    元スレ+ JavaScript & jQuery 質問用スレッド vol.7 +

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

    701 = :

    >>697
    例えば_.timesのとこを10万回設定で100セットなら
    _.minで10万回、_.maxで10万回の処理
    合計30万×100回処理させるというのが通例で
    読みやすさを重視した方が良いということですか?

    702 = :

    >>701
    const startTime = new Date();
    const arr = _.times(100000, () => _.random(-499, +499));
    const min = _.min(arr)
    const max = _.max(arr)
    const endTime = new Date();
    console.log(endTime - startTime + "ms");

    俺の環境で、15ms なんだわ
    100セットで1.5秒
    これが問題になるかどうかだ

    703 = :

    更に言うならrandom以外の部分は3~4ms。100セットで30~40ms
    この中で「最大・最小値」の比較と「ループ処理」を行ってる。

    1つのforの中に混ぜ込むことで「ループ処理」を減らせるだろうけど
    およそ半分の100セットで15msしか減らせない。
    10万回×100セットでこの程度なんだよ。forを使いまわす理由はあるかい?

    705 = :

    >>702-704
    なるほど

    「こことここ一緒にforにまとめちゃった方が、いや、どうしよう」という
    状況によくぶち当たるのですが、一緒のforじゃなきゃダメ
    っていう状況以外はまずは分けてから考えた方がよさそうですね
    ありがとうございました

    706 = :

    >>692
    やってみましたがsubmitではトップに移動してしまいます
    preventDefault / stopPropagation 両方でも return false でも同様です

    707 = :

    >>706
    話の続きをしたければそのコードをアップするように

    709 = :

    >>707
    ご指摘願います

    <form id="foo">
     (inputなど画面スクロールするようにたくさん)
     <button id="bar">確定</button>
    </form>

    $('#bar').click(function(e){
     e.preventDefault();
     e.stopPropagation();
     $('#foo')[0].submit();
    });

    710 = :

    >>709
    submitをキャンセルしろって

    711 = :

    >>710
    割り込み失礼。
    どうやって送信を?

    712 = :

    >>711
    >>691

    713 = :

    めんどくせ~

    714 = :

    スマン、713は誤爆
    スレどころか板も違うとこだったorz

    715 = :

    まるで狙ったかの様だな(棒)

    717 = :

    ajaxだろ

    720 = :

    ってか、forの外から見えずに、forごとに初期化されないものは、
    forの中に書くしかないだろ。どの言語でも。
    forの中にかけない言語のほうがダサい

    722 = :

    外でlet文で宣言するとfor文内部のクロージャへの効果が変わってくるけどな

    723 = :

    >>720
    forの外から見えますけど

    724 = :

    >>717
    めんどくせ~

    725 = :

    >>723
    素人は、でなおしてきな

    for(let i = 0; i < 10; i++) { }
    alert(i)

    (index):46 Uncaught ReferenceError: i is not defined

    726 = :

    >>725
    「forの外から見えずに、forごとに初期化されないものは、forの中に書くしかないだろ。どの言語でも。 」

    varを使えばforの外から見えるのでforの中に書くしか無いってことはないよね?

    727 = :

    「forの外から見えずに、forごとに初期化されないもの」

    varはforの外から見えるので上の条件に当てはまらない

    728 = :

    つまりjsスレでjs以外の言語の話をしていたのか

    730 = :

    変数名の大文字小文字はまったく別物として扱われるようですが
    クラス的に使いたい時に
    var Hoge=function(){};
    var hoge = new Hoge();
    みたいにしたいのですが何かデメリットというか
    後々困るみたいな事はありますでしょうか?

    731 = :

    >>730
    うっかりhogeをHogeと書いたときにバグるんじゃね?
    しかも潜っちゃって全然見つけられないタイプ

    732 = :

    それは飛行機のデメリットとして航空事故を心配するのと同じで大げさだし
    letやconstかclass構文を使ってれば解決する話

    733 = :

    constはブラウザを選ぶ
    そもそも同じにするか?

    734 = :

    というかこんなとこでconst使うなよ

    一定のルールに順じてれば、自分だけなら自分でしっかり守れてればいいんじゃ
    http://analogic.jp/naming-convention/
    http://cou929.nu/data/google_javascript_style_guide/

    735 = :

    なんで使っちゃ駄目なんだ?

    736 = :

    命名のうっかりミスを別の手段で補うことを話しているのに
    命名規則をきちんと定める話をするアホ

    737 = :

    >>733
    > constはブラウザを選ぶ
    だからbebelとか使うんでしょ?

    >>734
    > というかこんなとこでconst使うなよ

    constはvarやletよりも多く使う
    変数は宣言とともに代入し、一旦代入したら
    それ以降変更しないのが良い作法とされる。
    俺はconst以外を使うことはめったいにない

    738 = :

    >734
    その2つのリンクは古すぎるドキュメント。今は参考にならない

    Googleの最新のJavaScript Style Guideはこっち
    http://google.github.io/styleguide/jsguide.html

    http://google.github.io/styleguide/jsguide.html#features-use-const-and-let
    > 5.1.1 Use const and let
    >
    > Declare all local variables with either const or let. Use const by default,
    > unless a variable needs to be reassigned. The var keyword must not be used.

    ローカル変数はconstかletを使え。デフォルトではconstを使え。ただし再代入ない限り。
    varは使うな。としっかり書いている



    もう一つの有名なJavaScript Style Guide
    http://github.com/airbnb/javascript

    もちろんこっちでもconstを使えと書いてある
    http://github.com/airbnb/javascript#references--prefer-const
    > 2.1 Use const for all of your references; avoid using var
    constを使え
    > 2.2 If you must reassign references, use let instead of var
    どうしても再代入しないといけないなら、letを使え

    739 = :

    俺的にはその「一般論」をJSに適応するのは良いことだと思わない
    例えば型チェックに拘るんなら最初からTypeScriptを使え、JSは柔軟さを活用しろというのが俺の理屈
    もう一つ、世間には良い書き方が一通りであることを良しとする言語もあるが
    JSのコミュニティはむしろ色々書け得る可能性と多様性を良しとしてきた

    それらに関連して言えることは、JSは表現力が大切で大いに活用していくべきだということ
    全てconstにしようというのは、一見慎重にみえて実はピュアJSに取ってはただの横着
    letもconstも、もしかするとvarも大事に有意義に使おうと考えてこそJSが生きてくる

    別の見かたをするとそれはワレモノを怖いので鋼鉄の箱に突っ込んでしまおうと言ってるようなもの
    勿論鋼鉄の箱も重要だけど、それよりも大事なのは緩衝材、そしてデリケートな部分へのさらなるケア
    どちらかと言うと、横着するなら布でグルグル巻きにした方がいい、それがJSなんだよ

    740 = :

    最初から今のJavaScriptを使えばいいだけ
    なにを言い訳がましく言ってるのか

    741 = :

    まあなんというか、JSは開発環境1つ取ってもメモ帳から補完の効くIDEまで幅広いし
    開発者のコミュニティというのも無くてJavaristaなどが片手間で舐めて使ってた傍らで
    ごく一部のJS仙人たちが個人個人試行錯誤してそれぞれの境地にたどり着いていたのがJSの文化だから
    はい、今日からこういう書き方が良いことになりましたとどっかの誰かに言われても困惑するだけだろうな

    つうかじゃあTC39メンバーが、生みの親Brendan Eichが、const使ってJSの議論してるのか、
    色んな発表のときそれを推奨しているのかというとそうではないし、
    じゃあGoogleのchromiunやV8ではどうかというと、勿論未だにvarのまま
    なら直近のプロダクトはどうかというとTSが書くのが主流だが、ES6を使っているものでも勿論constに拘っているものなどない
    というか関数型チックに全てを設計していない限りその変数が一度しか代入いらないものなのかどうかはわからない場合も多い

    constは所謂定数で関数の戻り値を入れたりする変数はletで宣言するのがやっぱり普通じゃないか

    742 = :

    なんかこのスレ殺伐としてんな

    743 = :

    殺伐?
    質問も少ないし暇な奴らがまったりだべってるようにしか見えないが

    744 = :

    >>739
    長たらしいが(失礼!)言ってることには同感

    >>742
    それも同感

    745 = :

    jsに関してはどこぞでこうあるべきと言っても厳格にその通りにしてる方が少ないだろうな。
    自分が後々含めて困らなけりゃいいってのも多そう。

    746 = :

    >>741
    あんたが困惑しているからって他人も同じだと思ったらいかんよ

    この話はソフトウェアだけに限った話じゃない。
    なんだって時が経てば常識は変わる。殆どはいい方向に変わる。

    人類が登場してからずっとやってきた子育てだって
    今はミルクよりも母乳が推奨されていたりと未だに変わり続けている
    訂正されたならば訂正前のやり方は間違いだってことだよ

    Googleや世界中の優秀な人たちが考えたことと
    どっかのオッサンが考えたことじゃ説得力が大幅に違いすぎる

    有名で信用できるコーディングスタイルが示された今
    ここでどっちがいいかなんて議論する意味ないんだよ。
    所詮おまえも俺も無名なオッサンなんだから
    おとなしく信用できるものを信用しましょうや

    747 = :

    柔軟性が高いのはJavaScriptの魅力

    749 = :

    JSが柔軟だからと言うよりこれから学んでいく子供に規制をかけ過ぎるのは良くないと思うな
    個人的には取り返しのつかないことにならないものであれば本人が色々試して時には怪我して学べという教育方針

    勿論凡人が集まる会社内だとか、質問者を凡人だと思ってそういうスタイルで指導するのはとても良いことだけどさ
    我が子を凡人より上と思いたいように、このスレにわざわざ来てくれた人には凡人より上になって欲しいんだよね

    750 = :

    なので仕事の成果物としてはconstを使うべきだし
    (仕事の成果物に勉強結果は出してはいけません)

    別にいろいろ試すのは別に構わないが、
    それは仕事とは別でやれって話


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

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


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