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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2016/05/22(日) 19:51:33.37 ID:WwOYSBmy.net]
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-4のテンプレを読んだ上で質問してください。次スレは>>950>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください

■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
  (ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
  具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
  わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
  ※必ず「問題の事象が再現されること」を確認してください。
   必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。

54 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 13:15:55.40 ID:Zah1U3qm.net]
>>52
うーん。タイプ数がとにかく減ってくれれば。
ショートカットもバインドしてあるから、2・3行書いて叩いて、って普段はしてるよ。
人の意識なんかそれぞれだから、規約で縛っちゃったほうが後から来る人に引き継ぎやすいし、rcファイルを撒いてる。
規約は真面目に決める。

55 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 13:19:24.85 ID:Zah1U3qm.net]
>>53
それは微妙では?
やるなら、
((typeof obj.prop === "undefined") || obj.pro===null)
で見てやったほうがいいと思う。

56 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 13:29:07.06 ID:z6iFNo2h.net]
>>55
それは初心者がやること
undefined == nullだからやらんでよろしい
少しは他人に突っ込む前に考えろって

57 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 13:31:26.42 ID:z6iFNo2h.net]
>>54
スタイル強制ツールも完全じゃないんだってば
それも本当に使ってりゃわかるだろ

58 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 13:44:38.38 ID:Z4ePso6q.net]
>>53
falsy な値を考慮するなら null, undefined だけ特別扱いするコードも微妙
in 演算子か hasOwnProperty を使う方がよい

59 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 13:47:14.61 ID:azrLOfn9.net]
処理の内容から想像するに
in演算子よりhasOwnPropertyメソッドのほうが処理が軽かったりもするのかな?

60 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 14:14:23.15 ID:z6iFNo2h.net]
>>58
一般にはデフォルト値を与える場合はnullを置き換える事が多いから、こうしてる
nullが入る事も考慮する場合ならそれに同意する
ただ、JSON相手ならinよりhasOwnPropertyのが良いぞ

61 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 14:16:43.93 ID:z6iFNo2h.net]
しまったJSONは別の人か
まあどちらにしろ in 使う場合はモンキーパッチとかしてる場合でも無い限りまず無いと思う

62 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 14:25:27.17 ID:tAENBh2t.net]
素朴な疑問なんだけどfor文の条件部の区切りってなんでセミコロンなの?
中でカンマ使うから?



63 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 15:08:38.61 ID:iU2f12RA.net]
誰に聞くべきだ
デニスリッチーとかブライアンカーニハンとかケントンプソンに聞くべきじゃねえのか

64 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 15:25:45.42 ID:7MaZAWY8.net]
>>56
==での比較とか、もう!の誤爆と発想のレベルが変わらなさすぎてなんと言うかだなぁ。

>>57
まぁ、完全じゃないってか少し冗長になる事は多いが、完全じゃない、ってのはどんなとき?

>>62
文だから。

65 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 15:34:27.62 ID:e0xtAfbK.net]
論理演算で不可能なケースが発生するのは
論理的なコードを書いていない証
パーフォーマンスが悪くなるよ

66 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 15:35:50.71 ID:DQmxlFQb.net]
なるほど
頭がパーだからパーフォーマンスか
ははは

67 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 15:38:36.64 ID:uxvxPhHy.net]
そもそもなんでfor文なの?
forってどういう意味なの?
なんでふんどしなの?

68 名前:デフォルトの名無しさん [2016/05/26(木) 15:50:42.51 ID:z6iFNo2h.net]
>>64
>==での比較とか、もう!の誤爆と発想のレベルが変わらなさすぎてなんと言うかだなぁ。
俺から言わせればお前さんが同レベルだよ
そうやって仕様をまるで把握していないから、そういう事を平気で言えるんだろうけどね

69 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 15:57:13.56 ID:VNKitGFp.net]
いつまでもうるせえな
どうでもいいだろこんな初心者がひっかかるような話
俺ら上級者様には一切関係ねえ話だろうが
undefinedなんて出すバカなんてほっとけや

70 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 16:03:05.34 ID:z6iFNo2h.net]
>>63
リッチー先生はもうこの世におらん…

71 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 16:09:23.69 ID:CcMPN8b7.net]
リッチのくせに不死じゃないだと?
そんなバカな

72 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 16:14:10.74 ID:z6iFNo2h.net]
リッチーにジョブズ、リーナスにゲイツ
最近は本当に惜しまれる人ばかりがいなくなってるな



