のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,640,370人
昨日: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,-25)
>>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 (+65,+25,-36)
>>804
その方法でもプライベートメンバにアクセスしようと思ったら
インスタンスメソッドを作成しないとアクセスできませんよ
807 : Name_Not - 2014/10/01(水) 13:37:15.44 ID:???.net (+16,-22,-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,-53)
まああの論争は前提自体が間違ってるからな
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 (+8,-19,-39)
普通に考えて、未宣言変数と宣言済みundefinedを区別できない
typeof~の方が潜在的問題を生みやすいじゃん
はい論破
819 : Name_Not - 2014/10/01(水) 18:43:14.38 ID:???.net (-1,-29,-20)
>>814
typeofは未定義と宣言のみundefinedを一緒に判定する時に使えるんだな
勉強になった
820 : Name_Not - 2014/10/01(水) 18:57:09.96 ID:???.net (+59,+29,-7)
いや、そんな判定の需要ないだろ・・・
821 : Name_Not - 2014/10/01(水) 19:15:17.70 ID:???.net (+41,-30,-124)
>>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,-33)
隠蔽とかではなく、未定義であること例外を出さずに調べると考えてみて
だからもちろん定義されているのが確実な場合は使わなくてよろしい
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 (+136,+29,-30)
>>827>>822か?
もはや負け惜しみにしか聞こえね
未定義も含めて undefined のチェックしてるのに、未定義エラー起こしてどうすんだよw
835 : Name_Not - 2014/10/01(水) 20:57:20.72 ID:???.net (+109,+29,-48)
>>832
未定義を調べたいときってまず無いだろ。

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

typeofでundefinedを調べるのは
もう過去のバッドノウハウといっていいかもね。
836 : Name_Not - 2014/10/01(水) 20:58:11.27 ID:???.net (+107,+27,-35)
>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 (+68,+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,-30,-16)
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 (+9,-18,-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 スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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