のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,939人
昨日: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

    801 = :

    きたきたw

    802 = :

    >>800>>801が同一人物(自作自演)ってのは見抜いた

    803 = :

    const縛りすると結局関数型チックに書くことになるじゃん?
    だって
    let {a,b,c} = obj
    のときもしa,cに変更が無ければ
    const {a,c} = obj
    let {b} = obj
    とするの?
    それでやっぱりaは書き換えるとなったらまた変えるの?ってことになる

    そういうちぐはぐ一切なくそうと思えば結局変数は使い切りの関数型チックに書くことになる
    自分は バカバカしい宗教まがいなことだと思うけどね

    804 = :

    っていうか単純にルールを固く捉え過ぎているだけじゃね?
    Googleもそういう形を想定してはないと思うんだけど
    言ってて流石におかしいと思わないのかね?

    まああえて言えば頑なに歩道を走らない自転車的な感じだな

    805 = :

    >>803
    関数型チックにするのはすごく良いプログラミング習慣である
    というのはおいといて、おまえ大きな勘違いしてるなぁ。


    > let {a,b,c} = obj
    > のときもしa,cに変更が無ければ
    普通は、abcを変更することがないから
    const {a,b,c} = obj でいいんだよ

    で、なに? bを変更したくなったら?
    そんなもん、 const bb = b + 1 ってすりゃいいだけだろ

    何がチグハグなんだ?
    おまえがやり方知らないから「うわー、letにするしか思いつかねー」
    って言ってるだけじゃんか。本当に情けない

    806 = :

    あっはっは、自分が出した例を逆に利用されて
    bを書き換えない一番簡単な例をだされて
    こりゃ屈辱だろうなぁ。関数型とか言うまでに
    こんなのも思いつかないようなやつだとはな

    807 = :

    >>802
    自演を見誤るようではまだまだだな

    808 = :

    ほらきたw

    809 = :

    ↑想定内

    810 = :

    一人で何やってんだ?

    811 = :

    以前constの仕様見てこれはすべき!と思ったがIE10以下アウトだったのでやめたことがある
    まだいるからな
    今のところ命名と名前空間で十分かな

    813 = :

    変数に代入した値を書き換えないっていうのは方針だから
    別にvarであっても書き換えなければ良いだけ

    constが使えないのは諦める原因にはならないよ。
    varを使って書き換えなければそれで十分。
    constは単なるチェック機構にすぎない。

    力さえあればIE10以下でも、constを使うのと同じような
    コードを書くことはできる。ようはconstの何が
    素晴らしいかを理解してそれを実現できるか

    814 = :

    function(a){
     a=a+ホゲ;
     return a;
    }
    みたいに、aを上書きしない方がいい?

    815 = :

    >>814
    しない方がいい。
    更に言うならば、引数はもっと変更しないほうが良い。

    816 = :

    関数のargumentsを書き換えようとしたとき or 同じ関数内で同じarguments名を変数名で使おうとしたときに
    エラー吐くような宣言てなかったっけ?
    function sum(a){
    const a=a+10;
    return a;
    }
    console.log(sum(10));}

    817 = :

    途中で送信しちゃった
    >同じ関数内で同じarguments名を変数名で使おうとしたときに
    は816で防げそうだけど、
    >argumentsを書き換えようとしたとき
    はそもそもargumentsは>>815の言うように変更しない、というのを心の中で決めておくってこと?

    818 = :

    >>817
    何を心配しているのか知らないけど、
    特に心配することなんてなにもないよ。
    推奨されている方法があるなら、理解できないうちは
    それに素直に従っているのが良い。

    819 = :

    >>818
    例えば
    http://jsfiddle.net/k9ganf4u/
    同じ関数内でzという変数名を使いたいのでブロックに入れました
    が、関数の引数名にzを使っていた場合
    http://jsfiddle.net/k9ganf4u/1/
    Uncaught ReferenceError: z is not definedというエラー文になりました
    SyntaxErrorになってほしいのですが無理でしょうか

    820 = :

    >>819
    それだったらESLintを使えばできるよ。

    http://goo.gl/ad3hx8

    822 = :

    結局句点で自演バレしてて哂う>>797

    823 = :

    イベントを登録するときに度々疑問に思うのですが
    var obj={};
    $().click(function(){
     var hoge=obj;
     console.log(hoge);
    });
    こういう感じでclickのイベントを定義するときに
    外から何かしらの値を代入する(したい)ときがよくあります
    ですが何かモヤモヤするのですがそれで良いのでしょうか?

    824 = :

    >>824
    言ったそばから句点なしで自演を隠そうとしても無駄w

    825 = :

    >>823の間違い

    826 = :

    >>823
    最初から設計とスタイルがカチッと決まっていない場合は
    そういうのを受け入れないと開発が進まない

    827 = :

    >>823
    その書き方に何の問題もない。

    828 = :

    >>827
    問題ないんですね。ありがとうございました。

    829 = :

    >>812
    んなことしなくても注意して書いてればいいだけ
    ただそれも1つの方法だから各々好きにすればいいのさ

    830 = :

    constがなくても注意して書けばconstを
    使ったのと同じように良い書き方はできる
    ようは注意するかどうか
    注意していればミスなどしない

    831 = :

    俺としてはconst使おうが使うまいが再代入禁止が
    広まってくれればどっちでもいいよ

    832 = :

    言っておくけどね、ただの『再代入禁止』は手枷足枷を付けるだけの行為で最悪だぞ?
    あくまで『再代入する必要がない設計』に価値があるんだぞ?
    関数型言語は言語仕様やAPIや環境がそれ向けに整っているから効果があるんだぞ?
    JSの場合、まずその環境を整える必要がある
    だから単なるスタイルの話として語るのは無理がある
    例えばイベント制御にjQuery使うの辞めてRxJSにしようとか、
    そういう具体的な話でなく広く推奨することはできない

    833 = :

    jQueryをちゃんと使って書けば普通に再代入する必要ないやん?

    834 = :

    まずその環境を整える必要があるとか言うが
    単に関数型で書きやすくするライブラリである
    jQueryとlodashを導入すれば良い

    835 = :

    JavaScriptで学ぶ関数型プログラミング
    http://www.oreilly.co.jp/books/9784873116600/

    JavaScript関数型プログラミング 複雑性を抑える発想と実践法を学ぶ
    http://book.impress.co.jp/books/1115101137

    836 = :

    jQueryはモナドだ とかいうブログあるけどさっぱり分からん
    http://blog.anatoo.jp/entry/20100305/1267801847
    jQueryは関数型言語っぽいってことなんだろうけど
    モナドってなんなんや?

    837 = :

    >>823
    こういう場合objを引数で渡すのは冗長かな?
    $().click(function(obj){
    その必要ないのはわかるが若干安全なのと
    この関数はこの変数使ってるとすぐわかるので
    長くなってくると特に

    838 = :

    > こういう場合objを引数で渡すのは冗長かな?
    冗長だね
    なぜならクロージャーっていうのは
    そういう場合に引数で渡さなくて良いように
    作られているから

    クロージャーの「機能」はうまく使うべきだし
    「機能」を捨ててまで冗長化する意味がない

    839 = :

    >>836 あえて悪い言い方で言うw
    要するに再代入を無くそうという理念でありクロージャとか論外な関数型言語でも
    結局値を保持して再利用するということが一切できないとまともなプログラミングなんて不可能だから
    関数型のメンツをギリギリ保った状態でそれを出来るようにするための苦肉の策
    つまり、モナド=関数型副作用w

    840 = :

    >>837
    多言語やってるとわかるが値渡しで
    渡した値は関数内でどうしようが勝手、元の値には影響ないよというやつだな

    841 = :

    >>829-830
    注意してバグが全部防げるなら苦労は無い

    842 = :

    そもそも再代入しない設計になってるんなら
    再宣言はletだって防げるんだしconstに拘る必要なくね
    つうかどうせ仮にconstで再代入で引っ掛かったとしても
    letに変えるか別の変数増やすだけでしょ
    それが最初からletだったら本当にまずかったって場合は年に1回もないよ絶対

    844 = :

    >>841
    そりゃそうだ
    だから>>730のような1文字Shift押すか否かの違いはどうなの、って話

    845 = :

    >>842
    > そもそも再代入しない設計になってるんなら
    > 再宣言はletだって防げるんだし

    letで防げるのは再宣言であって
    再代入ではないですよね?
    自分で書いた言葉理解してますか?

    846 = :

    constベース気になってたので便乗で質問します
    どうしてもconstを使えない場合はletで
    というのを初心者サイトで見たのですが
    そういう場合というのは,forのvar i=0みたいなところでしょうか?

    847 = :

    >>846
    いやそうでもない
    ぶっちゃけ今はfor(let i = 0; i < 10; i++) みたいな
    iを+1し続けていくようなコードは書かない
    大抵inやofを使う。この場合constでよい

    指定した回数ループするってことがまず少ないんだが
    その場合は [...Array(3).keys()] のような書き方で
    配列を作って配列の数だけforEachすることで実現できる

    といってもこの書き方は可読性が悪いのでlodashなどを使うのが良い
    _.range(10).forEach(i => console.log(i)) みたいな感じだな

    848 = :

    なるほど参考にします >>847

    849 = :

    こっちの書き方のほうが元のfor(var i =0~に
    似ていて分かりやすかったかな?

    for(const i in _.range(10)) {
     console.log(i)
    }

    もしくは

    for(const i in [...Array(10).keys()]) {
    console.log(i)
    }

    850 = :

    >>845
    再宣言ならまだしも再代入だけを防げて本当に嬉しいケースって滅多に無いだろって意味だろ
    文盲か?


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

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


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