73 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 16:36:33.73 ID:UN7L7nZy.net]
>>72
>リーナスにゲイツ最近は本当に惜しまれる人ばかりがいなくなってるな

2人とも生きているのでは?

74 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 16:39:58.63 ID:z6iFNo2h.net]
まさかこんなすべったレスにマジレスで突っ込まれるとは思わなかったぞ!

75 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 16:42:16.87 ID:rGVMPRNj.net]
名誉毀損

76 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 16:51:40.48 ID:7MaZAWY8.net]
>>68
あーあー、お前のコードでもういいよ。
obj.propがnullで初期化されてればそれで良くなったら、改修がめんどくさいとかほっとくよ。

77 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 17:01:57.05 ID:TSvbJ/YB.net]
伝説の呂布はあかん

78 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 17:22:20.13 ID:99YjRWAc.net]
2ちゃんでしか威張れないなんてなんてかわいそうな人たちなんだろう

79 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 18:50:41.26 ID:ZS10B00B.net]
nullとundefinedは違うの?

80 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 18:58:27.62 ID:etrunD2E.net]
んなもんぐぐれぼけ
いつからここは初心者レクチャー講座になったんだ鬱陶しい

81 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 19:23:51.43 ID:e0xtAfbK.net]
>>79
nullとundefined
視覚的な違いがある

82 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 19:26:21.87 ID:z6iFNo2h.net]
>>76
nullも欲しいならそもそも判定する必要すらないだろ
お前が何を言ってるのか、何を想定して何を問題としてるのかもわからん
はっきり言えよ



83 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 19:37:17.07 ID:e0xtAfbK.net]
いちばん不思議なのことは
obj.prop がどうしてnull になるのか?



84 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 19:42:34.13 ID:OguWhub7.net]
>>83
==を使った場合という意味?
だとしたら==で比較すりゃ型変換されるからでは

85 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 20:18:59.79 ID:7MaZAWY8.net]
>>82
あるわ。
未定義と、正しくnullで初期化しました、は相当違う。
要は、横着するならfalsyなオブジェクトを容認すりゃ良いし、
横着しないのであれば型と中身はチェックすべき。
null==trueはfalseで、null==trueもfalseで、余計な地雷を生む。
って話。

86 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 20:19:52.73 ID:WcKFKF+t.net]
よくアクセスランキングとかにaタグでリンクを貼って飛ばしたりすると思いますが、マウスでクリックした場合は、リンク先で正しくカウントされますが、ジャバスクリプトでページ変更した場合はカウントされないのは、どうしようもないのでしょうか?

87 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 20:31:24.69 ID:z6iFNo2h.net]
>>85
いやその違いが問題だと言うなら問題となる事例を出せと…
少なくとも自分の経験上では、効率考えるとこれが一番妥当
それ以上厳密な型が欲しいならそもそもJavsScriptなんて使わない []
[ここ壊れてます]

89 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 20:32:48.87 ID:iLE0aKXK.net]
質問者もいねえんだからもうよそでやれよクソッタレどもが

90 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 20:35:37.26 ID:z6iFNo2h.net]
>>85
>要は、横着するならfalsyなオブジェクトを容認すりゃ良いし、
まずこの結論が極端
0を容認するが、null/undefinedを容認しない事例なんてゴマンとあるのに対し、
nullを容認するがundefinedを容認しない事例はほとんどない

91 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 21:53:32.28 ID:7MaZAWY8.net]
しつこいやつだな。お前が正しいでもういいよ。

92 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 21:56:38.20 ID:cAjDmLh7.net]
これに従えばいいだろ
https://github.com/airbnb/javascript/

今時typeofつかって"undefined"と比較するのはアホ



93 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 22:11:08.45 ID:5gTTFtf/.net]
hasOwnPropertyでいいやん、ってだけの話を何をグダグダとw

94 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 23:10:54.73 ID:UjMbTLsx.net]
また、null, undefind の論争か

DBでも、null があって、3値論理で手一杯で、
偉い学者が唱えた、undefind も入れての4値論理は、ややこし過ぎて、否定されただろ

Rubyの偽は、nil, false だけ。
これが覚えるルールが少なく、最もシンプル

JSはおかしい。言語実装者用の内部ルールが、
一般のプログラマーにも見えてしまっている

