[過去ログ] + JavaScript の質問用スレッド vol.122 + [無断転載禁止]©2ch.net (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
712: (ワッチョイ bf3c-y/cv) 2017/03/20(月)17:04 ID:G9+XvfW+0(3/5) AAS
あとNumber vs parseIntは俺は基本Numberを使う
基数指定が不要で可読性が高いから
parseInt使うのは特別なケース
仕事のコードなら規約に従うけどね
713: (フリッテル MM7f-EJeZ) 2017/03/20(月)17:07 ID:RyskYj8DM(3/4) AAS
> 「自分流」を世の中の「多数派」に合わせることが必要で、
わけも分からず、多数派に合わせるのはお勧めしない。
自分の中で納得できる理屈を確立できるまで突き詰める探求心こそが必要。
流行次第で変化する多数派に合わせることはそれ程重要ではない。
観測範囲によっても多数派は変わるだろうしな。
714: (フリッテル MM7f-EJeZ) 2017/03/20(月)17:22 ID:RyskYj8DM(4/4) AAS
>>711
一般的かどうかは分からないが、関数式を使う人の心理としては「関数定義後に関数呼び出しする原則」を徹底したいのだと思う。
関数宣言では宣言の記述前に関数呼び出しする事が出来てしまう。
勿論、コーディング規約やポリシーで制限することは出来るのだが、宣言前に呼び出したらエラーになる強制力が欲しいと感じるのだろう。

> 関数式使ってるのほうが可読性が低いと感じるコードが多いと思ってる
個人的には同意なのだが、
所詮、可読性は主観的な評価なので慣れてしまえば、どちらでも大した違いはないと思う。
「どちらが可読性が高いか」ではなくて「どちらが自分にとってしっくりくるか」という感覚的なもの。
可読性でいうならアロー関数は可読性が低いと感じるが、新しいもの好きやショートコーダの人は平気で書くだろう。
それは「可読性を落としてでも書くメリットがある」か「自分自身の目を養って自分の可読性能を上げよう度努力した(慣らした)」のだと思う。
省2
715: (アウアウウー Sa37-Rmg3) 2017/03/20(月)17:50 ID:9zw9z92Za(1) AAS
>>707
var、let、と来てるんだからconでいいのに
716: (ワッチョイ f35b-tpgq) 2017/03/20(月)18:23 ID:5J3+8zMD0(3/8) AAS
>>711
> Why?
> Function declarations are hoisted, which means that it’s easy - too easy - to reference the function before it is defined in the file.
> This harms readability and maintainability. 
> If you find that a function’s definition is large or complex enough that it is interfering with understanding the rest of the file,
> then perhaps it’s time to extract it to its own module!
> Don’t forget to name the expression - anonymous functions can make it harder to locate the problem in an Error's call stack.
> ([Discussion](外部リンク:github.com
まずこれが嘘だろ。
関数宣言はどこにでも置けるのだから、関数式を置いている場所においても動作は問題ない。
省17
717: (ワッチョイ f35b-tpgq) 2017/03/20(月)18:25 ID:5J3+8zMD0(4/8) AAS
というのは、C出身の俺は「出来るだけプログラマに委ね、プログラマ自身が最適化すべき」と考えるから。
Pythonはそうじゃないから、彼らは上記を読んだら発狂するのかもしれないが。
ただ、JavaScriptは「何でも出来る系」の言語なんだけどね。
718
(1): (ワッチョイ f35b-tpgq) 2017/03/20(月)19:17 ID:5J3+8zMD0(5/8) AAS
ああすまん、間違ってた。
Pythonは前方参照禁止なんだな。驚きだわ。

Cで糞々と言われる前方参照禁止を採用←Python
COBOL以来(多分)の文法的インデントを採用←Python

Pythonはかなりクレイジーだな。
そしてJavaScriptをPython流にすると関数式強制になるのかもしれん。
なお改行については以下参照
> A Python programmer attempting Java
> 画像リンク[png]:i.imgur.com
諸悪の根元はPythonerか?
719
(1): (アウアウカー Sa57-4frl) 2017/03/20(月)19:37 ID:86KGYLzra(1) AAS
>>718
括弧が気持ち悪すぎる
720: (ワッチョイ 53ee-RygQ) 2017/03/20(月)20:54 ID:jSqJf+ps0(2/2) AAS
つうか何度も話題に出てるがlet,constは巻き上げされないというのは誤り
そもそも変数とはスコープ内で有効になるものなのだから、
スコープ内のどこで宣言されても変数として巻き上げされるのは当たり前
巻き上げされないのは変数自体ではなくて変数の初期化(利用可能化処置)
初期化句以前では初期化以外での参照不可状態に設定されているだけ
このエリアを通称TDZと言う
721
(1): (ワッチョイ f35b-tpgq) 2017/03/20(月)20:58 ID:5J3+8zMD0(6/8) AAS
>>719
すまん、改行じゃなくて括弧だったわ。(まあ改行もだが)
俺は初めて見た時には一瞬フリーズした。
そしてその後、波括弧がうぜーってのはこういうことかーと思った。

>>711
追加。
> でも関数宣言より関数式を使うほうが一般的なんかね?
俺は専門ではないが、少なくとも俺は全面的に関数式のソースは見たことがない。
今数サイト見てみたが、普通に関数宣言が使われている。
そして多分今後とも「全面的に関数式」にはならないと思う。
省13
722
(1): (ワッチョイ bf3c-y/cv) 2017/03/20(月)21:43 ID:G9+XvfW+0(4/5) AAS
>>721
おお改訂されてるね
改訂した理由をいくつかのコード例とともに語られてると参考になるんだけど残念ながらそういうのはないね
723: (ササクッテロロ Sp97-DSCq) 2017/03/20(月)22:50 ID:jJoyVxl9p(1) AAS
javascriptは難解
よくプログラミング初心者にjavascript勧めるやついるけど、とんでもないよ

JavaやPHPの方が簡単
フロントPGが少ないのよく分かるわ
だって難いもん

サーバサイドと違ってHTMLやCSSをブラウザー毎の動きまで踏まえて完璧に読み書き出来ないとダメだし、少し現場から離れるとすぐわかんなくなるし大変だわ
724
(1): (ワッチョイ f35b-tpgq) 2017/03/20(月)23:02 ID:5J3+8zMD0(7/8) AAS
>>722
一応ここはWeb上の議論で改訂されてるらしいから、漁れば出てくるはずだけど、
俺はGit慣れしてないから無理だ。試しに数個ポチって見たが出てこない。
Git慣れしてるんならクローンしてローカルで検索出来るんじゃねーの?知らんけど。
外部リンク:git-scm.com
725
(2): (ワッチョイ bf3c-y/cv) 2017/03/20(月)23:24 ID:G9+XvfW+0(5/5) AAS
>>724
改訂されたコミットみても具体例とか書いてないのよ
外部リンク:github.com
726
(1): (ワッチョイ f35b-tpgq) 2017/03/20(月)23:41 ID:5J3+8zMD0(8/8) AAS
>>725
これちなみにGitHub上で検索した?やっぱローカルクローンから?

なお、見た目は7.11に合わせる為に間違えて修正してしまったようにも見える。
727
(5): (ワッチョイ 5370-RygQ) 2017/03/21(火)14:00 ID:utcvU+/f0(1/3) AAS
なんで
const foo = function () {}
が×なんだろうな
ES2015からこの書き方でもnameが付くようになったでしょ?
728: (ワンミングク MM5f-PRkG) 2017/03/21(火)14:11 ID:AW7YBj5fM(1) AAS
>>727
それ普通にfunctionでいいじゃんw
729: (アウアウウー Sa37-pJ3D) 2017/03/21(火)14:22 ID:XvUQo6M0a(1/2) AAS
>>727
後方互換性を考慮しているのでは?
外部リンク:kangax.github.io
730: (アウアウウー Sa37-pJ3D) 2017/03/21(火)14:27 ID:XvUQo6M0a(2/2) AAS
> const foo = function () {}
Edge 15 でさえ about:flags で設定しなければ使えないので、後方互換性以前の問題か
731: (アウアウカー Sa57-4frl) 2017/03/21(火)14:33 ID:saxGm3bOa(1) AAS
function.nameが空文字で困る場面が思い付かない
1-
あと 271 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.013s