- 1 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 13:55:49.86 ]
- JavaScript, Perl, PHP, Python, …
スクリプト言語をすべて扱うスレッドです。 最強のスクリプト言語は、どれよ? さあ、死ぬまで語りやがれ!!! ■ スクリプト言語の用途 簡易Webアプリ、シェルスクリプト ■ スクリプト言語の特徴 1レスで書ける程度の使い捨ての短いコードなら作成が容易だが 実行速度は劣っており、2人以上の開発、1000行を超えるソースコード、 10ファイル以上からなるソースコード、大規模になればなるほど 修正時の影響範囲の把握が困難で簡単なスペルミスが 発見しづらいバグを生み、IDEなどの静的解析ツールの適用が難しく 何から何まで人手でやらなければならずプログラマの負担が大きい。 ・インタプリタ ・動的型 ・正規表現 ・クロージャ などを利用できるものがある。 1レスには収まらないが100行程度の短いコードはここで ttp://play.island.ac/codepaste/ toro.2ch.net/test/read.cgi/tech/1365250318/
- 252 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:16:21.63 ]
- >>248
そうそうそれのこと。 グローバルな変数を書き換えることができて それを防ぐ方法がない。 これがJSというカス言語
- 253 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:17:49.08 ]
- >>252
防ぐ方法はあるだろ あんまり変な事書くなよPython使いが皆アホだと思われるだろ
- 254 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:18:30.76 ]
- strictモードで防げるじゃん。
やっぱり無知だったか。 アハハハハ
- 255 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:20:41.17 ]
- Python使いが皆アホということで結論が出ました
はい、撤収ーw
- 256 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:21:32.60 ]
- なんだ Perl のパクリか(棒)
- 257 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:24:06.89 ]
- あれれ〜、var宣言があるからクロージャが楽なんじゃなかったの?
その代わり「普通の」関数には宣言がいるのか、トホホ… 危険を承知で糞仕様にしたから、あとから継ぎ接ぎ対策したのか そしたら一層、大量のvar宣言がつくづく無駄でしかないのだが?
- 258 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:25:36.30 ]
- >>257
いいから比較して書けよ 話はそれからだ。 無知なPython厨をいたぶるのは楽しいね〜w
- 259 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:26:25.56 ]
- 安全モードがデフォじゃないのは危険な操作が普通に必須だからだろうな
- 260 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:28:24.21 ]
- >>259
意味不明。安全モードは英語にしたらsafe modeだ。無知すぎ
- 261 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:29:17.26 ]
- JSのデフォである危険モードを対比して言っただけだから
- 262 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:30:58.95 ]
- どこから危険モードなんてでてきたんだ?
危険モードが有るんだったら 安全モードがあるのかよ? 無いよ。安全モードなんてねw
- 263 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:31:03.56 ]
- え?use strictで防げるのか?
JS厨だがそれは知らなかった 通常var忘れるのは防げるが、外の変数とかぶっても防げたのか
- 264 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:34:47.93 ]
- strictって日本語に翻訳したら
安全って単語だが? ってどや顔していってほしいwwww
- 265 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:35:45.16 ]
- 内側の関数に責任を持つのは通常自分なので、ミスさえしなければ
通常問題は起きないのが救い メリットとデメリットを考えるとメリットの方が大きいけど クラスだけではjavascriptはとっくに廃れてた
- 266 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:38:23.25 ]
- use strictを使えば通常はvarを強制できる
いきなりスペルミスで変数を宣言してしまうpythonの方がよっぽど危険
- 267 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:39:54.89 ]
- >>262
デフォは危険だろ。そこは反論できないはずだ だってそれを防ぐ方法を作ってるんだからw 糞言語すぎ
- 268 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:41:14.88 ]
- >>267
頭悪いの? 静的型付け言語が安全って言いたいの?
- 269 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:43:15.91 ]
- >>248
そもそもpython以外でこれができない有名言語ってあるの?
- 270 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:44:28.11 ]
- 静的言語は動的言語より安全だと思うけど
静的言語でもスペルミスによる意図しない変数の変更は防げないだろうねw で、デフォで危険な事実は否定できてないなあ
- 271 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:44:33.40 ]
- 少なくとも、C/C++、Java、Schemeは出来る
- 272 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:45:10.61 ]
- そういえば、Haskellは代入自体が出来ないな
- 273 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:45:21.36 ]
- >>266
> いきなりスペルミスで変数を宣言してしまう どんなコード?
- 274 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:46:36.11 ]
- >>273
test = 2 teest = 3 #ああ、testを変えたつもりが新しい変数に!
- 275 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:46:41.67 ]
- >>263
ここで暴れてるのは偽JS厨だから
- 276 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:47:13.79 ]
- >>274
それは危険だなwwww
- 277 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:47:59.28 ]
- >>274
もっとちゃんとしたコードにしてくれよ うちのvim + pyflakes だと、宣言だけして未使用の変数は 警告で色付けされるから一目で分かるんだよ
- 278 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:50:15.59 ]
- >>277
よくわからんが、こうすればいいのか? test = 2 use(test) teest = 3 use(teest) #変数名の間違いに気づかず補完してしまった!
- 279 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:51:32.54 ]
- >>263
どういうこと?
- 280 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:51:37.52 ]
- >>278
補完するときに候補が複数でる(testとteest)から気付くよ もっと真面目に考えてくれよ
- 281 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:52:03.00 ]
- アンチJSの人は結構有用なレスしてくれるようになったな
人格批判ばかりするのとは別人か
- 282 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:54:28.40 ]
- >>280
補完は言語の機能ではありません。
- 283 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:55:04.20 ]
- >>280
じゃあ、補完じゃなくてコピペで
- 284 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:55:13.05 ]
- JS厨は何人もいるだろうが、アホなJS厨は一人しかいないと思ってる
そこでここのアホなJS厨(中傷されてるお前だよ)に聞きたいのだが お前は以外にもアホなJS厨(毎日一日中妄想垂れ流し野郎)はいるのか? お前みたいなのが複数人いるとかさぶいぼ立つけどアホなJS厨は何人いる?
- 285 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:56:42.63 ]
- >>284
多分、お前は俺も中傷してるけど、他の奴も中傷してると思う 現実とはそんなもん
- 286 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:57:02.77 ]
- なめJS厨はスペルミスによって外部変数が変更されうるという事実に気づかないのだろうか
- 287 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:59:06.53 ]
- JS厨は優しさが垣間見える
あまり他人の中傷はしない
- 288 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 22:59:37.30 ]
- >>285
つまり、今はライブラリないけど将来は必ずあるとか、 google様が考えた言語と違うから糞言語とか言ってるJS厨が複数人いるのか。うわあ JS厨やべーな・・・
- 289 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:01:10.82 ]
- JS厨は最初は句読点で平静を装って妄想を垂れ流すが
痛いところを疲れると草を生やして開き直って煽りまくる
- 290 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:01:26.58 ]
- >>288
お前が中傷してるのはもっと前からだろう?w
- 291 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:02:17.13 ]
- >>282
補完って言い出したの>>278だが…… それはともかく、エディタやツール類のサポートは一切考慮しないってこと? ライブラリの件と同じく、そういうのが大事だと思うが……
- 292 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:02:49.86 ]
- >>289
それが一人だと思ってるのか 良く規制に引っかからないな IP使い分けてるのか
- 293 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:03:43.54 ]
- スペルミスは言語の責任じゃないけど
これだけ使われてる言語にしてはまともな開発環境がないのが問題だよな いっそブラウザに載せればいいのに 今でもChromeのコンソール使うと一応保管や保存できるが 前使った時はどうも挙動があやしいのでやめた 新しいファイルは作れないから 一旦別のエディッタで作ってからみたいになるし
- 294 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:04:33.28 ]
- >>291
ちなみに278は283のレスをしてるだろ
- 295 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:05:24.80 ]
- >>290
JSは奇跡の言語とかJSで凄い時代になるとか気持ち悪い煽動を始めた辺りから 叩いてるけど懲りずに毎日同じ妄想を垂れ流してる奴が お前以外にいるのか?おそろしい
- 296 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:07:18.07 ]
- あ、あとスペルミスはuse strictして
JSエンジンの設定弄ればV8でもFFのやつでも警告でたはず(実行前に) JSでも静的解析はできるがevalとかがある都合上OFFになってる
- 297 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:08:28.58 ]
- 高機能化して欲しいのになんでブラウザ?
一番高機能なIDEであるVSがブラウザで動いてるところを想像できない
- 298 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:08:41.67 ]
- >>293
右クリックの保存の挙動が怪しいの? 今は多分大丈夫と思う Chrome Canary使ってるけど
- 299 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:08:55.20 ]
- >>294
補完が使えるのにコピペなんてしないから、 もっと現実味のある理由を考えて
- 300 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:09:52.95 ]
- >>295
俺の前は知らんが、今は俺一人だ ちなみに俺はソース書いてるJS厨
- 301 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:10:47.73 ]
- vimプラグインの補完は凄いと聞く。俺は数行の編集でしか使わないけど
あと最近はsublimeのステマをやたら聞く
- 302 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:11:20.89 ]
- JSでvarつけ忘れて外部変数とぶつかったらどうなるの?教えて!警告でるの?
- 303 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:11:48.81 ]
- >>299
実はダブルクリックの方が補完より速い場合あるから マウス毛嫌いしてないで試してみ? vimだから嫌いそうだけど
- 304 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:12:23.20 ]
- sublimeは実際凄いよ
vimよりいいかも
- 305 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:13:25.80 ]
- >>300
ソース書くって、今日も例を示せと数十回言ったけど返ってきた記憶がない
- 306 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:14:37.56 ]
- >>305
まあほとんどJSのソースしか書いてないからな たまに議論のついでにちょろっと小さいコード片をいれるくらい
- 307 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:17:00.39 ]
- デタラメを重ねすぎて狼少年にしか見えない
- 308 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:17:21.27 ]
- >>297
デバッガとセットになってて欲しいし HTML上で使う場合はブラウザ使うし HTMLの画像とか他のファイルも一元管理できた方がよくない? >>298 今度試してみるかな とは言え最近はNode.jsばっかり書いてるんだけどね Node.jsでもブラウザをデバッガとして使うんだけど ココら辺ももう少し連携しやすくして欲しいなあ >>302 出ないよ それで出たら親スコープの変数触れないじゃん そうじゃなくて明らかに出てきてない変数から代入しようとしてたりするケースみたいなのは JSエンジンのオプションで出せるようにできる あとはvarを必至にすることでスペルミス軽減
- 309 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:17:47.57 ]
- クラスターのプログラム書くときにベクトルのライブラリをググったら
sylvesterとかいうのしか引っかからなかったから 数値計算は相当苦手なのはわかった まあ低機能だから適当に説明読んで即使えたけどw
- 310 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:18:48.12 ]
- だからさ、親と子で宣言子付けるのが逆なんだよね
それで意味もなくvarだらけのコードになる
- 311 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:20:04.26 ]
- 「normって何?」と言ってるJS厨がいて数値計算は相当苦手なんだなあと思った
- 312 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:21:19.40 ]
- 俺みたいに理系の院行ってるならノルムは当然知ってるけど、それ以外の一般人は
普通に分からんだろうね
- 313 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:21:56.12 ]
- >>310
何言ってるのかさっぱりわからない。 クロージャーは、関数外部の変数を見れたらいけないと言いたいのか? それはもはやクロージャーではない。 なぜならクロージャーの要件の一つが外部の変数を見れること。
- 314 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:22:37.48 ]
- >>311
知ってるか知ってないかの違い ググればわかるようなことを 自慢げに言われてもなw
- 315 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:22:44.91 ]
- >>313
pythonが真のクロージャを備えていないことが よっぽどコンプレックスなんじゃないの
- 316 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:25:11.17 ]
- Pythonに真のクロージャがないとか
JSのクロージャは危険じゃないとか 言ってる奴はアホだろ
- 317 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:25:46.24 ]
- なんか1周回って戻ってきたな
Pythonのレキシカルスコープがちょっと変わってるんで、それを調べてから書き込んだほうがいい JS厨の俺としてもうんざりですよ
- 318 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:26:21.82 ]
- Javaで内部クラスをクロージャとして使うと
外部スコープはfinal変数しか参照できないけど、 そんな感じで、読むのは良いけど書くのはダメってのは わりとありがち
- 319 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:27:56.20 ]
- >>314
自慢じゃなくてかなり基本的なことだから、共通基盤が違うんだなあと ノルムと言って伝わらない人は確かに科学的な計算しないと思う
- 320 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:27:56.92 ]
- pythonでも一応外部の変数を「見る」ことはできたはず
代入が出来ないだけ
- 321 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:29:53.60 ]
- >>318
F#とかもそうなんだっけ そういう安全装置は意味あるし、pythonのスコープがおかしいって指摘が微妙だよな
- 322 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:30:47.60 ]
- >>319
そいつは本当に自分が知らないことを聞いているのか 一般的な事柄としてそういう疑問があると言ってるのか、 そしてついでにいえば、そいつがどのレスと同一人物なのか もう少し注意深く見た方が良い
- 323 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:31:14.37 ]
- 外部変数に代入したくないときに明示するか(var)、
代入したいときに明示するか(nonlocal)の違いじゃないの? 激しくどうでもいい
- 324 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:31:45.32 ]
- >>318
それってfinalじゃなくても良くなるって話を随分前に聞いた覚えがあるけど、 Java7でもまだだっけ?
- 325 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:32:15.33 ]
- Pythonってどうしてそういう仕様にしたんだろう
当然良いことも悪いこともあると思うが 自分には他の言事の差別化が大きいのかなと思ってしまう
- 326 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:33:03.21 ]
- もしかして、pythonが簡潔を売りにしてる割にはself地獄なのも似たような思想なのかね
危険だとか
- 327 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:35:13.75 ]
- >>323
JSのが明らかに危険なのにどうでもいいってw >>322 それこそ本当にどうでもいいです。 科学的なコードに対して一般的に聞くことにどんな意味が? JSで書いたほうが良いと言ってた奴だったと思うよ
- 328 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:36:21.07 ]
- Python節、まあいいと思うよ
でも外側のスコープ変数変更出来ない方が普通だとは思わないな 変更されない、方を特殊に扱った方が自然だと思う JSだってそれはできるし
- 329 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:38:22.45 ]
- >>328
それは超初心者レベルのプログラミングも分かってないってこと 意図しない副作用に注意するなら、変更する場合に明示するほうが自然だろ
- 330 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:38:27.76 ]
- >>327
レス見てきたけど、趣旨としては一般的なことだね normは確かに数学の用語だけど、norm以外にもいろいろ挙げてる から意味はあるね normを揶揄するのは揚げ足取りの類い
- 331 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:39:53.56 ]
- >>285
変更不可な変数の宣言と混同してる
- 332 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:39:58.67 ]
- >>329
確かに これはnonlocalの方が優れてるわ まあselfは気に食わないけど
- 333 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:40:33.94 ]
- >>324
final変数しか参照できないって不便だよな。 for(final int i : list) { //クロージャー呼び出し } for(int i : list) { final int i_ = i; //クロージャー呼び出し } いちいちfinal付けるかfinalつけた変数に代入しないといけないんだよな。
- 334 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:41:43.58 ]
- >>329
自分で書いておいてその程度の事が意図しないとかいう感覚がわからない 内側のスコープにその変数を使ってるもんだと思って、 実際には無くて、外側のいじっちゃいけない同名の変数を 意図せず弄って問題が起きることがあるってこと? 簡単な具体例を説明して欲しい
- 335 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:42:38.02 ]
- >>333
拡張forでfinal宣言するのは常識 > Java セキュアコーディングスタンダード > 01. 宣言と初期化 (DCL) DCL02-J. 拡張 for 文のループ変数は必ず final 宣言する www.jpcert.or.jp/java-rules/dcl02-j.html
- 336 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:42:51.63 ]
- >>334
滅多に起きないけど、varを忘れてしまった場合にありうる
- 337 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:44:09.47 ]
- >>335
マジか これは良い情報 まあ仕事じゃレビューでfinalとってくれって言われるのが落ちだろうけど
- 338 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:45:06.87 ]
- >>324
Java8で、final値だと自明な場合はfinalを書かなくても final変数として参照できるようになる、らしい
- 339 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:45:58.38 ]
- クロージャが呼ばれるときその中身は見えないし、その変数はそのクロージャ以外でも使われるのなら
変数の中身は当然追いにくくなるし、クロージャは基本的にメリットない気がする なんで引数で渡したりしないの?
- 340 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:46:33.01 ]
- >>336
あー、言いたいことはわかった気がするけど ちょっといろいろと仮定が都合良すぎるな 確かに一昔前なら実際起きてそうなことだと思うけど 今は皆慣れてコーディングスタイルとかも良くなってきてるし そのためにstrictmodeもあるしね
- 341 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:48:11.95 ]
- strict modeの存在自体が危険性を示唆してるし
なんで普通の関数にそんなものを付けなきゃいけないのか謎 クロージャにだけ付ければ良いし、そしたらvar宣言自体が無駄 という結論ではダメですか
- 342 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:49:43.39 ]
- クロージャを普通に使うJSではそれが逆に大変になるということだろうな
- 343 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:52:10.68 ]
- >>339
それはさ、クロージャをクラスに置き換えても同じことが言えるんじゃない?
- 344 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:52:23.01 ]
- var付け忘れというより、varつけて宣言した変数を使うつもりで変数名タイプミスして
グローバル変数になるとかのパターンが、かなり危険だね なので"use strict"が導入された >>341 "use strict"は関数毎につける必要はないよ 実質モジュール単位で有効にすればいい
- 345 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:52:59.24 ]
- >>341
どういうこと? 今話してた意図せずスコープリークしてしまうのを防ぐ役目があるじゃん? クロージャにだけ固いスコープが必要? よくそのメリットがわかんないな
- 346 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:53:54.26 ]
- >>344
だからさ、それ本当にuse strictで防げるのか? 俺の手元のテストコードがおかしいのか?
- 347 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:54:23.89 ]
- >>343
クラスは変更される変数と独立してないだろ
- 348 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:55:28.33 ]
- >>345
クロージャはコードが長くなりがち。 長いコードはスコープが広いのと同じことになる。 つまり何処で変数を変更しているかわかりにくい。 影響範囲を狭くするために 外のスコープに一切アクセス出来ない クロージャ(?)が必要。 これをクロージャと呼ばないとかどうでもいい 違う名前でいいから、そういうものが必要。
- 349 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:55:53.00 ]
- use strict で防げる派と防げない派がいるけど
- 350 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:56:01.24 ]
- >>347
メソッドはフィールド変数と独立してるじゃん 同じじゃないの? 外側のクラスに囲まれてるから独立してないというのなら、 クロージャだってさらに外側のクロージャに囲まれているの だから独立してない
- 351 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:57:09.50 ]
- だからさ、varつけて宣言した変数を使うつもりで変数名タイプミスして
それが偶然グローバル変数とバッティングした場合は use strict付けてても無力ってことだろ そんなレアケースどうでもいいわ
- 352 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:57:31.88 ]
- >>346
varで宣言してない変数を触ろうとするとエラーになるんだから 意図しない外側の変数やグローバル変数を弄ることがないってことでしょ? それでも何か不満があるの? >>348 クロージャは即時関数とも重なるから むしろだいたい短いと思うんだけど
|

|