95 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 00:40:25.02 ID:fXm66YRc.net]
>>90
よくねえよ
問題とするなら具体的にどう問題になるのか出せって
それが正しいならこっちだって改める

96 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 01:55:13.24 ID:10EzBfKp.net]
>>93
でもなぁ、現実問題便利なんだよ

null・・・データーベースの値としてnullを代入
undefined・・・省略(何も変化させない)

97 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 02:38:39.80 ID:5O2HSGrs.net]
>>94
改めて貰わなくて結構。
自分が正しいと盲信してる人間に説明し付けるほど無駄なことは無い。

98 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 02:58:22.81 ID:fXm66YRc.net]
>>96
なんだそれ、事例出すなんて一言で済む話だろ
それを虚勢で言っていないなら、ただ荒らしてかき回してるだけの嫌な奴でしかない

99 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 03:03:17.59 ID:fXm66YRc.net]
>>95
具体的に実装コードが見えないがそれ便利なのか?

100 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 04:27:40.50 ID:Ck73qeVz.net]
気持ち悪い奴が言い合ってるな。

101 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 08:31:12.52 ID:bXpUR2n8.net]
前のスレもそうでしたよ^^

102 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 08:44:39.94 ID:N6sFDxPG.net]
nullとundefinedはレイヤーが違う。

nullはオブジェクトに置けるNaNみたいなもので、
基本オブジェクトを扱う文脈で基本効果を持って取り扱われる値。
あくまで参照が同じな特殊な役割を持った偽性のオブジェクトのようなサインが共有されていると思えばいい。

undefinedはもっと広く、何も扱うべき値がない時に充てがわれる基本効果の無い値。



103 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 08:53:49.08 ID:UCpt+1On.net]
>>101
少し違う。
null 値の定義はES2015で定義されてる。

---
primitive value that represents the intentional absence of any object value
www.ecma-international.org/ecma-262/6.0/#sec-null-value
---

null 値は意図的にオブジェクトが存在しないことを表す値。
undefined は未定義値。文脈上、初期化される前の値を表す。

104 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 08:55:46.53 ID:u/p+Wu9Y.net]
>>101
そんなややこしい事考えるくらいならnullだけ有ればいいよね

105 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 09:10:27.24 ID:N6sFDxPG.net]
>>102
ESの範囲だけならそうだが、実際はESの範囲でnullは極めて限定的にしか表に現れない。
実際のnullのイメージというのは外様APIが作ってる面が大きい。
そしてprompt()みたいに基本文字列型を返す代わりにnullを返すものもある。
よって、nullは”明示的”な「サイン」と考えるのが一番現実に合っている。
undefinedもしかり。ただこちらはESの範囲でも様々に”暗黙的”に表に現れる。
そういう意味でレイヤーが違う。

>>103
どちらかというと内部的には両方の概念が合ったほうがいい。
表に出す時nullだけに絞ると言ったことは勿論可能。
nullだけあればいいというより、nullだけに絞る選択をすることも可能というべきか。
だが使える道具の大小というのはどっちもメリット・デメリットがあって、
個人的に考えるに両方ほぼ同価値で優劣は付けられないと思う。

106 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 10:14:21.43 ID:wAuO+eAi.net]
>>104
> null 値は意図的にオブジェクトが存在しないことを表す値。
> undefined は未定義値。文脈上、初期化される前の値を表す。
論理的にはこれが正しい
構文が論理的ではないからnullが必要になる

107 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 11:52:08.31 ID:5O2HSGrs.net]
真偽しか扱えない奴が多すぎるんだろ。
nullも、undefinedも、NaNもある理由があってあるんだから。
nullだけで良かったはずなんてアホみたいな事言われても困る。
nullを四則演算したら0として扱われるが、undefinedに四則演算したら、NaNになる。
NaNに四則演算しても、NaNのままだし、x=NaNでも、x==NaNはfalse。
当たり前。数値ではない事が確定しているが、「数値ではない」だけで、足し引きした結果は、「別の「数値ではない」もの」だから。

nullってのは、明確にnullだと代入ないし宣言されてるもの。
undefinedは、宣言すらされていないもの。
これを不要という人間は、そこまで考えないといかんシステム作ってないだけ。
mongoのdocumentを出し入れ返しれするapiなんか想定したら良いと思うが、少なくともnullで初期化されてるフィールドは使っても良い。
nullで初期化されていないundefinedなフィールドはもしかすると使うべきでないかもしれない。

それくらいの問題。

