のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,837人
昨日: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
    801 : Name_Not - 2014/10/01(水) 00:38:08.61 ID:???.net (+72,+29,-44)
    >>800
    世の中は広いんだぞ。
    ググれば最適な方法あるのに、デバッガで見つけたもん参照してるやついるんだぞ。
    もう、どうすればええねんw
    802 : Name_Not - 2014/10/01(水) 06:36:41.78 ID:???.net (+3,-30,-53)
    質問です
    var img = new Image();
    img.src ='hogehoge.jp';
    で作ったimgをhtmlで描写する前にココでプロパティとか使ってトリミングする方法ってあるんでしょうか?
    img.dx=30で左から30pxを切り取るみたいな
    803 : Name_Not - 2014/10/01(水) 08:16:20.24 ID:???.net (+88,+26,-7)
    ないけど表示するときに適当な枠に入れてその中だけ表示すればいいんじゃね?
    804 : Name_Not - 2014/10/01(水) 08:33:23.56 ID:???.net (+94,+22,-26)
    >>800
    Hoge作るたびにメソッド作成しているから
    メモリ食うだろ。

    まあ、大したメモリじゃないから、>>775
    一番オススメ
    805 : 801 - 2014/10/01(水) 09:09:44.53 ID:???.net (+69,+29,-1)
    >>803
    やっぱ表示する時しか無いですよね
    スッキリしましたありがとうございます
    806 : Name_Not - 2014/10/01(水) 13:28:52.28 ID:???.net (+66,+25,-36)
    >>804
    その方法でもプライベートメンバにアクセスしようと思ったら
    インスタンスメソッドを作成しないとアクセスできませんよ
    807 : Name_Not - 2014/10/01(水) 13:37:15.44 ID:???.net (+17,-21,-2)
    >>794
    "_"使うなって事も昔から言われてる
    悪習であるには違いない
    http://javascript.crockford.com/code.html
    808 : Name_Not - 2014/10/01(水) 13:52:49.86 ID:???.net (+62,+29,-53)
    ベストじゃなくてベターだって言ってるんだよ
    小さい醜さをカバーするために別種の醜さを導入するか、
    小さい醜さに妥協するか。
    jQueryでも_を使ってるように、実際的な技術者はベターを選ぶ
    それだけのことだ
    809 : Name_Not - 2014/10/01(水) 14:02:48.03 ID:???.net (+3,-29,-42)
    プライベートを導入したいのは多人数で開発する場合だけであって、
    その場合はTypeScriptを使うべし
    privateもサポートしている (が、protectedがなぜか無い…今後サポート予定らしいが)
    810 : Name_Not - 2014/10/01(水) 14:11:18.63 ID:???.net (+57,+29,-67)
    privateはそのために言語を変えるほどには重要じゃないだろ
    undefinedに代入する奴がいたらどうするんだ論争のように
    ほとんど起こりえないことを心配してる
    811 : Name_Not - 2014/10/01(水) 17:14:25.49 ID:???.net (+57,+29,-52)
    まああの論争は前提自体が間違ってるからな
    undefinedに代入する奴がいたら困るからあんなことしているわけではない
    812 : Name_Not - 2014/10/01(水) 17:29:41.07 ID:???.net (+51,+28,+0)
    じゃあ何だよww
    813 : Name_Not - 2014/10/01(水) 17:41:55.19 ID:???.net (+57,+29,-22)
    ほとんど起こりえなくてもそれが与える影響が大きいなら対策は必要
    JavaScriptでやらなきゃいい
    814 : Name_Not - 2014/10/01(水) 17:42:56.69 ID:???.net (+2,-30,-70)
    やってみりゃわかるだろ
    console.log(typeof foobar === 'undefined');
    console.log(foobar === undefined);
    ほれコピペ用
    815 : Name_Not - 2014/10/01(水) 17:56:13.09 ID:???.net (+29,+1,-5)
    typeofは宣言すらされてなくてもエラーにならないのか
    これは知らなかった
    ありがとうございました
    816 : Name_Not - 2014/10/01(水) 17:58:01.74 ID:???.net (+57,+29,-44)
    でも宣言されてなかったらエラーになってくれた方がいいのでは?
    宣言されていない変数を扱うことなんて普通はないんだから
    817 : Name_Not - 2014/10/01(水) 18:11:43.22 ID:???.net (+57,+29,-16)
    そりゃ自分で宣言したかどうかを探るためではないよ
    818 : Name_Not - 2014/10/01(水) 18:21:22.90 ID:???.net (+11,-16,-39)
    普通に考えて、未宣言変数と宣言済みundefinedを区別できない
    typeof~の方が潜在的問題を生みやすいじゃん
    はい論破
    819 : Name_Not - 2014/10/01(水) 18:43:14.38 ID:???.net (+0,-29,-19)
    >>814
    typeofは未定義と宣言のみundefinedを一緒に判定する時に使えるんだな
    勉強になった
    820 : Name_Not - 2014/10/01(水) 18:57:09.96 ID:???.net (+59,+29,-6)
    いや、そんな判定の需要ないだろ・・・
    821 : Name_Not - 2014/10/01(水) 19:15:17.70 ID:???.net (+41,-30,-125)
    >>820
    まぁ、メンバーの場合は普通にあるな。varで直接宣言したもんじゃないけど

    function hoge(args) {
    var b = typeof args.b === 'undefined' ? 'nai' : 'aru';
    console.log(b);
    }
    hoge({a: 'a'}); → nai
    hoge({a: 'a', b: 'b'}); → aru
    hoge({a: 'a', b: undefined}); → nai
    822 : Name_Not - 2014/10/01(水) 19:17:44.13 ID:???.net (+46,-30,-20)
    googleはvoid 0で判定している
    type a === 'undefined'とか古いよ
    823 : Name_Not - 2014/10/01(水) 20:04:06.81 ID:???.net (+56,+27,+0)
    >>821
    その需要ないよね
    824 : Name_Not - 2014/10/01(水) 20:23:10.38 ID:???.net (+0,-28,-20)
    まあ普通は typeof JSON とかだな
    使わん人は使わんだろう
    825 : Name_Not - 2014/10/01(水) 20:26:41.99 ID:???.net (+3,-30,-136)
    >>822
    > googleはvoid 0で判定している
    それはminify後だろ?

    google closureはサイズを減らすためにundefinedをvoid 0に変換している。

    http://closure-compiler.appspot.com/home

    しかしながら、type(a) === 'undefined'は minifyされない。

    このことからGoogleではundefinedを使っていると考えていいだろう。

    殆どありえないことのために、コードを見難く歪ませることの弊害を
    Googleはちゃんと知っている。
    826 : Name_Not - 2014/10/01(水) 20:34:02.54 ID:???.net (+0,-30,-47)
    >>822
    type a === 'undefined'はaが未定義でも問題無いけど
    a === void 0はaが未定義だと例外が発生するよ
    メンバーや関数の引数の判定に限って古いんでしょ?
    827 : Name_Not - 2014/10/01(水) 20:37:23.87 ID:???.net (+91,+29,-21)
    > aが未定義だと例外が発生するよ
    それは素晴らしいね。

    未定義なのだから本来発生すべきエラーを
    隠ぺいする方法はやるべきではない。
    828 : Name_Not - 2014/10/01(水) 20:42:17.71 ID:???.net (+52,+29,-2)
    理解できてないのは一人だけっぽいか
    829 : Name_Not - 2014/10/01(水) 20:43:13.38 ID:???.net (+57,+29,-15)
    その一人とは自分のことだったりしてなw
    830 : Name_Not - 2014/10/01(水) 20:43:55.51 ID:???.net (-1,-29,-28)
    Googleがtypeofではなく、undefinedをそのまま
    使ってるのなら、やっぱりそれがいいのかもね。
    831 : Name_Not - 2014/10/01(水) 20:46:13.73 ID:???.net (+57,+29,-5)
    未定義エラーを隠ぺいするのはよくないね
    832 : Name_Not - 2014/10/01(水) 20:50:41.64 ID:???.net (+94,+29,-34)
    隠蔽とかではなく、未定義であること例外を出さずに調べると考えてみて
    だからもちろん定義されているのが確実な場合は使わなくてよろしい
    833 : Name_Not - 2014/10/01(水) 20:54:55.70 ID:???.net (+57,+29,-3)
    つまり、未定義を調べるときだけに使えってこと。
    834 : Name_Not - 2014/10/01(水) 20:57:05.86 ID:???.net (+135,+29,-30)
    >>827>>822か?
    もはや負け惜しみにしか聞こえね
    未定義も含めて undefined のチェックしてるのに、未定義エラー起こしてどうすんだよw
    835 : Name_Not - 2014/10/01(水) 20:57:20.72 ID:???.net (+109,+29,-47)
    >>832
    未定義を調べたいときってまず無いだろ。

    だからほぼ全ての場合において、
    隠蔽だってことになるんだよ。

    typeofでundefinedを調べるのは
    もう過去のバッドノウハウといっていいかもね。
    836 : Name_Not - 2014/10/01(水) 20:58:11.27 ID:???.net (+107,+27,-34)
    >834
    > 未定義も含めて undefined のチェックしてるのに、

    なんで、未定義かどうかを調べてるの?
    そんなことするのがありえないでしょ。
    837 : Name_Not - 2014/10/01(水) 20:59:33.95 ID:???.net (+148,+29,-45)
    >>834
    えと、同時に二つことをやるろうとしたら駄目だよ。

    未定義かどうかは、未定義かどうかで調べるべきだし、
    undefinedかどうかは、undefinedかどうかで調べるもの。
    838 : Name_Not - 2014/10/01(水) 21:07:07.72 ID:???.net (+69,+26,-10)
    >>837
    >未定義かどうかは、未定義かどうかで調べるべきだし、

    だからそれを調べるのに typeof をつかうんだが
    839 : Name_Not - 2014/10/01(水) 21:09:55.52 ID:???.net (+75,+28,-8)
    >>837
    じゃぁ、未定義かどうかだけをチェックする方法を書いてみな?
    840 : Name_Not - 2014/10/01(水) 21:10:07.08 ID:???.net (+75,+29,-4)
    >>835 >>836

    普通はライブラリがやってくれているからお前らは気にしなくていい
    841 : Name_Not - 2014/10/01(水) 21:17:01.54 ID:???.net (+22,-30,-71)
    >>837
    まぁいいや、未定義かどうかだけを調べるのは↓これ

    try {
    console.log(foobar);
    }
    catch (e) {
    if (e instanceof ReferenceError) {
    console.log('miteigi');
    }
    } → miteigi

    素直に typeof 使えよw
    842 : Name_Not - 2014/10/01(水) 21:18:41.82 ID:???.net (+36,-30,-95)
    - ReferenceError は typeof 演算子
    - プロパティ有無は in 演算子
    - falsy な値は ToBoolean

    というわけで arg === undefined の判定をする機会がほぼなかった
    844 : Name_Not - 2014/10/01(水) 21:29:13.40 ID:???.net (-7,-29,-4)
    var obujekutodayo = new function() {
    this.a = 30;
    this.b = this.a * 30;
    };
    845 : Name_Not - 2014/10/01(水) 21:39:09.17 ID:+87HetkM.net (-20,+29,-14)
    >>844
    クラスでやっちゃえばオッケーですね!あざっす!
    846 : Name_Not - 2014/10/01(水) 22:27:56.93 ID:???.net (+10,-17,-32)
    typeof厨が発狂してるけど
    未定義を調べたい時ってどんなシチュエーション?
    847 : Name_Not - 2014/10/01(水) 22:37:30.97 ID:???.net (+52,+29,-4)
    煽りを交えた宗教戦争なら他所でやれ
    848 : Name_Not - 2014/10/01(水) 22:38:00.09 ID:???.net (+57,+29,-7)
    そういう態度で教えてもらおうと思っても無理よ
    849 : Name_Not - 2014/10/01(水) 23:12:34.37 ID:???.net (+63,+22,-8)
    未定義が存在すること自体おかしいのでtypeofは不要
    宗教でもなんでもない
    850 : Name_Not - 2014/10/01(水) 23:20:49.56 ID:???.net (+57,+29,-8)
    ほんとそれ
    間違いを認められずに発狂してるだけだろ
    アホくせー
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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