元スレJavaScript の質問用スレッド vol.132
JavaScript覧 / PC版 /みんなの評価 :
651 = :
単語を一文字一文字読んでなくとも長いほうが読みにくいだろ!
という突っ込み禁止
652 = :
>>644
つまり参照でないプリミティブならconst使わなくて良いということでいい?
>>638は値は変えないって書いてあるから
653 = :
>>651
数文字程度では影響ない
654 = :
>>653
エディタの横の文字数がちょくちょく話題になったりもするし結構センシティブなものだろ
655 = :
>>652
まあconstは本当に定数、つまり全部大文字使うような変数だけでいいんじゃない?
自分も張り切って全constとかときたまやり始めることあるけど、別に実際役に立ってるとは思わないし
656 = :
>>654
それは単語の文字数の話じゃない
658 = :
>>655
constを使うかどうかは本質的ではなくて
一旦変数に入れた値を書き換えないということが重要
その時にconstであれば書き換えないという意図が
伝わりやすいから使うってだけ
> 別に実際役に立ってるとは思わないし
値が変わらないことが明確になるから
他で代入しているところを探す必要が無いという
メリットが実際にある
659 = :
>>655
ですよね
安心しました
660 = :
>>656
事実横が短いほうが読みやすいよ
結局はバランスでしょ
文字数削減も大事、分かりやすい変数名も大事
というか分かりやすい変数名って適度に短いことだよね
661 = :
>>658
一旦変数に入れたら書き換えるな、って理解不能
662 = :
>>658
他で代入しているところを探す必要
というのがピンとこないや
663 = :
>>661
関数型とかそういう方面の人の考えらしいよ
セットで付くのが副作用厳禁だね
665 = :
>>660
> 事実横が短いほうが読みやすいよ
それは単語の文字数の話ではない
666 = :
>>663
むしろオブジェクト指向が行き過ぎた人の考えじゃないのか
667 = :
>>661
var sum = 0; // 合計
console.log(sum) // ← 出力されるの合計じゃないじゃん。ウソじゃん
for (var i = 0; i < 10; i++) {
sum = sum + foo(i)
)
668 = :
>>665
はいはい都合の悪い話は除外除外
頑固だなお前
669 = :
一旦変数にいれて書き換えないならば>>667のようなウソがなくなる
670 = :
>>668
名前が長くても改行入れれば横は短くできる。
はい論破w
671 = :
666は一体どういうことなんだ
672 = :
>>667
1から10までの数字を全部合計したものを得たいときどう書くんだ
673 = :
>>670
論破ご苦労さん
それはそれでおいといて
いい加減真面目に本当に役立つ話をしないか?
674 = :
>>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 = :
>>672
http://lodash.com/docs/
const total = _.sum(_.range(1, 10));
676 = :
>>671
変更する予定が無いなら初期化時にちゃんと値を入れようって事かな?
677 = :
>>674は間違い
678 = :
で、でたーwww
679 = :
>>676
変数だとね。名前が嘘になってしまうのですよ。
680 = :
>>678
でたもなにもずっといるわw
681 = :
頭がおかしくなる
682 = :
そこまで関数型にこだわるんなら関数型系のAltJS使ったほうが良くね?
683 = :
>>674はconstがどうこうではなくsumをnに変えただけ
684 = :
>>682
関数型系のAltJSで、将来性を期待できるほど
バックについている企業、コミュニティが
大きいものがあればそうするよ。
残念ながら、MS、Google、Mozillaなどと言った
そうそうたるメンバーが参加してる言語とは比べ物にならない
685 = :
皮肉でしょ
constで書けない部分を全部外に出せば全部constで書けたようにみえ……ないっていう
686 = :
constは「絶対書き換えたくない、定数として扱いたいもの」を
うっかり書き換えないようにしたいときだけ使えば良い
結局これでいいんだな
687 = :
JavaScriptにもreduceがあるから、sumのような
前の結果に付け加えていく処理をconstだけで
作ることはできるが、
実際に使うとなったら、読みづらく関数型言語のように
標準のライブラリも関数型チックなものは充実してないから、
lodashのような関数型風に書くことができる
ライブラリを使うのが現実的
688 = :
>>686
というか、普段からバグを少なくするために
変数を書き換えたりしないから、
それならconstでいいんじゃね?ってなるよ
689 = :
>>686
うっかり書き換えないようにしたいときだけ
と言うのは一番まともそうで一番ない理由だと思う
何にせよ、ニュアンスの表記というのが一番大きい
だからどう活用するかは人次第
690 = :
>>689
if( variable === SOME_CONSTANT_VAR )
と書くべきところ
if( SOME_CONSTANT_VAR === variable )
のように入れ替えて
if( SOME_CONSTANT_VAR = variable )
というふうに間違えて代入してしまう、というありそうな例
691 = :
constを使っていれば、>>690のようなバグもなくなる
692 = :
>>688
何だかんだ言ってconstの最大の欠点は文字数じゃね?
もしconstがSwiftみたいにletでscopedとかだったら、みんな前者を使い出す気がする
結局文字数が掛かるから、それは特別感を出すために使われてしまう
693 = :
変数を書き換えないためにvar宣言をconst宣言に変えて関数に追い出すでしょ
関数の中でvar宣言すると書き換えバグが起きるかもしれないからconstにするでしょ
694 = :
>>691
ごめんけど、自分はそのミスを最低10年はしたことがないし、する想像もできない
695 = :
>>692
constがletでletがscoped の間違い
696 = :
>>694
想像もできないやつにはメリットがわからんだろうなw
でも実際に起ってるからね
ぐぐってみ
698 = :
まあ定数としたい値を間違えて書き換えるバグの防止としては意味ある
変数を書き換えたりしないっつーのはありえんがな
699 = :
>>696
エディタが警告出すような極めて低レベルなことだと思うけど
そんなことのためにconstとか、constに失礼
700 = :
でもまあ、関数型の一番のメリットは
コードが短くなるってことだと思う
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.132 + (1001) - [91%] - 2018/4/19 11:00
- + JavaScript の質問用スレッド vol.113 + (1001) - [88%] - 2014/1/25 12:46
- + JavaScript の質問用スレッド vol.133 + (1001) - [88%] - 2018/6/8 10:45
- + JavaScript の質問用スレッド vol.113 + (1001) - [88%] - 2014/3/15 21:30
- + JavaScript の質問用スレッド vol.130 + (974) - [88%] - 2016/10/26 14:18
- + JavaScript の質問用スレッド vol.123 + (1002) - [88%] - 2015/4/27 23:30
- + JavaScript の質問用スレッド vol.131 + (1000) - [88%] - 2017/1/25 8:01
- + JavaScript の質問用スレッド vol.123 + (966) - [88%] - 2020/10/20 2:30
- + JavaScript の質問用スレッド vol.103 + (1001) - [88%] - 2012/11/9 15:30
- + JavaScript の質問用スレッド vol.130 + (1001) - [88%] - 2017/11/25 20:45
- + JavaScript の質問用スレッド vol.102 + (1001) - [88%] - 2012/9/11 17:30
- + JavaScript の質問用スレッド vol.131 + (1004) - [88%] - 2018/3/7 13:30
- + JavaScript の質問用スレッド vol.142 + (984) - [88%] - 2020/8/27 19:15
- + JavaScript の質問用スレッド vol.122 + (116) - [88%] - 2018/5/2 18:30
- + JavaScript の質問用スレッド vol.122 + (1004) - [88%] - 2015/2/14 4:45
トップメニューへ / →のくす牧場書庫について