108 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 12:16:24.73 ID:9jKz8E7p.net]
取りあえず10億ドルの過ちをテメェで精算してから喋って、どうぞ

109 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 12:28:34.05 ID:AZKYjFu+.net]
window.open("localhost/1.html", "localhost", "width=100, height=100");
window.open("localhost/2.html", "localhost", "width=200, height=200");

window.openでウィンドウを開くときに指定したサイズで開きたいんですが
2回目のwindow.openでサイズが1回目のウィンドウサイズのまま変わりません
どうやってwindow.openで開いた時にウィンドウサイズを指定したサイズにできますか?

110 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 12:58:47.82 ID:5O2HSGrs.net]
nullable型の必要性だなんだって議論は、そもそもjsに明確な型がプリミティブなものしかないんだから無意味だろ。

111 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 13:35:54.88 ID:mSvZp4nB.net]
レスは繰り返す

112 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 14:02:06.44 ID:61QydpaF.net]
>>104
イメージというのは各々で異なるものだと思うのだが、他者に意見するほどのものがそこにあるのだろうか…。
prompt も getElementById も「存在しない事を表す」という意味ではES2015の範囲内でおさまっている。
(ES2015的には prompt が空文字を返した方が返り値が String 型で統一されてそれらしいとは思うが、イメージの話なら多少の誤差は許容されるだろう。ここでは文字列が存在しない事を null で表している。)

サインという表現を使うぐらいなら、それが定義済値(null)か未定義値(undefined)かで区別する方がES2015らしい。
関数が undefined を返すのは返り値が未定義(指定されていない)だからだ。
明示的にないことを表すなら定義済のnull が望ましい。
そうでなければ、その関数が初期値のundefined を返したのか、明示的にundefined を返したのかを区別できないだろう。



113 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 15:20:53.00 ID:fXm66YRc.net]
>>106
だからそこまで考えないといかんシステムって具体的になんなんだよって
出してる例もデフォ値とか、Map返して列挙で十分なものばっかりじゃん

114 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 15:37:37.19 ID:fXm66YRc.net]
あんまり細かく突っ込んでもなんだけどさ、
言語実装側が使う分には便利、という言い分は事例もすぐ出せるし納得はできるが
NaNになるとかのユーザー側の仕様ついては、
本来はundefinedの使用は全てエラーとすべき事で是とするものではないだろ

115 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 16:28:18.28 ID:5O2HSGrs.net]
>>112-113
うち医療系のシステム屋。
NaNも、undefinedも、nullも検査なんかだと戻す値としてあり得る。
サチった、検査項目に入ってない、検査としては行ったが、検体の問題などで結果は出なかった。

116 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 16:41:32.15 ID:swGPgzcA.net]
黙れゴミニートのくせに

117 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 16:46:54.76 ID:fXm66YRc.net]
>>114
そんなので反論するのはいいけど、実際医療システムでそういう仕様にする?
しないっしょ?
全部専用の型用意すべきだし、未定義じゃ例外送出だし、
サチったらNaNとかInfinityじゃなくてエラー吐かせるし

118 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 16:47:23.18 ID:ftcnTlL4.net]
>>114
> サチった、検査項目に入ってない、検査としては行ったが、検体の問題などで結果は出なかった。
これJavascriptで判定するの?

119 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 16:55:34.96 ID:fXm66YRc.net]
飽くまで実装事例の話としての話だから、
そういうシステム実装はありえないとは言ってないよ
実際にあるなら黙るし

120 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 16:56:34.37 ID:7C5pluWz.net]
>>114
戻す値としてあり得る……ってことは
return NaN;
return undefined;
とかがあるってことか

エラーコードでも例外ブジェクトでもなく

121 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 17:41:11.86 ID:5O2HSGrs.net]
すごい食いつきだな。
あるよ。ビューアで。
サーバから返すけど、トラフィックの都合上昔ながらの電文でそれを解釈してるのは足回り。
専用の型って言うけど、オブジェクトのメンバがnullかundefinedかはだいぶ違う。
>>119
違うよ。
解釈した結果をobjectに入れるけど、
解釈した結果そのフィールドが無ければ単にそのフィールドを持ってないオブジェクトになる。
エラーでも、例外でもなく結果だからね。
エラーはエラーで吐くよ。

122 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 17:55:45.05 ID:7C5pluWz.net]
>>120
if (なんか結果ある) {
obj.result = なにか(null含む)
}
return obj;

