[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 05/04 14:57 / Filesize : 153 KB / Number-of Response : 594
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

[JavaScript,PHP] スクリプト言語33 [Perl,Python]



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
クロージャは即時関数とも重なるから
むしろだいたい短いと思うんだけど






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<153KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef