のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,639,912人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

元スレ+ JavaScript の質問用スレッド vol.119 +

JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
201 : Name_Not - 2014/09/10(水) 00:44:47.13 ID:???.net (+42,-29,-68)
>>194
typeof 演算子で回避できる undefined と
typeof 演算子で回避できない window.alert を同列に語ることに疑問を禁じえない
202 : Name_Not - 2014/09/10(水) 00:47:31.31 ID:???.net (+41,-29,-191)
>>200
だからなんでundefiedだけを特別扱いするわけ?

既存の変数に代入できてしまう問題は
なにもundefinedだけじゃないわけよ。

undefined変数に変な値が代入されても大丈夫なように作れというのは
undefined以外の変数に変な値が代入されても大丈夫なように作れと
言ってるのと同じなわけ。

undefined変数以外だと、変な値が入っていたら入れる奴が悪い。で終わりなんだろ?
じゃあundefind変数だって変な値を入れる奴が悪いでいいじゃないか?
203 : Name_Not - 2014/09/10(水) 00:48:18.70 ID:???.net (+63,+29,-25)
>>201
回避できなかったら諦める。
それが許されるならundefinedも回避できないことにして
諦めていいじゃないか?
204 : Name_Not - 2014/09/10(水) 00:52:24.13 ID:???.net (+57,+29,-34)
typeof演算子(もしくはその他の方法)で回避する方法がなければ
こんなバッドノウハウは広がらずに、可読性が高いコードになっただろうな。
凄く残念だ。
205 : Name_Not - 2014/09/10(水) 00:54:03.60 ID:???.net (+69,+29,-115)
>>202
>>189 が undefined について質問しているんだから、undefined に関する話題になるのは当然だろうが
突然、window.alert を持ち出すお前の方がおかしい

> undefined以外の変数に変な値が代入されても大丈夫なように作れと言ってるのと同じなわけ。
おまえは Array.prootype 汚染がなぜ忌み嫌われるかを知らんのか
誰もが正しいコードを書けるのなら苦労はしないんだよ
http://oshiete.goo.ne.jp/qa/5081024.html
206 : Name_Not - 2014/09/10(水) 00:56:14.60 ID:???.net (-12,-29,-17)
つーか、Object.defineProperty を無視するのはなぜだよ?
せっかく答えてやっても無視するんじゃ意味がないわ
207 : Name_Not - 2014/09/10(水) 00:57:49.41 ID:???.net (-1,-29,-21)
ES5 で undefined の仕様がどう変わったのか理解してない人が約一名いるような
208 : Name_Not - 2014/09/10(水) 01:44:17.30 ID:???.net (-10,-29,-160)
質問したちんこのものだけど、
昔のブラウザとかって
undefined=4
typedef 4 === 'undefined'
ってことなん?いま、試せないから聞くが。
もし、上のコードならそんなの対応する価値ねーとは思うので、
=== undefined
でいいや。

>>206
Object.definePropertyってコストが高いだけで、メリットないと思ってる。
セッターとかゲッターとかenumrable属性とか使い分けるんか?
ブラウザ以外の環境であれば重宝するだろうが、ブラウザターゲットにするとなぁ。。。
あとセッターとゲッターってjsってかESの言語仕様と相性いいとは思えんのだけど。
使ったことないからわからんが。
209 : Name_Not - 2014/09/10(水) 02:16:04.34 ID:???.net (+17,-15,-13)
>>186
もしくは配列風オブジェクトって書いてますね
ありがとうございました
210 : Name_Not - 2014/09/10(水) 02:18:19.67 ID:???.net (+68,+29,-27)
>>189
駄目じゃないよ
undefinedに上書きする奴なんているわけないから
211 : Name_Not - 2014/09/10(水) 02:30:32.88 ID:???.net (+0,-25,-6)
>>208
いろいろと誤解してるようだが、ES3 と ES5 仕様を読めば分かる
212 : Name_Not - 2014/09/10(水) 02:41:58.21 ID:???.net (+168,+29,-34)
フェイルセーフという考え方があってだな
「失敗を0にする」より「失敗しても正常動作できる設計にする方」が現実的なのだよ
特にヒューマンエラーを0にするのは難しい
213 : Name_Not - 2014/09/10(水) 02:44:39.88 ID:???.net (+70,+29,-25)
>>194
ほんとそれ
現実には存在しないレベルのキチガイを想定するのはあほくさい
214 : Name_Not - 2014/09/10(水) 02:49:03.48 ID:???.net (+4,-29,-13)
> typedef 4 === 'undefined'
とんでもコードすぎてわらった
215 : Name_Not - 2014/09/10(水) 02:51:11.84 ID:???.net (+109,+29,-73)
>>212
それはアプリケーションレベルのオペレータ向けの設計のはなしで、
プログラムのレベルだとヒューマンエラーを検出するために、入力を絞るのが望ましいだろ
ヒューマンエラーを何でも許容したらプログラムなんてまともに組めねーよ
216 : Name_Not - 2014/09/10(水) 02:53:14.05 ID:???.net (+3,-29,-75)
>>214
でも理屈的にはそーいうのじゃねーのか?
undefined = null
undefined = 0
undefined = false
undefined = ''
このへんやられてもつまらんし、なにがしてーんだよ
217 : Name_Not - 2014/09/10(水) 02:58:16.34 ID:???.net (+4,-29,-35)
undefined=4
typedef 4 === 'undefined'
のような初歩的ミスを晒してるから笑われる
思いつきで適当なこといってると信用なくすよ?
218 : Name_Not - 2014/09/10(水) 02:59:49.28 ID:???.net (+105,+29,-3)
>>215
何でも許容するとは誰も言ってない
219 : Name_Not - 2014/09/10(水) 03:08:23.50 ID:???.net (+3,-29,-88)
>>217
わらわれるとかそんなんええが、
typeof x === 'undefined'
がundefinedへの代入への対応なら、undefined=4にした場合のtypeofの動作がこうなるってことやろ?

