- + JavaScript の質問用スレッド vol.122 + [無断転載禁止]©2ch.net
740 :デフォルトの名無しさん (ワッチョイ f3c8-tpgq)[sage]:2017/03/21(火) 20:20:20.88 ID:T5U7WLBb0 - >>727
つかAirbnbが馬鹿だから、の結論でいいと思うよ。 >>725の議論でいきなり7.1を変更して内容が残ってない時点でアウトでしょ。 「議論してまーす」のフリをしているだけだよね。最近こういうのも多いけど。 なおgoogleはそんなことは言ってない。強いて言えば以下。 > ブロックの中での関数宣言 > してはいけない. > > if (x) { > function foo() {} > } > ブロック内での関数宣言は多くのスクリプトエンジンでサポートされていますが, > これは ECMAScript で標準化されていません (ECMA-262 の 13, 14 節を参照してください). > よって各実装や将来の ECMAScript 標準との間での一貫性がとれなくなります. > ECMAScript での関数宣言は, スクリプトのルート部分か関数内で許可されています. > ブロック内では関数宣言の代わりに関数式を用いてください: > > if (x) { > var foo = function() {}; > } > http://cou929.nu/data/google_javascript_style_guide/#id14 最後の1行の後半部分だけは一致する。海外にも文盲が増えただけの話だろ。 Nodeは余裕で関数宣言使ってる。jQueryには言及自体がない。 > https://github.com/felixge/node-style-guide#functions-1 > https://contribute.jquery.org/style-guide/js/ JavaScripterはこういうところで変に悩んで時間を浪費してる分、上達が遅くなっている。 どっちでもいいから自分なりに決めてガシガシ書かないと上達しない。 それでイマイチだったなら後で変更すればいいだけ。 最初から文法/スタイルに異常にこだわる奴が多すぎるのもJavaScripterの特徴だよ。
|
- + JavaScript の質問用スレッド vol.122 + [無断転載禁止]©2ch.net
741 :デフォルトの名無しさん (ワッチョイ f3c8-tpgq)[sage]:2017/03/21(火) 20:28:08.78 ID:T5U7WLBb0 - >>739
つまりアロー関数はクロージャ無し、ついでにthisの使用も禁止にすれば美しかった、ってことだろ。 俺もそう思うね。 まあこれに限らず「何でこんな仕様なの?」ってのは多いけどね。
|
- + JavaScript の質問用スレッド vol.122 + [無断転載禁止]©2ch.net
746 :デフォルトの名無しさん (ワッチョイ f3c8-tpgq)[sage]:2017/03/21(火) 21:24:13.49 ID:T5U7WLBb0 - >>743
いや、無いよな? 確認だが、以下の理由と、そのコード例が知りたいんだよな? (少なくとも、俺が言っているのは以下件についてだ) > 変更前: > Use function declarations instead of function expressions. > Why? Function declarations are named, so they're easier to identify in call stacks. > 変更後: > Use named function expressions instead of function declarations. > Why? Function declarations are hoisted, which means that it’s easy - too easy - to reference the function before it > https://github.com/auth0/javascript/commit/3bce8154a02e44dade7a9da95a188966b0a1d523 見た目、不整合があるから整合させましたー、と見える。それはいい。 ただそのついでにこの変更はなしだろ、と思う。
|
- + JavaScript の質問用スレッド vol.122 + [無断転載禁止]©2ch.net
748 :デフォルトの名無しさん (ワッチョイ f3c8-tpgq)[sage]:2017/03/21(火) 21:48:52.92 ID:T5U7WLBb0 - >>745
全般的には同意だが、細かい点は以下。 > こういうのは有名なスタイルガイド(Airbnb等)を採用して いや常識的にはgoogleだろ。 google: 関数宣言?問題ないよ。 Node: 関数宣言?問題ないよ。 jQuery: … Airbnb:関数宣言は駄目。全部関数式にしろ。 誰を信じるかだが、google は巨人だろ。 おそらく世界最高レベルのJavaScriptエンジニアを多数揃えている。 Nodeの連中も同様、JavaScriptに深く関わっている。 jQueryも老舗の良店舗だろ。Nodeより信頼出来るかもしれない。 AirbnbってただのGitHub上の寄せ集めで、誰がやっているかも分からない。 そこでリーダーのリポジトリを見てみたが、バージョン管理システムとかだし。 これでAirbnbを信じるという選択になるのはアホだろ。 まあそれでも選択するのは個人の自由だが。 俺だったらgoogleを読んで、 おや?っと思う点だけは他も確認して、というアプローチにするけど。 そもそも、それ以前に、俺は偶には閲覧中のサイトのコードも覗くようにしてるけど、 全面関数式のコードには遭遇したことがないし。 > JavaScrptに限らない 他言語はこの手の「同じ事が出来る書き方」が何種類も用意されてないんだよ。 だからいちいち迷うことはないんだ。 迷うのはその上の段階の「データ構造」「制御構造」「オブジェクト指向」であり、 これは迷う価値があるから迷えばいいんだよ。
|