JavaScriptは消滅すべきだったよな (767レス)
上下前次1-新
抽出解除 レス栞
488(4): デフォルトの名無しさん [sage] 2013/02/02(土) 09:17:48.28 AAS
>>486486(2): デフォルトの名無しさん [sage] 2013/02/01(金) 17:29:09.66 AAS
>>485
varみたいなものが無い場合、
上位のスコープで使ってるかもしれない名前の変数をローカルで使いたいときはどうするの?
デフォルトでは上位のスコープを見に行かないとか?
レキシカルスコープの中での変数名の重複を許していない言語が多い。つまり、宣言時に外の
スコープで既に宣言されている変数名は内側のスコープでは新たな変数名としては使えない。
そしてこれはクロージャが使える云々とは全く関係がない。
489: デフォルトの名無しさん [sage] 2013/02/02(土) 15:10:12.25 AAS
>>488
レキシカルスコープ上で変数名の重複を重複を許さないとか、そんな変態的な仕様な言語は多くないだろ
そもそもLISPがそんな仕様じゃないし
そういう言語だと、関数の仮引数も同じく関数スコープ上で重複をゆるされなかったりするのか?
502(1): デフォルトの名無しさん [sage] 2013/02/05(火) 04:54:32.74 AAS
>>501501(1): デフォルトの名無しさん [sage] 2013/02/05(火) 04:33:59.93 AAS
そもそもvarいらね〜だなんて誰も言っていない件。
>>480480(3): デフォルトの名無しさん [sage] 2013/02/01(金) 08:46:35.54 AAS
varみたいな修飾子をつけると影響範囲が広くなる、ならまだ解るのだけれども「つけ忘れると意図せず
影響範囲が広くなる」と言うのは関心の分離という意味では筋の悪いデザインだと思う。
つけ忘れる可能性があるものは何時か必ずつけ忘れるのだから。
var一つで済ますのは良いのだけれども、使い方が逆なんだよね。
とか>>485485(5): デフォルトの名無しさん [sage] 2013/02/01(金) 15:57:37.43 AAS
別にvarが無くたって変数が暗黙的に定義できてクロージャが使える言語なんていくらでもあるでしょ。
>>483は曲解過ぎる。
で
JavaScriptのvar無しでの振る舞いの仕様がウンコであることはstrictモードの存在自体が証明している。
とか>>488とかかな
503(1): デフォルトの名無しさん [sage] 2013/02/05(火) 05:17:00.45 AAS
>>502
どれ一つとしてもvarいらね〜だなんて言っていない件w
>>480は暗黙の変数がグローバルスコープで作成されるのは筋が悪いと言っているだけだし
>>485は"「変数は暗黙に定義される」って軽量言語らしい所と、クロージャが使えることを
両立"するのにvarは必須ではないといっているだけだし、
>>488は言わんとする意味がわからんが少なくとも「varいらね〜」とは一言も言っていない
のはわかる。
var無しでの振る舞いに文句を言うのとvarはいらね〜と文句を言うのは全く別問題だぞ。
504: デフォルトの名無しさん [sage] 2013/02/05(火) 06:14:34.43 AAS
>>503
>>480はグローバルとか言ってない。varみたいにローカル変数に宣言をつけるんじゃなくて、
スコープ外部を参照する変数の方に宣言をつける方式の方がいいってことだろ
>>485は必須ではないってことは無くても良いってことじゃん
>>488はCoffeescriptみたいに全部宣言無しで変数重複を許さない方式にすればいいから
varの方式である必要はないって意見だな
実際Coffeescriptはvarいらねーって主張からそういう方式になった
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.041s