JavaScript 4©2ch.net (398レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
36(2): デフォルトの名無しさん [sage] 2015/02/16(月)11:42 ID:8Z58kFg+(1/6)
>>33
キモいってのは
(function() {
}());
ぐらいで他は特にないけど何がある?
39(1): デフォルトの名無しさん [sage] 2015/02/16(月)13:36 ID:8Z58kFg+(2/6)
>>38
巻き上げの説明でよく出てくる例
var myname = "global";
function func() {
console.log(myname); //出力内容は?
var myname = "local";
console.log(myname); //出力内容は?
}
グローバルと同じ名前のローカル変数を定義してる時点で問題があるが、別の言語だと
"global"
"local"
と出力されるだろうが、そもそもローカル変数にアクセスしようとしてたら
どっちみち意味不明なバグになる
JavaScriptは親切に
undefine
"local"
としてくれるから逆に分かりやすい
セミコロンの問題はわざわざヘンテコな書き方をしない限り誰も問題とは思ってない
しいて上げれば末尾カンマの方が問題だ
ただ全部jshintをすれば事前に分かるから普通に書けば問題にはぶつからない
>>36のイディオムだけは使いまくるからどうにもならんけどな
41: デフォルトの名無しさん [sage] 2015/02/16(月)15:59 ID:8Z58kFg+(3/6)
>>40
根本的に仕様が違う言語を持ち出すなよ
巻き上げの話しをしてんだから、せめて同名ローカル変数を許す仕様じゃないと比較する意味無いだろ
そんな事言ったら
同名ローカル変数を許す言語<許さない言語という結論で終わる(それには同意する)
jshintのデフォ設定ではセミコロン省略すると大量に警告が出る(>>40で2つ警告が出てる)
> とかくと10が関数でないってエラーが出るし、
エラーになるならそれでいいだろ
> 関数返したりするとエラーすら出なくなるんだけど
どういうコードか分からんかったが、それはエラーじゃないんだろ
42(1): デフォルトの名無しさん [sage] 2015/02/16(月)16:30 ID:8Z58kFg+(4/6)
>>40
https://github.com/then/promise
ちなみに↑このライブラリの人はセミコロンを一切書いてない(lib内のソースとか)
それだけで使う気は失せたが一応ちゃんと綺麗に書けてる
44(2): デフォルトの名無しさん [sage] 2015/02/16(月)17:32 ID:8Z58kFg+(5/6)
>>43
> 同名ローカル変数は許すよ。
お前何様だよ
> test() //無=>ABC 有=>AD
残念大間違いw
test() //無=>ABC 有=>ABC
45: デフォルトの名無しさん [sage] 2015/02/16(月)17:38 ID:8Z58kFg+(6/6)
>>44
違ったあってた
そもそも
(function(){console.log("D")})()
↑この書き方がイレギュラーな書き方なんだよ、それは最初に言っている
どんな言語だってコーディングスタイルの違いで変な書き方なんてあって当たり前だ
JavaScriptだけが特別じゃない
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.027s