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

    私的良スレ書庫

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

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

    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
    702 : Name_Not - 2019/06/28(金) 19:38:56.29 ID:???.net (+37,+29,-1)
    >>700
    それ逆にしても成立するよねw
    703 : Name_Not - 2019/06/28(金) 19:40:39.54 ID:???.net (+33,+29,-55)
    セミコロンはつけすぎても問題は起こらないが(例えば2個連続の;;)
    「省いた場合に問題が起こりうるということ」が問題だということが、
    なぜ未だにわからないんだろうか。
    704 : Name_Not - 2019/06/28(金) 19:41:17.99 ID:???.net (+54,+30,-164)
    >>695
    セミコロン必須派は文の終わりにセミコロンを付けようとする
    毎行セミコロンを付けようとするバカは居ない
    当然複数行に渡る文を書くこともあるし、その際には必須派でもセミコロンを付けない
    そういうときに思わぬ自動挿入が起きて嵌まるというのはどちらかというと
    自動挿入を利用している省略派ではなく必須派の問題
    論理的に考えたらわかる
    705 : Name_Not - 2019/06/28(金) 19:43:20.10 ID:???.net (-25,-29,-251)
    >>699
    セミコロン要らない派はなぜそこで要らないか、なぜそこで要るのか、全然分かってないんだねwww
    functionの時点で関数式ならセミコロン付ける、関数宣言ならセミコロン付けない、だバーカw
    セミコロン付ける派は関数宣言の終わり、
    function foo() {};←ここにセミコロンなんて付けねーよww
    function foo() {}←ここまでで関数宣言、
    ;つけたらただそのあとに空文追加してるだけじゃんwww
    関数式と関数宣言の違いすら分からんのかこれだから脳死セミコロン付けない派はwwwww
    706 : Name_Not - 2019/06/28(金) 19:44:27.05 ID:???.net (+37,+29,-87)
    >>703
    今までの流れ見てきて分かるようにセミコロン省略派必須派に限らず
    ASIの挙動を抑えておかないと嵌まる可能性が残る
    暗黙の型変更のようにJSerは無視できないこと
    ならばそのJSらしい性質をJSを書く上で活用しようというのは自然
    707 : Name_Not - 2019/06/28(金) 19:44:56.48 ID:???.net (+42,+29,-76)
    >>704
    それはつける派つけない派の違いじゃなくて文法を知っている知っていないの違いでしかない
    まさかセミコロンつけない派のほうが文法を知ってると言いたいのかな?
    708 : Name_Not - 2019/06/28(金) 19:46:05.20 ID:???.net (+36,+30,-156)
    >>702
    成立しないよ。
    付けなければいけないところ、付けなくてもよいところ、そのどちらでも、何個もセミコロン置いても余分なものは単に空文になるだけだから。
    逆に省いてはいけないところを省いちゃうととんでもないことになる。
    セミコロン省略は仕様書も読まないバカにはお勧めできない。
    709 : Name_Not - 2019/06/28(金) 19:46:51.93 ID:???.net (+29,+29,-93)
    >>705
    自分はクラス構文について話してるんだけど?
    クラス構文中のセミコロンは空文ができるわけでなく
    構文の柔軟性の一部でスペースのようなオプショナルな存在
    それをセミコロンを付けようと意識してる人はどう考えるのかを教えて欲しかっただけだよ
    710 : Name_Not - 2019/06/28(金) 19:48:12.84 ID:???.net (+27,+29,-8)
    宗教はこうして戦争の火種になっていくんだな
    宗教コワヒw
    711 : Name_Not - 2019/06/28(金) 19:49:23.18 ID:???.net (+27,+29,-22)
    そもそもクラス構文は使わない。聳え立つクソだあれは。
    712 : Name_Not - 2019/06/28(金) 19:50:36.70 ID:???.net (+40,+30,-146)
    >>707
    勿論付けない派の方が文法を知っていると言う
    文法を知っているのにわざわざ付けるっていうのは完全に好みの話になるし
    文法を知らないのに大胆にも付けないっていうのは論外なこだわり

    だからあくまで文法に詳しくなく安全側に倒して付けようとしてる派と
    文法を良く知って不要なものは減らそうという派という対比で当然話してる
    君はそうじゃない意味がない対比がしたいのかもしれないけど俺は巻き込まないでくれよな
    713 : Name_Not - 2019/06/28(金) 19:50:51.65 ID:???.net (+33,+23,-14)
    >>704
    つかそもそも複数行の文の途中ってそれASI自体起こらなくね?
    714 : Name_Not - 2019/06/28(金) 19:53:21.46 ID:???.net (+33,+29,-93)
    もともとセミコロンをバグなく極限まで省略するにはASI含め高い文法知識が要るという話だっただろ。
    それに初心者でも脳死でセミコロン省略できるって噛みついてきたんじゃないか。いい加減にしろよ。
    715 : Name_Not - 2019/06/28(金) 19:53:25.22 ID:???.net (+37,+29,-62)
    >>707
    > それはつける派つけない派の違いじゃなくて文法を知っている知っていないの違いでしかない

    >704ではないが、それが最重要ポイントだと思うぞ
    セミコロン必須/省略は大した問題ではない
    716 : Name_Not - 2019/06/28(金) 19:54:17.35 ID:???.net (+38,+29,+0)
    >>715
    いや、>>704>>712という主張らしいぞ
    717 : Name_Not - 2019/06/28(金) 19:55:37.22 ID:???.net (+35,+29,-2)
    >>716
    俺は>704に賛同してるわけではないから
    718 : Name_Not - 2019/06/28(金) 19:56:13.54 ID:???.net (+37,+30,-119)
    >>713
    文法を完全に分かっているのなら当然どんなスタイルでも問題は起こらない
    だがそうではないので意図しない問題が起きやすい弱点がそれぞれにある
    セミコロンを付ける派も、return文など意図しない形で文が区切られて問題になることもあるという話

    これは何十スレも前から度々話題になっているので詳細は割愛するが
    ==の代わりに積極的に===を使うようになればむしろ嵌まりやすくなるのと同じ
    719 : Name_Not - 2019/06/28(金) 19:59:12.65 ID:???.net (+42,+30,-108)
    >>714
    意味がわからない
    脳死でプログラミングはできない
    プログラミングというものは難しい

    だけど入門者がセミコロン省略スタイルで学ぶのは
    それはそれでその癖が付くだけだから何か問題があるとは思わないな

    セミコロンを付けたほうが安全と思ってるかもしれないけど、
    案外そうでもないよということでしょう
    720 : Name_Not - 2019/06/28(金) 20:01:54.86 ID:???.net (-26,-30,-72)
    セミコロンあり派
    if (x) return; ←あ、戻り値がないんだな
    a();
    セミコロンなし派
    if (x) return
    a() ←ん、これ戻り値のつもりかな、それともif文の外?
    721 : Name_Not - 2019/06/28(金) 20:02:06.93 ID:???.net (+22,+29,+0)
    そっかー分からないかー
    722 : Name_Not - 2019/06/28(金) 20:03:46.24 ID:???.net (+39,+29,-38)
    >>719
    セミコロン取った方が安全なの?
    どうなの?
    どっちが安全なの?
    723 : Name_Not - 2019/06/28(金) 20:04:33.51 ID:???.net (+29,+29,-62)
    >>720
    派閥に関わらず、文法を理解して適切に使え、という考えがなぜ理解できないんだろう?
    724 : Name_Not - 2019/06/28(金) 20:04:59.53 ID:???.net (-26,-29,+0)
    一番人気のスタイルガイド、Airbnb JavaScriptスタイルガイド曰く、

    セミコロンは付けるべきですか?
    もちろん。
    なぜ?
    JavaScriptはセミコロンなしで改行を検出すると、自動セミコロン挿入(Automatic Semicolon Insertion)と呼ばれる一連の規則を使用して、
    その改行をステートメントの終わりと見なし、(名前が示すとおり)改行の前にセミコロンを入れなければその行が壊れると考えた場所に、セミコロンを配置するかどうかを決定します。
    ただし、ASIにはいくつかの風変わりな動作が含まれており、JavaScriptが改行を誤って解釈した場合、コードは壊れます。
    新機能がJavaScriptの一部になるにつれて、これらのルールはより複雑になります。
    ステートメントを明示的に終了し、不足しているセミコロンを検知するようにリンターを構成すると、問題に遭遇するのを防ぐのに役立ちます。

    http://github.com/mitsuruog/javascript-style-guide/blob/master/README.md#semicolons
    725 : Name_Not - 2019/06/28(金) 20:09:35.88 ID:???.net (+38,+29,-70)
    何でそうまでして省きたいのか個人的にはサッパリ分からないが、どうしてもセミコロンを省きたい、かつ仕様の深い理解なんてしたくないという人は、
    Airbnb JavaScriptスタイルガイドに比べ全く人気のないJavaScript Standard Styleというスタイルガイドにメクラで従うといい。
    http://qiita.com/munieru_jp/items/ca16cbfa859468137d2e
    726 : Name_Not - 2019/06/28(金) 20:13:11.43 ID:???.net (+36,+29,-59)
    >>723
    どれだけ文法を理解して適切に使おうとしても、人がすることだからミスはある
    それならミスが少ないほうを使え、という考えがなぜ理解できないんだろう?
    727 : Name_Not - 2019/06/28(金) 20:15:03.46 ID:???.net (+43,+30,-95)
    >>722
    実はどちらも危険でも安全でもない

    毎歩杖を付きながら歩けば安全か?
    足元がおぼつかず見通せない状況ならそうだが
    杖が原因で危険が起こることもあるし
    大衆にとっては付こうが付かまいが安全になったり危険になったりしない

    杖を付いても付かなくても躓くことはしょっちゅうあるし
    躓いたところで大ゴケすることなんて滅多にないし
    躓くことを一々恐れて何か対策をしたりはしない
    728 : Name_Not - 2019/06/28(金) 20:16:53.63 ID:???.net (+33,+29,-42)
    なんかつけない派は詭弁が多くない?
    採用する理由だって今風だからとか、かっこいいから、とかしかないでしょ?
    他に何かあるのメリット
    729 : Name_Not - 2019/06/28(金) 20:17:30.13 ID:???.net (+30,+29,-24)
    >>725
    何でそうまでして要らないものを省こうとしないのか個人的にはサッパリ分からない。
    スペースと違って見にくくなるだけの余分な記号を何故わざわざ付ける?
    730 : Name_Not - 2019/06/28(金) 20:19:08.59 ID:???.net (+39,+29,-42)
    >>727
    ヘルメット付けてても必ず助かるわけじゃないという当たり前の事実は、
    ヘルメット非着用を推進する理由にはならない。
    731 : Name_Not - 2019/06/28(金) 20:20:36.12 ID:???.net (-22,-29,-275)
    >>729
    JavaScriptはセミコロンなしで改行を検出すると、自動セミコロン挿入(Automatic Semicolon Insertion)と呼ばれる一連の規則を使用して、
    その改行をステートメントの終わりと見なし、(名前が示すとおり)改行の前にセミコロンを入れなければその行が壊れると考えた場所に、セミコロンを配置するかどうかを決定します。
    ただし、ASIにはいくつかの風変わりな動作が含まれており、JavaScriptが改行を誤って解釈した場合、コードは壊れます。
    新機能がJavaScriptの一部になるにつれて、これらのルールはより複雑になります。
    ステートメントを明示的に終了し、不足しているセミコロンを検知するようにリンターを構成すると、問題に遭遇するのを防ぐのに役立ちます。
    732 : Name_Not - 2019/06/28(金) 20:22:05.49 ID:???.net (+26,+30,-171)
    ぼく「よし、文の終わりにはセミコロンっと」
    バカ「プーッ! なにムダなセミコロン付けてんの?www 付けなくても動くのにwwww」
    ぼく「・・・」

    ---

    バカ「あ、あれ? 意図通り動かない…… エラーになっちゃう……」
    (3時間後)
    バカ「あっ、そうか! ここセミコロン要るところだった! さすが俺、華麗に解決できたぜ!ww」
    ぼく「・・・」
    733 : Name_Not - 2019/06/28(金) 20:22:11.21 ID:???.net (+42,+29,-71)
    >>728
    JSって色んな書き方ができて
    ああいう書き方もある、こういう書き方もある
    色々試して色々発見して自分のスタイルとJS知識を研磨していった先で到達するものであって
    採用するとかいう話ではないと思うよ

    Array()の代わりに[]を使うのと同じく
    そちらの方が洗練されていると感じるから使う
    Array()の方が分かりやすいと言えば勿論そうかも知れないけどね
    734 : Name_Not - 2019/06/28(金) 20:22:16.67 ID:???.net (+33,+29,-21)
    見にくくなるだけの記号って・・・
    世にあふれるJavaScriptのコードをどういう気持ちで見てるんだろう
    俺の思い通りにならないムキーってか?
    735 : Name_Not - 2019/06/28(金) 20:25:48.68 ID:???.net (+43,+30,-85)
    >>730
    だから君は24時間風呂はいるときも寝るときも付けろというんでしょ
    でも俺はポイントポイントで必要性があるときだけ付ければいいと思う

    俺は常にヘルメットを被って生活してる君に対して違和感を感じてる
    今ヘルメットを被らないで良いかどうかも分からない可愛そうな子にしか見えない
    736 : Name_Not - 2019/06/28(金) 20:25:56.14 ID:???.net (+33,+29,-15)
    >>733
    はい詭弁
    メリットを言えよ
    737 : Name_Not - 2019/06/28(金) 20:27:01.66 ID:???.net (-19,+29,-29)
    >>734
    俺は[]の代わりにArray()を使ってもいいと思うし、
    セミコロンをわざわざ付けて見にくくするのもいいと思ってるよ
    738 : Name_Not - 2019/06/28(金) 20:40:32.38 ID:???.net (-26,-29,-107)
    >>737
    新しい配列を構築するためにArrayコンストラクターを使用することは、単一引数の落とし穴と、Arrayグローバルが再定義される可能性があるため、通常、配列リテラル表記を使用することをお勧めします。
    例外は、Arrayコンストラクタを使用して、コンストラクタに単一の数値引数を与えることによって、意図的に指定サイズのスパース配列を作成する場合です。
    739 : Name_Not - 2019/06/28(金) 20:43:04.60 ID:???.net (+33,+30,-67)
    >>735
    いや?
    お前が工事現場で「ヘルメットを付けても必ず助かるわけじゃない」と言ってヘルメット着用の看板を剥がして回るキチガイだというだけだぞ。
    740 : Name_Not - 2019/06/28(金) 20:49:27.42 ID:???.net (+47,+29,-69)
    >>726
    ミスがあるなら、正しい文法を覚えればいいだけの話
    覚える気がないなら、セミコロン必須でも省略でもミスは起こる
    741 : Name_Not - 2019/06/28(金) 20:49:53.30 ID:???.net (+33,+30,-113)
    A「セミコロン省いたらエラーになることがあるよ」
    B「文法を学んで気を付ければいいよ」
    A「それならセミコロン省かないほうが安全じゃない?」
    B「邪魔な記号だからいいんだよ!俺が気に食わないの!」
    742 : Name_Not - 2019/06/28(金) 20:51:51.60 ID:???.net (-24,-30,-168)
    >>737
    よーし配列リテラルなんてうっちゃらかしてArrayコンストラクタで配列作るぜ!
    var arr = Array(1, 2, 3);
    console.log(arr);
    //=> [1, 2, 3]
    絶好調だぜ!配列リテラルなんて使ってられるか!要素1の配列も作るぜ!
    var arr = Array(1);
    console.log(arr);
    //=> [undefined]

    あ、あれ…? (´;ω;`)
    743 : Name_Not - 2019/06/28(金) 20:55:19.37 ID:???.net (+23,+28,-4)
    スタイルガイドのシェア率が分かるやつある?
    744 : Name_Not - 2019/06/28(金) 20:55:57.91 ID:???.net (+38,+29,-43)
    >>740
    お前ミスしたことないの?
    正しい文法を覚えててもミスはするの
    覚える気があってもミスはするの
    省略したほうがミスの可能性が高いの
    わかる?
    745 : 740 - 2019/06/28(金) 20:57:15.45 ID:lh1CUoFS.net (+39,+29,-38)
    >>741
    マウント取りたいだけなら好きにやればいいが、俺は省略も必須も文法さえ守れば好きにやればいいと思うぞ
    「文法さえ守れば」どちらでも問題はない
    746 : Name_Not - 2019/06/28(金) 20:58:37.51 ID:lh1CUoFS.net (+45,+29,-13)
    >>744
    分からん
    ミスをするのは「知らないから」
    それ以外に原因はない
    747 : Name_Not - 2019/06/28(金) 21:00:00.56 ID:???.net (-28,-29,-27)
    >>743
    思い付くのはgithubスター数と、babel-presetの週間ダウンロード数だな。
    748 : Name_Not - 2019/06/28(金) 21:04:14.30 ID:???.net (+38,+29,-14)
    >>746
    その知らないことによるミスを事前に減らしましょうって言ってんの
    それがわからん?
    749 : Name_Not - 2019/06/28(金) 21:04:54.68 ID:???.net (+25,+27,-5)
    私、失敗しないのでwww
    ドラマ化決定!wwwww
    750 : Name_Not - 2019/06/28(金) 21:07:34.74 ID:???.net (+27,+29,-24)
    仕事で書くときはプロジェクトのスタイルに合わせるんだし
    個人の趣味で書いてるのは好きにすればいいじゃん
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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