のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,543,442人
昨日: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 スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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