のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,481,798人
昨日: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,-159)
    質問したちんこのものだけど、
    昔のブラウザとかって
    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,-35)
    フェイルセーフという考え方があってだな
    「失敗を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 (+45,+22,-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 スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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