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

    私的良スレ書庫

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

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

    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
    651 : Name_Not - 2017/03/11(土) 16:22:44.20 ID:???.net (+85,+29,-11)
    単語を一文字一文字読んでなくとも長いほうが読みにくいだろ!
    という突っ込み禁止
    652 : Name_Not - 2017/03/11(土) 16:24:13.36 ID:???.net (+63,-6,-27)
    >>644
    つまり参照でないプリミティブならconst使わなくて良いということでいい?
    >>638は値は変えないって書いてあるから
    653 : Name_Not - 2017/03/11(土) 16:24:26.80 ID:???.net (+91,+22,-4)
    >>651
    数文字程度では影響ない
    654 : Name_Not - 2017/03/11(土) 16:26:10.02 ID:???.net (+102,+29,-33)
    >>653
    エディタの横の文字数がちょくちょく話題になったりもするし結構センシティブなものだろ
    655 : Name_Not - 2017/03/11(土) 16:28:30.11 ID:???.net (+134,+29,-45)
    >>652
    まあconstは本当に定数、つまり全部大文字使うような変数だけでいいんじゃない?
    自分も張り切って全constとかときたまやり始めることあるけど、別に実際役に立ってるとは思わないし
    656 : Name_Not - 2017/03/11(土) 16:30:49.22 ID:???.net (+101,+25,-15)
    >>654
    それは単語の文字数の話じゃない
    657 : Name_Not - 2017/03/11(土) 16:31:13.47 ID:???.net (+0,-28,-15)
    9割constは9割letより見にくそうな気がする
    658 : Name_Not - 2017/03/11(土) 16:32:51.95 ID:???.net (+143,+29,-112)
    >>655
    constを使うかどうかは本質的ではなくて
    一旦変数に入れた値を書き換えないということが重要

    その時にconstであれば書き換えないという意図が
    伝わりやすいから使うってだけ

    > 別に実際役に立ってるとは思わないし
    値が変わらないことが明確になるから
    他で代入しているところを探す必要が無いという
    メリットが実際にある
    659 : Name_Not - 2017/03/11(土) 16:33:18.74 ID:???.net (+70,+29,+0)
    >>655
    ですよね
    安心しました
    660 : Name_Not - 2017/03/11(土) 16:33:20.37 ID:???.net (+105,+29,-18)
    >>656
    事実横が短いほうが読みやすいよ
    結局はバランスでしょ
    文字数削減も大事、分かりやすい変数名も大事
    というか分かりやすい変数名って適度に短いことだよね
    661 : Name_Not - 2017/03/11(土) 16:34:12.65 ID:???.net (+109,+26,-17)
    >>658
    一旦変数に入れたら書き換えるな、って理解不能
    662 : Name_Not - 2017/03/11(土) 16:34:20.61 ID:???.net (+77,+29,-30)
    >>658
    他で代入しているところを探す必要
    というのがピンとこないや
    663 : Name_Not - 2017/03/11(土) 16:35:17.33 ID:???.net (+105,+29,-19)
    >>661
    関数型とかそういう方面の人の考えらしいよ
    セットで付くのが副作用厳禁だね
    664 : Name_Not - 2017/03/11(土) 16:36:21.17 ID:???.net (-1,-29,-60)
    オブジェクトにわざわざsetterとgetterつけてobj.set()で書き換えるのと
    1個の変数に入れて変数の中身を書き換えるのと
    変数の中身の保持って意味では一緒じゃん?
    665 : Name_Not - 2017/03/11(土) 16:36:22.14 ID:???.net (+105,+29,-19)
    >>660
    > 事実横が短いほうが読みやすいよ

    それは単語の文字数の話ではない
    666 : Name_Not - 2017/03/11(土) 16:37:18.60 ID:???.net (+72,+29,-16)
    >>663
    むしろオブジェクト指向が行き過ぎた人の考えじゃないのか
    667 : Name_Not - 2017/03/11(土) 16:38:16.19 ID:???.net (+85,-30,-45)
    >>661

    var sum = 0; // 合計

    console.log(sum) // ← 出力されるの合計じゃないじゃん。ウソじゃん

    for (var i = 0; i < 10; i++) {
     sum = sum + foo(i)
    )
    668 : Name_Not - 2017/03/11(土) 16:38:43.26 ID:???.net (+106,+29,-15)
    >>665
    はいはい都合の悪い話は除外除外
    頑固だなお前
    669 : Name_Not - 2017/03/11(土) 16:39:09.31 ID:???.net (+64,+29,-33)
    一旦変数にいれて書き換えないならば>>667のようなウソがなくなる
    670 : Name_Not - 2017/03/11(土) 16:39:57.32 ID:???.net (+106,+29,-8)
    >>668
    名前が長くても改行入れれば横は短くできる。
    はい論破w
    671 : Name_Not - 2017/03/11(土) 16:40:11.49 ID:???.net (+83,+26,-1)
    666は一体どういうことなんだ
    672 : Name_Not - 2017/03/11(土) 16:41:33.24 ID:???.net (+78,+28,-9)
    >>667
    1から10までの数字を全部合計したものを得たいときどう書くんだ
    673 : Name_Not - 2017/03/11(土) 16:43:21.25 ID:???.net (+72,+29,-10)
    >>670
    論破ご苦労さん
    それはそれでおいといて
    いい加減真面目に本当に役立つ話をしないか?
    674 : Name_Not - 2017/03/11(土) 16:45:46.48 ID:???.net (+44,-30,-37)
    >>672
    こう

    const num = sum(1, 10)

    function sum(from, to) {
    var n = 0
    return n
    for (var i = from; i <= to; ++i ) n += i
    }
    675 : Name_Not - 2017/03/11(土) 16:47:27.27 ID:???.net (+15,-30,-29)
    >>672
    http://lodash.com/docs/

    const total = _.sum(_.range(1, 10));
    676 : Name_Not - 2017/03/11(土) 16:47:36.59 ID:???.net (+101,+28,-8)
    >>671
    変更する予定が無いなら初期化時にちゃんと値を入れようって事かな?
    677 : Name_Not - 2017/03/11(土) 16:47:55.94 ID:???.net (+49,+21,+0)
    >>674は間違い
    678 : Name_Not - 2017/03/11(土) 16:48:02.20 ID:???.net (+70,+18,-1)
    で、でたーwww
    679 : Name_Not - 2017/03/11(土) 16:48:41.73 ID:???.net (+69,+28,-14)
    >>676
    変数だとね。名前が嘘になってしまうのですよ。
    680 : Name_Not - 2017/03/11(土) 16:49:15.92 ID:???.net (+67,+29,-2)
    >>678
    でたもなにもずっといるわw
    681 : Name_Not - 2017/03/11(土) 16:49:32.53 ID:???.net (+46,+23,+0)
    頭がおかしくなる
    682 : Name_Not - 2017/03/11(土) 16:51:23.95 ID:???.net (+36,-27,-19)
    そこまで関数型にこだわるんなら関数型系のAltJS使ったほうが良くね?
    683 : Name_Not - 2017/03/11(土) 16:52:28.31 ID:???.net (+3,-29,-16)
    >>674はconstがどうこうではなくsumをnに変えただけ
    684 : Name_Not - 2017/03/11(土) 16:53:11.68 ID:???.net (+67,+29,-30)
    >>682
    関数型系のAltJSで、将来性を期待できるほど
    バックについている企業、コミュニティが
    大きいものがあればそうするよ。

    残念ながら、MS、Google、Mozillaなどと言った
    そうそうたるメンバーが参加してる言語とは比べ物にならない
    685 : Name_Not - 2017/03/11(土) 16:54:03.27 ID:???.net (+57,+29,-59)
    皮肉でしょ
    constで書けない部分を全部外に出せば全部constで書けたようにみえ……ないっていう
    686 : Name_Not - 2017/03/11(土) 16:56:39.77 ID:???.net (+125,+29,-71)
    constは「絶対書き換えたくない、定数として扱いたいもの」を
    うっかり書き換えないようにしたいときだけ使えば良い

    結局これでいいんだな
    687 : Name_Not - 2017/03/11(土) 16:57:37.29 ID:???.net (+3,-29,-75)
    JavaScriptにもreduceがあるから、sumのような
    前の結果に付け加えていく処理をconstだけで
    作ることはできるが、

    実際に使うとなったら、読みづらく関数型言語のように
    標準のライブラリも関数型チックなものは充実してないから、
    lodashのような関数型風に書くことができる
    ライブラリを使うのが現実的
    688 : Name_Not - 2017/03/11(土) 16:58:17.96 ID:???.net (+97,+29,-29)
    >>686
    というか、普段からバグを少なくするために
    変数を書き換えたりしないから、
    それならconstでいいんじゃね?ってなるよ
    689 : Name_Not - 2017/03/11(土) 16:58:42.17 ID:???.net (+81,+29,-48)
    >>686
    うっかり書き換えないようにしたいときだけ
    と言うのは一番まともそうで一番ない理由だと思う
    何にせよ、ニュアンスの表記というのが一番大きい
    だからどう活用するかは人次第
    690 : Name_Not - 2017/03/11(土) 17:00:31.69 ID:???.net (+30,-30,-141)
    >>689
    if( variable === SOME_CONSTANT_VAR )
    と書くべきところ
    if( SOME_CONSTANT_VAR === variable )
    のように入れ替えて
    if( SOME_CONSTANT_VAR = variable )
    というふうに間違えて代入してしまう、というありそうな例
    691 : Name_Not - 2017/03/11(土) 17:01:53.47 ID:???.net (+61,-4,-28)
    constを使っていれば、>>690のようなバグもなくなる
    692 : Name_Not - 2017/03/11(土) 17:02:09.66 ID:???.net (+62,+12,-64)
    >>688
    何だかんだ言ってconstの最大の欠点は文字数じゃね?
    もしconstがSwiftみたいにletでscopedとかだったら、みんな前者を使い出す気がする
    結局文字数が掛かるから、それは特別感を出すために使われてしまう
    693 : Name_Not - 2017/03/11(土) 17:02:20.63 ID:???.net (+2,-29,-69)
    変数を書き換えないためにvar宣言をconst宣言に変えて関数に追い出すでしょ
    関数の中でvar宣言すると書き換えバグが起きるかもしれないからconstにするでしょ
    694 : Name_Not - 2017/03/11(土) 17:03:32.47 ID:???.net (+100,+29,-12)
    >>691
    ごめんけど、自分はそのミスを最低10年はしたことがないし、する想像もできない
    695 : Name_Not - 2017/03/11(土) 17:04:42.71 ID:???.net (+6,-29,-46)
    >>692
    constがletでletがscoped の間違い
    696 : Name_Not - 2017/03/11(土) 17:04:47.21 ID:???.net (+102,+29,-13)
    >>694
    想像もできないやつにはメリットがわからんだろうなw

    でも実際に起ってるからね
    ぐぐってみ
    697 : Name_Not - 2017/03/11(土) 17:05:29.94 ID:???.net (-1,-29,-52)
    >>693
    > 変数を書き換えないためにvar宣言をconst宣言に変えて関数に追い出すでしょ

    いや、追い出さない。コードのどこにもvarがなくなる
    698 : Name_Not - 2017/03/11(土) 17:07:36.91 ID:???.net (+57,+29,-35)
    まあ定数としたい値を間違えて書き換えるバグの防止としては意味ある
    変数を書き換えたりしないっつーのはありえんがな
    699 : Name_Not - 2017/03/11(土) 17:07:41.17 ID:???.net (+66,+24,-44)
    >>696
    エディタが警告出すような極めて低レベルなことだと思うけど
    そんなことのためにconstとか、constに失礼
    700 : Name_Not - 2017/03/11(土) 17:08:06.30 ID:???.net (+62,+29,-10)
    でもまあ、関数型の一番のメリットは
    コードが短くなるってことだと思う
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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