JavaScriptは消滅すべきだったよな (767レス)
前次1-
抽出解除 レス栞

486
(2): デフォルトの名無しさん [sage] 2013/02/01(金) 17:29:09.66 AAS
>>485
485(5): デフォルトの名無しさん [sage] 2013/02/01(金) 15:57:37.43 AAS
別にvarが無くたって変数が暗黙的に定義できてクロージャが使える言語なんていくらでもあるでしょ。
>>483は曲解過ぎる。


JavaScriptのvar無しでの振る舞いの仕様がウンコであることはstrictモードの存在自体が証明している。
varみたいなものが無い場合、
上位のスコープで使ってるかもしれない名前の変数をローカルで使いたいときはどうするの?
デフォルトでは上位のスコープを見に行かないとか?
487
(2): デフォルトの名無しさん [sage] 2013/02/02(土) 07:20:59.56 AAS
>>484
484(2): デフォルトの名無しさん [sage] 2013/02/01(金) 14:35:09.01 AAS
>>483
varは、同じ変数が上位のスコープにあったらそれを隠蔽するという仕様なだけで、
> 実際は「自分より上位のスコープにある、同名の変数を隠蔽する」機能
というのは変だぞ。
> ローカル変数を定義する
こっちが本筋の機能でしょ。
悪いが仕様を語るならまず仕様を読め。
「同じ変数が上位のスコープにあったらそれを隠蔽するという仕様」とやらで

alert(a)
var a = "A"



alert(a)
a = "A"

の振る舞いの違いを説明してくれ。

>>486
何を言いたいのか解らんがJavaScriptも変数宣言は環境ローカルしかないぞ。
488
(4): デフォルトの名無しさん [sage] 2013/02/02(土) 09:17:48.28 AAS
>>486
レキシカルスコープの中での変数名の重複を許していない言語が多い。つまり、宣言時に外の
スコープで既に宣言されている変数名は内側のスコープでは新たな変数名としては使えない。
そしてこれはクロージャが使える云々とは全く関係がない。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.347s*