そも、検証するブラウザ環境がないからってきいとるんに、モニタの前でわらっとるまえに読解力磨けよ。
220 : Name_Not - 2014/09/10(水) 03:12:16.58 ID:???.net (+111,+29,-18)
>>218
どうでもいいが、
>>212のレスはどこに投げたレスなの?
唐突にフェイルセーフとか言い出した感がいなめんのだが、今日覚えた単語?
221 : Name_Not - 2014/09/10(水) 03:46:04.97 ID:???.net (+90,+29,-6)
仕様書を読めない人は理解することが出来なくて大変だな
222 : Name_Not - 2014/09/10(水) 03:57:49.17 ID:???.net (+89,+29,-71)
>>220
一々煽ってくるとか、おまえは面倒くさい奴だな
「undefined に何を代入しても構わん」といってる奴に対していってるが、面倒だからもうレスがあってもスルーする
意図的なのか天然なのか知らんが、>>45のタイプは面倒くさい
223 : 222 - 2014/09/10(水) 03:59:18.73 ID:???.net (+57,+29,-85)
寝ぼけてるのか文面おかしいな
× 「undefined に何を代入しても構わん」といってる奴に対していってる
○ 「undefined に代入する奴が悪い」といってる奴に対していってる
224 : Name_Not - 2014/09/10(水) 04:09:04.26 ID:???.net (+136,+29,-41)
>>221
仕様書を読まないのは俺だがお前が指してるのは別人だ
2chで人物透視は馬鹿がすることだから気を付けろよ
225 : Name_Not - 2014/09/10(水) 05:29:24.31 ID:???.net (+71,+29,+0)
>>224
お前がそう思うのならそうなんだろう
226 : Name_Not - 2014/09/10(水) 05:37:36.26 ID:???.net (+76,+29,-22)
>>224
仕様書を読まずに理解するとはお前エスパーだな?
227 : Name_Not - 2014/09/10(水) 06:07:36.00 ID:???.net (+70,+29,-4)
>>172の件ですが、
難しいけどなかなかの良書という感触です
228 : Name_Not - 2014/09/10(水) 09:20:11.93 ID:???.net (+43,+15,-20)
クラスを使えるようにする汎用的なライブラリありませんか?
229 : Name_Not - 2014/09/10(水) 10:43:58.12 ID:???.net (+29,+11,-1)
ない
230 : Name_Not - 2014/09/10(水) 11:22:20.96 ID:???.net (+21,+29,-23)
件の荒らしは「ちんこのもの」(>>208)というのか
ネーミングセンスが小学生レベルだな
231 : Name_Not - 2014/09/10(水) 11:24:07.51 ID:???.net (+47,+29,-4)
いや別人だが?
232 : Name_Not - 2014/09/10(水) 12:20:21.04 ID:???.net (+57,+29,-9)
2分で別人といえる人物に一人しか心当たりがないわけだが
特定しやすくて助かるな
233 : Name_Not - 2014/09/10(水) 12:56:58.65 ID:???.net (+46,+23,-6)
意味不明の珍論理わろた
234 : Name_Not - 2014/09/10(水) 20:52:07.11 ID:???.net (+85,+29,-45)
>>212
> フェイルセーフという考え方があってだな
> 「失敗を0にする」より「失敗しても正常動作できる設計にする方」が現実的なのだよ

バグが有る時に、それを隠蔽して動いちゃうのと、
バグが有る時に、問題がすぐに分かるのは、どっちがいいと思う?
235 : Name_Not - 2014/09/10(水) 20:58:50.26 ID:???.net (+57,+29,-20)
ハインリッヒの法則考えると小さなバグでもすぐに分かるようにすべきだわな
236 : Name_Not - 2014/09/10(水) 21:01:12.80 ID:???.net (+3,-29,-85)
undefinedがundefinedでない状況ってのはバグそのものなので、
コードの冒頭でundefinedがundefinedであることを確かめるのが
一番いいだろうね。