ってことか
呼び出し側はそのobj.resultがundefinedなのかnullなのか判断する



123 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 18:10:16.56 ID:fXm66YRc.net]
なんだ表示だけか
それも結局Mapと列挙で済むからundefinedいらんな

124 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 18:11:25.03 ID:ftcnTlL4.net]
>>120
> サーバから返すけど、トラフィックの都合上昔ながらの電文でそれを解釈してるのは足回り。
サーバ側でコンテキストに応じたコードなりなんなりを生成して戻すべきだ
と俺は思う

125 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 18:16:51.38 ID:fXm66YRc.net]
>>120
>専用の型って言うけど、オブジェクトのメンバがnullかundefinedかはだいぶ違う。
でもそのビュワーの元データ受け取る時はundefinedなんて入れてないでしょ?
有効活用の事例としてはかなり微妙でしょ
わざわざ複雑な仕様にしてるように見えるもの

126 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 18:41:50.65 ID:zWRALPjL.net]
>>62
文ではないけど、LexicalDeclaration や Expression に存在しない区切り文字として都合が良かったからかな

127 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 18:48:41.37 ID:fXm66YRc.net]
>>125
ただのCの名残っしょ

128 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 18:53:39.13 ID:5O2HSGrs.net]
>>123
病院の回線ってそんなに贅沢に使えないんよ。
>>124
undefinedを入れないよ。
受け取るときにと言うより、受け取っていないから、その

129 名前:キーがundefinedで、nullチェックではなくて、undefinedチェックしないとならん。

台帳表示でも何でも良いが、患者/日/項目のピンポイントで見た時に、値/失敗/結果無しが取れる必要があるってこと。
RDBで言うと、
・行自体が存在しない
・行の中身がNULL
・行の中身に有意な値が入っている
と似たようなもんだよ。
[]
[ここ壊れてます]

130 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 18:56:39.91 ID:fXm66YRc.net]
>>127
それって初期値のビューに対して、そのまま列挙して設定すればいいだけだと思うけど、
わざわざ未定義と判定する事で利便性が高まる事あるの?

131 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 19:02:06.07 ID:5O2HSGrs.net]
>>126
expression(opt)
を2つ以上取るからで、expressionとexpressionの区切りはセミコロンだからじゃねえの?
言語仕様に書いてあったと思うけど。

132 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 19:03:11.34 ID:5O2HSGrs.net]
>>128
そのまま列挙して設定したものを、
未定義と判定して「未検査」と表示する話をしてるんだが。
頭おかしいの?



133 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 19:04:16.73 ID:fXm66YRc.net]
もしかして、相手の出力データ型が不整合な事があり、
その型チェックをJS側がやってるってこと?ひえー
それならまあ必要といわれても仕方ないか

134 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 19:08:24.93 ID:fXm66YRc.net]
>>130
????
そのサービスから受け取ったrowにプロパティがなければ未検査なんでしょ?
なら普通に列挙していけば設定されないデータを、未定義か判定する必要ないっしょ?
それをわざわざなんで判定するの?

135 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 19:15:05.42 ID:fXm66YRc.net]
簡単にいうと、初期値のビュー項目を「未検査」にしておいて、
列挙の度に設定していけば済む話でしょ?
わざわざ複雑にしてるように見えるけど

136 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 19:18:13.93 ID:IDoL/fjn.net]
キチガイの共演

137 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 19:21:01.02 ID:7C5pluWz.net]
たぶん、
[{"検査項目":"視力","結果":1},{"検査項目":"聴力","結果":"100db"}]
っていうデータじゃなくて、
{"視力":1,"聴力":"100db"}
っていうデータなんじゃないかな(実際はjsonじゃないんだろうけどとりあえず分かりやすさの為ね)

だから
{"視力":1}
ってデータがあると、JavaScript側は
kensa.tyoryokuがundefinedになるから
表示する際はundefinedチェックをするっていいたいんじゃないかな?

※その場合俺ならinを使うかも

138 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 19:29:01.92 ID:fXm66YRc.net]
>>135
うん…その場合にundefinedのチェック付ける必要ないよねと
Viewを初期化し、各カラムに対応するView側項目を一個ずつ設定すれば、
無駄な処理もなくて効率いいでしょ?

139 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 19:37:17.42 ID:fXm66YRc.net]
イメージとしては、Object.assign({初期値},{取得値})とすれば十分じゃないか?

