トップページ > プログラム > 2015年02月16日 > AmwLqaSG

書き込み順位&時間帯一覧

10 位/216 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000001001010000104



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
JavaScript 4©2ch.net

書き込みレス一覧

JavaScript 4©2ch.net
38 :デフォルトの名無しさん[sage]:2015/02/16(月) 12:57:21.51 ID:AmwLqaSG
>>36
http://bonsaiden.github.io/JavaScript-Garden/ja/
特に巻き上げとか意味不明
あと、自動セミコロン挿入関連の書き方の宗教とか
JavaScript 4©2ch.net
40 :デフォルトの名無しさん[sage]:2015/02/16(月) 15:23:28.07 ID:AmwLqaSG
>>39
C#とかPythonだと上位スコープと同じ名前が後でローカル変数として宣言されるときは、宣言前に使うと構文エラーになって100倍わかりやすいんだが

あと
b = 10
(function(){})()
とかくと10が関数でないってエラーが出るし、関数返したりするとエラーすら出なくなるんだけど、セミコロン省略派の人はjshintで問題を見つけられるの?
JavaScript 4©2ch.net
43 :デフォルトの名無しさん[sage]:2015/02/16(月) 17:23:39.47 ID:AmwLqaSG
同名ローカル変数は許すよ。javascriptで巻き上げてundefinedになる状況がエラーになる。
http://ideone.com/7fi2bK

セミコロンで挙動が変わるのは極端だけどこういうの
function test()
{
・・console.log("A")
・・return function(){
・・・・console.log("B")
・・・・return function(){ console.log("C") }
・・}
}
test() //無=>ABC 有=>AD
(function(){console.log("D")})()

もっと単純でこういうのもあった
var a = [["A","B"],["C","D"]]
[0].map(function(i){ console.log(i);})

あと、即時関数も書いた人の宗教によって
(function(){ console.log("test1"); })();
(function(){ console.log("test2"); }());
+function(){ console.log("test3"); }();
みたいにいろんな呼び方があってキモいじゃん?
想定外の書き方が来ると?になるから、統一してほしい

>>42
boostrapなんかもセミコロン省略教だったりする
上みたいな状況がどうしても出てくるなら、行の先頭にセミコロンつけろだとさ
JavaScript 4©2ch.net
46 :デフォルトの名無しさん[sage]:2015/02/16(月) 22:06:33.25 ID:AmwLqaSG
>>44
>お前何様だよ
いや、お前が同名ローカル変数を許す言語にしろって言ったんだろ
念のためだが、俺が許すんじゃなくて、(C#やPythonの文法が)許すだからな?

>どんな言語だってコーディングスタイルの違いで変な書き方なんてあって当たり前だ
>JavaScriptだけが特別じゃない
設計じゃなくて文法と仕様が奇怪なのがjavascript
しかも、ときどき理解せずに踏んでしまう可能性がある

どの言語もしない変数の巻き上げ、使い物にならないtypeof、未定義値と限らないundefined、なぜかスコープを作らないブロック、オブジェクトなどに演算子を適用してしまうとエラーも出さずする不可解な挙動
配列は連想配列のように使えるけどfor inが安全に使えない、lengthが要素数を返さないなどなど、歴史上しょうがないのはわかるが、きもい

funtion(){}()と書けない理由も知らないで使っている人が多そう
別にjavascriptが嫌いなわけではないんだけどな


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。