そして後は普通に===undefinedで比較する。
237 : Name_Not - 2014/09/10(水) 21:38:47.39 ID:???.net (+57,+29,-23)
undefined が書き換えられても動くのならそのプログラムにおいてはバグではない
考え方がおかしいわ
238 : Name_Not - 2014/09/10(水) 21:43:38.08 ID:???.net (-1,-29,-23)
typeof x === 'undefined' が冗長で気持ち悪いというのが
根本的な問題。

これさえ解決する方法ならいいよ。
239 : Name_Not - 2014/09/10(水) 21:44:21.52 ID:???.net (+63,+30,-108)
付け加えると、「バグがある」と「バグを発見しやすい」は全くの別物
バグがあれば、バグが発見できるというのはバグが自動的に発見できる仕組みを作って初めて意味をなす
具体的には undefined が書き換えられたら自動的に例外を発生させる仕組みとかあって意味がある
バグがあればバグが発見できるは短絡思考すぎる
240 : Name_Not - 2014/09/10(水) 22:05:45.50 ID:???.net (-2,-30,-69)
<font color="#FFA500">Error</font>;
を表示させるときは、
$("#result5").html("<font color=\"#FF0000\">Error<\/font>");
として、\"と\/でエスケープしたらよろしいでしょうか?
241 : Name_Not - 2014/09/10(水) 22:09:33.78 ID:???.net (+36,-30,-126)
IE11のエミュレートIE8でjqueryに
undefined=4
のコード入れてみたが、
問題のtypeof x === 'undefined'の部分はまぁ、正しく判断したんだろうが
別の箇所でエラー処理に引っかかった。
結局、undefinedが上書きされてることを通知してないわけだから、
バグの原因(無意識的にundefinedを上書きしてること)を検出してないから無駄な努力だな。
242 : Name_Not - 2014/09/10(水) 22:26:31.90 ID:???.net (+62,+29,-16)
>>241
それはjQueryのバグであって本質的には関係ない
243 : Name_Not - 2014/09/11(木) 05:06:13.10 ID:???.net (+63,+30,-43)
バグというか、きちがいのコードが混入してるってことだな
でもそんなことはまずない
trueやnullに上書きするくらい不自然なことだから
きちがいというより意図的に破壊しようとしない限りそんなことはしない
244 : Name_Not - 2014/09/11(木) 05:44:10.70 ID:???.net (+0,-28,-17)
いいこと考えた
undefinedの代わりに絶対存在しないような変数名使えばいいんじゃね?
assholeとか
245 : Name_Not - 2014/09/11(木) 06:50:45.75 ID:???.net (-1,-29,-47)
preventDefaultとreturn falseって機能的にまったく同じですか?
246 : Name_Not - 2014/09/11(木) 07:03:22.82 ID:???.net (+3,-30,-199)
http://stackoverflow.com/questions/11412044/javascript-alt-key

document.onkeydown = keydown;

function keydown(evt) {
if (!evt) evt = event;
if (evt.altKey) {
alert('alt');
}
} // function keydown(evt)?

この突然出てくる「event」ってなんなんですか?
イベントオブジェクトを破棄してグローバル変数のeventを代入していますが
グローバルにそんなオブジェクトがあるんですか?
247 : Name_Not - 2014/09/11(木) 07:15:26.51 ID:???.net (+54,+26,-49)
どうもIE4の時代はwindow.eventというオブジェクトがあったようですね
二年前の質問なのに何故それが問題になるのか分かりませんが・・
248 : Name_Not - 2014/09/11(木) 07:55:38.29 ID:???.net (+3,-30,-101)
960 自分:Name_Not_Found[sage] 投稿日:2014/08/28(木) 00:39:34.69 ID:???
altキーの入力を処理するように組んだコードは
macでも問題なく動くのでしょうか?
altと同じような場所にあるalt的なキーはaltと同じコードを持っているのでしょうか?

という質問をした者ですが、optionキーがaltに相当するようです
というかよく見たらoptionキーにaltと刻印されていました
249 : Name_Not - 2014/09/11(木) 08:17:19.18 ID:???.net (+9,-30,-94)
metaKeyという属性の存在を知りましたが
これは一般的にウェブアプリで使っていいものなのでしょうか?
metaKeyはwindowsではwindow、
macではcommandに相当するとあります。
しかしbootcamp上のwindowsで、windowキー相当のキーを押してもmetaKeyがtrueになりません
このような動作からも、あまり使わない方がいいものではないかと思われてきます
もちろんbootcamp上のwinは一般的な環境とは言えませんが
皆さんはどうやってますか?
250 : Name_Not - 2014/09/11(木) 09:30:22.55 ID:???.net (+96,+29,-70)
DOM仕様を読めば分かる内容で「~でいいのでしょうか?」という質問ばかりですが、どうにもならないんですかね?
上の undefined にまつわる問題も思い込みと主観による反論があって萎えるのですが。
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について