それを敢えてundefinedを確認するようにするのは、
わざわざ複雑にしてるように見えるけど
言ってる事が伝わった上で、何か自分がわかってない問題があるのか?

140 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 19:47:32.72 ID:JIhds0M1.net]
ちになみにxがundefinedかどうかを調べるベストな方法は
(x === void 0)でおk?

141 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 20:07:52.97 ID:5O2HSGrs.net]
>>135
あ、そうそう。
ただ、何人も並べたり、何日も並べたり、そういう事する。
inでも良いね。コスト低そうだし。

>>136
>>10、で既に俺言ってるけど。
その中で、ちゃんとオブジェクトをマージするか横着するかって話。

142 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 20:17:12.65 ID:Dt+fFMyq.net]
>>138
ReferenceError になるケースを除けばそう



143 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 20:27:35.45 ID:fXm66YRc.net]
>>139
いや別にオブジェクトのマージの話じゃないんだけど
まあどちらにしろ必要ないっしょ?

144 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 20:37:53.46 ID:fXm66YRc.net]
まあ正直納得いってないけど
実際使ってる実装があるならundefined値も必要ってことでいいやもう
あとで消化しよう

145 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 20:38:54.16 ID:5O2HSGrs.net]
>>141
どーしても必要ない事にしたいんだな。
手入力や、他システムから飛んでこられた時に、画面定義にもデータにもない、ってのはどう判断するのかね。nullを取りうる値を持ってんのに。
仕事として開発したこと無いんじゃねえの?
自分の無知が認められない人間とはみっともないもんだ。

146 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 20:39:37.88 ID:5O2HSGrs.net]
>>142
undefinedを値として必要としてる訳じゃねえよ。
お前マジで頭おかしいんじゃねえの?

147 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 20:45:22.04 ID:Dt+fFMyq.net]
ID:5O2HSGrs がいいたいのは>>106の事かね

> undefinedは、宣言すらされていないもの。
これがプロパティの事を指すなら in 演算子か Object#hasOwnProperty で解決できるという事を>>105でいってるんだろうけど、マージ云々は何を言いたいのかわからない

148 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 20:50:00.83 ID:fXm66YRc.net]
>>143-144
なぜ急に煽る?
まあ言わせてもらうけどね、本当に仕事でやってるならそんなクソ仕様「ありえない」だよ
「医療システム」用なら本来は別途に未検査を表す値を用意するべき内容
でも実装してるってならそうなんだろう

149 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 20:51:42.45 ID:fXm66YRc.net]
つか医療用でそんなLAMPみたいなシステム見たこと無いけどね…

150 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 20:56:48.42 ID:5O2HSGrs.net]
>>145
そうそう。
検査はしたけど、まだ結果は出てない、だとか、
例えば尿検査だと、尿少なすぎて検査結果出せませんでした、って結果はnullが入ってる。
検査進捗は別に持つから。

それを、テーブルやらグラフに出すときに、
患者一日、みたいなテーブルにガサッと載せたいのであれば、
先に
daily:{
 koumokuA:"",
 koumokuB:"",
}
みたいなオブジェクト作っといて、その上に、ret.filter(hasKeyIn(daily)).map(convToStr)したものをマージしちゃえば、表は簡単に書けるよねって話。
グラフならconvToScaleとか、何とでもなる。

151 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 21:00:52.88 ID:5O2HSGrs.net]
>>146
クソ仕様w
その、まぁ、未検査ではないんだが、結果の無い状態を現す値、がnullなんだけど。
何故別途必要なのか聞いてみたい。
さらに、その値が永劫、その値を返す検査が現れないか、と。

152 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 21:03:22.58 ID:5O2HSGrs.net]
>>147
LAMPと全然関係ないと思うが。
何社か医療渡ってるけど割と普通。



153 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 21:06:38.13 ID:Dt+fFMyq.net]
>>148
その実装はわかるけど、>>139の主張と結びつかない
>>136の「undefined と比較する必要ないよね、in 演算子で十分だよね」に対して>>139で「オブジェクトのマージ」を仄めかしてるよね
マージ処理なら in 演算子や hasOwnProperty で十分に実装できると思うけど
まあ、ディープマージでなければ Object.assign で十分ではあるけど

154 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 21:08:37.38 ID:5O2HSGrs.net]
>>151
物にもよるんよ。検査って。
2項目以上帰ってくるものの、片方だけ表させたいとか。






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

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

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