[表示 : 全て 最新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) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。

304 名前:デフォルトの名無しさん [2016/05/30(月) 10:06:14.30 ID:d3v2hj/G.net]
永遠に繰り返すならあるが永遠とやるなんて日本語ねえし

305 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 10:21:11.46 ID:SiNcM0fD.net]
なんかよくわからんけど、普通にforeachで処理できるようなデータ構造/Viewの実装仕様にしとけよと思った。

306 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 12:35:00.36 ID:REX8Pswd.net]
var obj = {'視力': 1.5, '聴力': '100db'};
なら Object.keys
var array = [{name: '視力', value: 1.5}, {name: '聴力', value: '100db'}];
なら Array.prototype 系関数を使う
未調査などのステータスが必要ならプロパティを付け加えるだけ
undefined を使う必要はないな

307 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 12:36:07.87 ID:XUi+aAng.net]
初心者なのですがオブジェクトxの何らかのプロパティを取り出す前にxがnullやundefinedでないことを確認する必要がありますよね?皆さんはどうしていますか?

308 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 12:36:56.29 ID:ysRBPLLz.net]
自演してまで続けたいのかこのゴミ

309 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 16:54:37.32 ID:PwZzpqig.net]
>>301
jsonっぽくすると
患者A:[{
 試験日:aaaaa ,
 シーケンス:bbbbb ,
 検査値:[
  {視力:{
   左右:右,
   近視度数:xxx,
   乱視軸:{値:yyy,単位:degree},
   乱視度数:zzz
  }}
  ,{カーブ:{
   ...
  }},
  {視力:{
   左右:左
   近視度数:zzz
  }}
 }
...
みたいなのかな。
       検査日..
氏名 左 近視度数
     乱視軸
     乱視度数
     カーブ
   右 ...
氏名 ....
みたいなグリッドに出すのに、無い場所の値を用意するだけで無駄。
定義されていない→無い、で充分。

310 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 17:20:40.14 ID:SiNcM0fD.net]
>>304
別に検査してなければ項目なしでもいいんだけど、描画するコードでループの一番内側がセルの数に
なるようなループして、いちいちundefinedかどうか判定するようなロジックにするの?

311 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 17:43:51.15 ID:/sRU0ua4.net]
乱視軸って何だ?

312 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 18:22:59.82 ID:ht1IyunN.net]
凄くタイムリーな質問だと思うんですが
var a = [];
a.last = function () {
 let len = this.length;
 return 0 < len ? this[len - 1] : null;
}
みたいな、範囲チェック外はnull返すようなことは不要ですか?
これは仕様としてnullが必要だからそうしてるのではなくて、
まぁせっかくチェックしたんだから返すとしたらnullだろうな、
くらいの判断でそうしてます。

それとも a.last = function () {return this[this.length - 1];} で十分ですか?
「javascriptは単にundefinedを返してくれるので範囲チェックしなくていい」
っていうふうにポジティブな解釈していいですか?



313 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 18:31:32.90 ID:hoOpO478.net]
>>307
nullを返すより0な

314 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 18:34:38.43 ID:SiNcM0fD.net]
>>307
a[undefined]のときa.lastがundefinedになるということと、自分がなにをしたくてなにを求めているのかを
勘案すれば、どう実装すべきか決定できるのでは

315 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 18:48:17.09 ID:ht1IyunN.net]
>>308
ありがとうございます。でもそれだと、
配列に整数を入れて使うとき悶絶しちゃうと思うんですがw
いや…それは結局nullのときでも一緒ですよね。
undefinedのときでも一緒ではありますね。
それらを代入できるという以上…。

>>309
ありがとうございます。
「a[undefined]のとき」っという表現が不勉強で分からなかったのですが、
いずれにせよ var value = a.last() のあとは単に
if (value) するくらいのことしか考えてませんのでundefinedで十分そうです。

316 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 18:53:42.83 ID:PwZzpqig.net]
>>305
ループの内側の数とか言うより、描画用の項目定義は項目定義である。
医者が並べて見る時に、項目数が変わったり並び順が変わったら困るから。
それは医者次第だけど、内部的には
xpathみたいなもので指定する。
>>306
ごめん、軸度だな。
>>307
lastの用途次第だけど、popの仕様と合わせるならundefinedだと思う。
俺はpopしてundefinedじゃなければもう一回pushしておく。
そのためには、undefinedをpushしなくても良い実装にしておかなきゃならんけど。

317 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 18:59:41.70 ID:ht1IyunN.net]
>>311
ありがとうございます。popに合わせておこうと思います。
あとはせっかくなんで使う側はせめて if (a.last())
するよりは if (a.last() === void 0) としてみようかと。

318 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 19:12:01.08 ID:/sRU0ua4.net]
>>311
軸度とは

319 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 19:22:00.69 ID:PwZzpqig.net]
>>313
なんて言うか、正直眼科は不勉強だけど、乱視がどの方向にあるかだよ。
メガネ作るとき、放射状の線見せられて、どの方向が濃いか聞かれるじゃん。
あれを答えてもらった方向に90°足した、何度の方向に対して焦点がずれてるかが乱視軸度だよ。
普通は度で持つけど、たまにラジアンで持ってたりする。

320 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 19:42:49.89 ID:4aFguERh.net]
300すぎてまだやってんのかよ
頭おかC

321 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 20:20:03.03 ID:/sRU0ua4.net]
>>314
そんな事聞かれるのかよ
知らなかった

322 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 21:22:29.72 ID:PwZzpqig.net]
>>315
なんか話題提供してよ。



323 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 21:24:24.86 ID:PwZzpqig.net]
>>316
こういったふうに、ただの視力検査でも、人によってやらないものもあるんだよ。

324 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 23:02:14.89 ID:Kp7czbyF.net]
>>43
リクエスト無いみたいだし、もう無しで良いってことにさせてもらうぜ。
俺も大量にこのスレに書き込んだ。多分そちらにも多少は有効情報があっただろうし。
このスレは俺よりも20年先を行くスーパーハカーだらけらしいし、とりあえず引退してみよう。

>>312
多態しないのなら if (a.length>0) にしとけ

>>311
> 俺はpopしてundefinedじゃなければもう一回pushしておく。
おい!
ってかまじめな話、もうちょっと普通のやり方を覚えた方がいいぞ。
undefinedについて気になるのなら、他の知っている奴が回答するか、少し待つんだね。
それで出てこないようなら、俺のスレに聞きに来れば教えてやるよ。

とはいえ君は無駄

325 名前:ノ煽りすぎだ。だから出てこないかもしれない。
しかし、君は自力で辿り着けるレベルだから、ヒントを与えておこう。
君はNaNの仕様を知っている。で、それを便利に使っているわけだが、>>106
あれはそういう仕様が必要だったからなんだよ。
だからNaNの正しい使い方を調べて、そこから推測すれば、
undefined許容/非許容のそれぞれの得失を理解できる。
その上でundefined許容を選択するのなら、それは「設計」なんだよ。やればいい。

ところで、俺および俺が立てたスレがどうにも気に入らない奴がこのスレに複数いるだろ?
君達がやるべき事は、>>297に答えることだ。
そうしないと、俺のスレが流れ出しちゃうぜ?

あとついでだが、やはり君の案件は「正規」ではないよ。運用上「本番系」になっているだけだ。
読み出せないDBなんてあり得ないだろ?最初から何らかのビュワーが付いてる。
JavaScriptで受けるのなら、APIはJSON一択だろ?
今何かしら妙なAPIなのは、元々のビュワー用のAPIだからだよ。
そして何らかの理由で「正規」ビュワーが破棄され、今のビュワーになったんだよ。多分。
[]
[ここ壊れてます]

326 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 23:24:12.29 ID:ILfmqIwk.net]
俺の予想ではarraybuffer

327 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 23:41:05.43 ID:Kp7czbyF.net]
>>320
APIのことか?
ビュワーはexeまたはelf等バイナリで、古い機材では動くが、新端末では動かないから、JS化したと。
あり得るシナリオだね。
だとすればParserでラップして終わりだし、鯖は当然そのまま運用するわな。
今のところの証言と状況証拠とは一致するw

328 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 00:15:08.11 ID:KJUuPgzh.net]
>>307
混乱を招く回答が追加されているので伝えるが、undefined を返す設計が妥当だと思う
例えば、Map.prototype.get は存在しないキーを検索したら undefined を返す
あなたが>>310で気が付いたように配列の値に undefined が代入されていれば、値があるのかないのか区別付かない
では、なぜ Map.prototype.get が undefined を返す設計になっているのかといえば、未定義のキーを参照したら未定義値を返す暗黙の了解があるからだろう
オブジェクトでも存在しないプロパティを参照すれば undefined を返す
(少なくとも俺の知る限りでは)プロパティが存在して undefined が代入されている JavaScript の仕様は存在しない
よって、あなたが配列のプロパティに undefined を代入しなければ十分に区別できるだろう
それから蛇足ではあるが、>>307のコードでは a === [,,,] な場合に意図せず、undefined を返す(>>307の設計通りなら null を返すのが正しい)
Object.prototype.hasOwnProperty を使うことで期待通りの結果を得ることができるだろう

Array.prototype.last = function last () {
 var i = this.length;
 while (i && !this.hasOwnProperty(--i));
 return this[i];
};
console.log([1,2,,,,].last()); // 2
console.log([,,,,].last());   // undefined
console.log([].last());     // undefine

329 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 01:17:08.26 ID:l5PlpRpu.net]
>>319
めんどくさいやつだなぁ。
煽りすぎた、って、煽られて沸騰した奴が言ったら二重どころか三重くらいにみっともないぞ。
煽って面白くなるだけ。

ビュワー用のAPIとか、だからさあ。。
電文だ、って言ってんじゃん。
電文、理解できない?知らないの?
>>320のほぼそのまま、今もう一回そこ書くならもうちょい綺麗にパーズするけど、要は[通信開始][要素種][要素長]....[チェックサム][通信終了]みたいなもの。
そのまま、要素種が始まったら要素長取り出して、その中も要素種と要素長で出来てるから、って形。
正規もなんもないよ。妙なAPIって、これハード屋的には何一つ妙じゃないよ。
案件ってか、自社製品だけど、運用 上の本番系、ってどんな寝言だよ。
運用してるなら、それは即ち本番系だろ。
おまえ学生なの?コードとして落とした事無いとか、無意味な理想論語ったりとか、結構痛いよ。

330 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 01:56:46.28 ID:C610iy1k.net]
>>323
あんさん2chフィルタ通して見ても尊大やし態度悪すぎやで
学生と比べて技術力高いわけでもなし、人を煽れる立場や無いやろ?

331 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 02:06:15.74 ID:C610iy1k.net]
ちな電文はバイナリ転送形式の事やないで
JSONだろうと1メッセージ単位なら電文や

332 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 03:10:34.97 ID:24hp8pmx.net]
>>323
お前、、、いちいち指摘するのが面倒なくらい色々読み間違ってるぞ、、、、
まあ俺の書き方もまずい点はあったが、、、

一応、俺は聞きに来れば答えるというスタンスだったんだ。
(出てこないってのは「他の知っている奴」のことであって、俺のことではないつもりだった。
ただこの点は俺の書き方が悪かった)
とはいえ、面倒だし、今回は他の連中も正解を知っていることが確定しているから、
天秤にかければ誰か答えるかと思ってな。
しかし、まあもう無理だと思うが。俺も面倒になってきたし。

学生の作品と企業製品では、検証レベルが全然違う。
undefined非許容というのは、まともに検証すれば自明なんだよ。だからみんな知っている。
逆にそれを知らないってのは、お前は検証してないって事なんだよ。
しかも医療系だろ?煽り抜きでヤバイと思うぞ。

> 電文
知らんよ。てかこれって一般用語か?ググッた限りはただの「パソコン」と同レベルの集合名詞だと思うが。
俺はWeb系ではないので、Web系のローカル用語は知らんよ。
XHRでArrayBufferなら最初からそう言ってくれたほうが良かった。
とはいえそこは本題ではないが。

>>324
おう、ありがとうよ。
俺は見ての通りこのスタンスだし、これくらいの粘着や煽りはいつも通りだ。
特段怒っているわけではないのだが、そう見えたのなら済まない。

というか、Web系の連中のこの自信はどこから来るのか、本当にかなり疑問だ。
お前ら、プログラミング一般からすると、かなり「ひよこ」だと思うぞ。
大口を叩くのは、10k行のコードを普通に取り扱えるようになってからにした方がいい。
そんな奴はこの界隈にはさらにいるのだから。



333 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 09:05:24.34 ID:l5PlpRpu.net]
>>324
わざとこの態度だからなぁ。
逆に、沸点低いやつがよくわかっていいじゃん。
沸点低いやつが何言っても、反射的に言ってるだけなんだし。
>>325
おう。JSONとして流れてきたらそりゃJSONという電文だな。
バイナリパスカル文字列式可変長電文か。

>>326
undefined許容というか、ずっと読み間違えてない?
データとしてundefinedを入れるわけではなくて、
解釈した結果そのフィールドには値が入っていない→それをオブジェクトに起こしても、そのプロパティ自体が設定されていない、だよ?
可能な限りの、「データは入ってませんでした」を設定して回るほうが現実的で無いよ。

俺、あとウェブ系じゃないからね。
基本はDB屋だよ。
DBに入ってもない無い値を、入っていた事にされるのは許せんだけ。

334 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 09:19:18.21 ID:KJUuPgzh.net]
> DBに入ってもない無い値を、入っていた事にされるのは許せんだけ。
誰もそんなことは言ってなかったと思うが、何が許せないんだろうな
このスレだと hasOwnProperty, forEach, keys で判定する処理は見かけたが

335 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 09:20:08.42 ID:EjSYfMvt.net]
自演開始〜

336 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 09:40:27.01 ID:l5PlpRpu.net]
>>328
そりゃいいよ。それはそれで。
最初に初期値で初期化しとけば良いとか、そういうアホに対しての反論だから。

337 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 10:1 ]
[ここ壊れてます]

338 名前:6:07.42 ID:LdI3VN67.net mailto: >>327
> DBに入ってもない無い値を、入っていた事にされるのは許せんだけ。
outer joinやcross joinについてはどう思うのかね
[]
[ここ壊れてます]

339 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 10:17:56.42 ID:d9LvTqQR.net]
https://tpc.googlesyndication.com/simgad/16591006766826217033

これの答えは何なの?

340 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 10:21:15.79 ID:LdI3VN67.net]
>>311
> ループの内側の数とか言うより、描画用の項目定義は項目定義である。
> 医者が並べて見る時に、項目数が変わったり並び順が変わったら困るから。
> それは医者次第だけど、内部的には
> xpathみたいなもので指定する。
なかなか話が通じないが、要は表示項目数×人数のループをしてundefinedかどうかを
判定するということだろ?表示項目数が30で20人分表示なら600回の処理をする。

そうじゃなくて、存在するデータ側を元に表示するか、あるいは全く別のアプローチをすれば
いちいちundefinedかどうかなんて判定は不要ではとうこと。

341 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 10:37:22.17 ID:wxR5ZVVT.net]
>>331
無ければ困る事もわかるけど、凄く嫌い。
行列のDBは集合に対しての操作だと意識してないと最悪の結果に陥ると思うわ。

>>333
ふむ、では、その冴えたアプローチで綺麗にしたデータを、行と列、ないしはグラフにレンダリングする術を
提示してみてくれよ。
まさか、最初にレンダリング域全体のメモリを確保して、データ一つ一つに対して、RCや軸をデータから推測してその場所へデータを載せれば良い、最終的に残るのはundefinedだった項目だけ、とか考えてんのかな。

342 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 11:08:00.91 ID:LdI3VN67.net]
>>334
> ふむ、では、その冴えたアプローチで綺麗にしたデータを、行と列、ないしはグラフにレンダリングする術を
> 提示してみてくれよ。
> まさか、最初にレンダリング域全体のメモリを確保して、データ一つ一つに対して、RCや軸をデータから推測してその場所へデータを載せれば良い、最終的に残るのはundefinedだった項目だけ、とか考えてんのかな。
グラフという単語がでてきたので話が根本的にかみ合ってない気もするが、基本的にはそういうことだよ。

テーブルで表示することを考えれば、項目が決まれば行あるいは列が決まり、人が決まれば列あるいは
行が決まる。それをメモリ上のデータ構造として作成して一気にテーブル化するとか、DOMを直接書き
換えるとか、あるいは、テンプレートを使うか、データバインディングしてModelが自動的にViewに反映
されるようにするとか、やりようはいくらでもある。

グラフのメタファーで言えば、定義域:0〜100, 値域:0〜100のグラフがあるとき、(1, 3), (2, 5)という二つの
データしか無ければ二回プロットすれば終了ということだよ。



343 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 12:25:58.83 ID:wxR5ZVVT.net]
>>335
やりようはいくらでもある、な。
アホか。

データバインディングするにしても、いや、バインディングするならそれこそ、データは歯抜けでいいだろう。
データバインディングするってことは、ビュー側から、どの要素をとバインドすべきだし。

一気にメモリに載せてられるかww

344 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 12:33:55.20 ID:wxR5ZVVT.net]
しかし、何故undefined(というか、値が無いもの)とnullを別物と理解するのがこれほど彼にとって難しいのかわからんな。

345 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 13:25:23.48 ID:LdI3VN67.net]
>>336-337
なにか勘違いされてる気もするけど、歯抜けのデータが悪いとは一言も言ってないよ。
>>304みたいなデータが戻るケースはありがちだし。

で、俺が疑問に思ったのは、undefinedかどうかを判定する必要があるということは、
こんなコード書くの?ってこと。
display_items.each (function(display_item) {
  data.users.each (function(user) {
    // block A: ここがループの一番内側
    output('<td>' + user.hasOwnProperty(display_item) ? user.item_value : '' + '</td>');
  });
});
これだと、いつでもdisplay_items.count * data.users.count回のhasOwnProperty()が呼び出される。
display_items.count * data.users.count = 1,000のとき、表示するデータ数が1個だったときでも
1,000回の実行が必要。

そうじゃなくて、逆からのアプローチはできないのという疑問。
逆というのは、「存在するデータを元にする」やりかた。

346 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 13:26:54.24 ID:LdI3VN67.net]
君は君の問題を100%把握してるだろけど、俺(たち)は断片的な君の書き込み内容から
どのような問題なのかを想像することしかできないわけお。

>>336
> 一気にメモリに載せてられるかww
とか言われても、困惑するのみ。

347 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 13:49:49.08 ID:wxR5ZVVT.net]
>>339
できないなら、自分には理解できない事だと納得して無意味な提案やめて寝ればいいのにり

348 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 13:54:56.19 ID:LdI3VN67.net]
>>340
まぁ、ざっと読むと君の環境はこのスレ的には異端みたいだし、フロントエンドエンジニアでもないようだから
どうでもいいっちゃいいんだけどね。

349 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 14:14:48.43 ID:WCbBJW5L.net]
>>338
想像でしかないんだけど表示項目1に対してデータ項目がn(n>0)って可能性とか

たとえば視力検査の欄に表示する際
{"視力左":1.0,"視力右":1.0}の両方があって初めて表示するとか

{"視力左":1.0,"視力右":1.0}→「おっけー」って表示
{"視力左":1.0,"視力右":null}→「右目は測りきれない4.0とか超いいかも」って表示
{        "視力右":1.0}→「左目測ってない」って表示
{"視力左":1.0        }→「右目測ってない」って表示
{                }→「視力検査してないっぽい」って表示

350 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 14:29:29.32 ID:mikttA8+.net]
その例はちょっと良くないが、言いたいことはあっている。
undefinedはシステムからの処理上の値が無いですよという知らせ。
nullは誰かが明示的にそれを表明したもの。

351 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 15:57:03.36 ID:wxR5ZVVT.net]
>>342
あー、それ一番的を射てる。

352 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 18:51:35.17 ID:znL0FvMW.net]
jsやっている人はc、c++などのnullしかない言語ではundefinedが無いのはどうするのですか?困りますよね?



353 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 19:40:15.04 ID:e360ttrJ.net]
undefinedを値として使ってるバカなんて知るかよ
大多数の人間はnull返せハゲって思ってるっての

354 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 20:00:07.25 ID:JD+3IcFi.net]
>>322
ありがとうございます。

ちょっと本題から逸れるんですが、[,,,] の中身が新鮮ですね。
lengthは3で、キーは何も無いと言う。
一見、{0:undefined, 1:undefined, 2:undefined, length:3}
こういう中身になってていいじゃないかと思うんですがそうはしないんですね。
いや、まぁどうでもいいんですが。

あ、次にpush('foo')しときにlength見て{3:'foo', length:4}になるから嬉しいのか。
lengthだけ持ってても十分なのか。なるほどなるほど。

355 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 20:32:52.55 ID:wxR5ZVVT.net]
>>345
nullしかない言語は、dbNullを扱えるようになってるような。

356 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 22:33:17.75 ID:C610iy1k.net]
>>344
末端に判定ロジック大量に積んでるのか
ウンコですね

357 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 22:51:11.93 ID:ZB9BdGtV.net]
>>345
そういった言語では例えば存在しないプロパティにアクセスすると例外となるので必要性が薄い。
JSがスクリプト言語だからこそ映える設計。

>>347
ぶっちゃけ歯抜けはよほどの場面じゃないと推奨しない。
言語エンジンの最適化試行ぶち壊しで気持ち悪い。
あと、Array.prototype.lastなんて夢でも死んでも使わないように。
その機能の標準化が一番危うくてデリケートで予測が付かない段階にきてる。
今最もprototype下に自作してはならない機能の1つ。

358 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 23:04:26.90 ID:VEM8svzW.net]
>>347
> lengthは3で、キーは何も無いと言う。
[,,,] は Array.prototype 系と for 文で走査プロパティが異なるので注意が必要だ
Array.prototype.forEach はプロパティが存在する値のみを走査する為、[,,] では何も走査しない

[,,,].forEach(function (value) { console.log(value); }); // コンソールに何も出力しない
[undefined,undefined,undefined].forEach(function (value) { console.log(value); }); // undefined を3回出力する

少し、話がそれるが、プロパティの存在する値にだけ処理を行うというのは重要なことだ
>>342の例でいえば、次のように書けるだろう
https://jsfiddle.net/b1x6nohm/
対象プロパティが String 型なので falsy な値として '' を使用している
null を使うのなら対象が Object 型である必要がある

359 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 23:13:56.84 ID:C610iy1k.net]
これもう議論にならんやろ
本人以外は皆仕様知っててこの態度なんやし

360 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 23:17:06.49 ID:VEM8svzW.net]
>>347
>>307でprototype拡張されていなかったのでいわなくても伝わるだろうと思って伏せていたが、Array.prototype.last はあくまでも便宜上のサンプルねので念のため
Array.prototype 拡張は将来的に同名プロパティが定義されたときに互換性が崩れるのでお勧めしない
静的関数や独自オブジェクトによる拡張で代用するのが妥当だろう
何らかの理由でどうしても定義したいのなら一昔前のfor-inによる汚染問題を解消するために Object.defineProperty を使うべきだ
Object.defineProperty(Array.prototype, 'last', {writable: true, enumerable: false, configurable: true, function last () {}});

361 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 23:19:21.13 ID:VEM8svzW.net]
>>353は SyntaxError だったので訂正
Object.defineProperty(Array.prototype, 'last', {writable: true, enumerable: false, configurable: true, value: function last () {}});

362 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 23:20:01.54 ID:wxR5ZVVT.net]
まぁ、何度、経験ないだろ、なんて煽ってもそこだけ返事がないところみると、
「本人以外は全員わかってる」んだろうけど、笑えるわ。



363 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 23:38:40.59 ID:24hp8pmx.net]
>>327
お前はいつか事故るぞ。投薬履歴だって表示が間違っていれば死人が出るんだ。
Web系の「リロードすれば万事おk」のノリでは駄目なんだ。お前はそれですらないが。

ただ、検証を手抜きすれば単価はいくらでも落とせるわけで、このように、
一通りの知識すらない馬鹿を雇って一通りの検証すらせずに出荷する悪徳業者をどうするかは
今後の課題になるのだろうね。
契約上、ソフトウェアのバグについては責任追及できないようになっているのだろうけど、
これまでソフトウェア産業が培ってきた常識すら知らない奴がコーディングし、
まともな検証すらせずに出荷するというのは、業務上過失致死/偽計業務妨害に問われるべきだ。
AS IS WARRANTY を完全に悪用している。

とはいえ、普通に考えればこういう悪徳業者はいつか出てくるわけで、不思議ではない展開だ。
死人が出てこの構造が判明してからでないと、行政は動かない。
願わくば、お前がその最初の犠牲者となり、自業自得を以て業界の浄化に貢献してくれ。

というわけで君には「人殺し君」というあだ名をあげよう。
多分君は既に人を殺しているか、今後人を殺す。
無知も罪なのだよ、業界によっては。

それはさておき、ここに来て気づいたが、 AS IS WARRANTY って性善説ベースだったんだな。
こりゃ性悪説ベースの何かを導入しないと駄目だ。
とはいえ資格なんて糞の役にも立たない業界だし、なかなか難しい。
調べた限りではPL法も適用外だし、悪徳業者はやりたい放題だ。
(ただここまで来るとマ板の話題でスレチだが)

話を聞いている限りこいつは鯖屋で、ソフトウェアの知識は一切無い。
フリーソフト等を組み合わせれば悪徳零細学生レベルでも見目麗しいシステム()を構築でき、
素人を騙せる時代になった。そしてそれがすべて自分の能力で出来たものだと勘違いしている。
(組み合わせる能力はあるが、使われているソフトを記述する能力は無いことに気付いていない)
とはいえ、現実問題として、これを顧客に見抜けというのは不可能だろう。
なんだかなあ。

364 名前:NAS6 ◆n3AmnVhjwc [2016/05/31(火) 23:43:38.27 ID:ZnwkUC0d.net]
ttp://nas6.main.jp/htm000.htm
x3domのサンプル集とライブラリ
完璧な2/3D行列計算ライブラリに仕上がりました

x3domは簡単でいいよ
ポリゴンテスト&ライブラリヘルプ.htmでも見てください
完璧に計算されています^^

365 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 23:44:24.50 ID:+fB1tt6W.net]
> 静的関数や独自オブジェクトによる拡張で代用するのが妥当だろう

そうやって作られたのがUnderscore(lodash)というライブラリで
わざわざ作らずとも、 _.last([1,2,3]) で取得できるんだよ。

366 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 23:50:20.60 ID:C610iy1k.net]
>>355
RASISすら守っとらんみたいやし
RDB使ってる現場やけど、そんな場当たり的な実装の経験ないで
普通はリクエスト間違ったら全部エラーやしfail safe前提や
あんさんが無知すぎるんやで?

367 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 00:02:09.20 ID:J/AVgXyA.net]
DB屋ならjoinできないようなデータ構造の時点で問題あると気づくやろ
なんでそんな無理して知ったかぶるんやろ

368 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 00:03:48.85 ID:XVpspPb0.net]
>>357
行列のライブラリはどれが有名か知らんけど、
このglMatrix.jsはスター多くていいんじゃないかな?

https://spphire9.wordpress.com/2011/04/05/javascript%E3%81%AE%E3%83%99%E3%82%AF%E3%83%88%E3%83%AB%E3%80%81%E8%A1%8C%E5%88%97%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA/

> 前に調べたときは全然見つからなかったけど、WebGL関係で調べていたら結構見つかったのでメモ。
>
> glMatrix.js
> https://github.com/toji/gl-matrix
> glmatrix.net/
> webgl-mjs code.google.com/p/webgl-mjs/
> Sylvester sylvester.jcoglan.com/
> CanvasMatrix.js khronosのWebGLのチュートリアルで使っているがどこでダウンロードできるのか分からなかった
> glMatrix.jsがシンプルなのでオススメ。
>
> 2014/01/19追記
> glMatrixの公式サイトができてた。

369 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 00:04:59.00 ID:XVpspPb0.net]
>>360
> DB屋ならjoinできないようなデータ構造の時点で問題あると気づくやろ

どういうこと?
nullがあるとjoin出来ないとかそういう話?
なわけないよな。left joinとかあるわけだし。

370 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 00:11:15.87 ID:XVpspPb0.net]
あとすべての項目をjoinに使うわけでもないし。

371 名前:NAS6 ◆n3AmnVhjwc [2016/06/01(水) 00:18:19.22 ID:CPNT1MjH.net]
>>361
ライブラリを作る前に探したけど
回転行列←→回転ベクトル、回転行列←→四元数
この相互変換を扱ってるのは見当たらなかったよ

372 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 00:19:48.60 ID:XVpspPb0.net]
>>364
興味ない。



373 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 00:20:56.87 ID:XVpspPb0.net]
>>364
もう少し丁寧に言うね。
githubで公開してもいないようなものを使う気にはならない。

374 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 00:21:24.97 ID:iqAUu6wp.net]
>>360
>>342なんだけど挙げたデータ構造は
あくまで俺がてきとーに想像しただけなので
それで誤解与えてしまってたらごめん

375 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 00:42:46.14 ID:JLTaiLCk.net]
>>359-360
多分そちらも気づいていると思うけど、人殺し君には「信頼性を上げる」という感覚がないんだ。
だから俺たちが何を問題視しているのか、全く

376 名前:通じていない。

ただ、当たり前のように信頼性を上げようと努力してきた側からすると、
業界全体が悪徳業者に対して全く無防備だったってのが結構ショックなんだよね、、、
というかよくこれまでこれで回ってたなと。
[]
[ここ壊れてます]

377 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 00:43:15.64 ID:r3hfxk1X.net]
>>356
必死すぎて笑えるw
おつかれさん、底辺学生さん。

378 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 00:46:19.01 ID:XVpspPb0.net]
>>368
そちらってお前誰だよw

379 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 01:00:31.81 ID:+8Has+9Z.net]
>>357
あなたは x3dom.js と比較して何がどう「完璧」なのかを説明する必要があると思うのだが
ドキュメントも簡易説明文のみで x3dom.org と比べれば雲泥の差があるように思う
www.x3dom.org/

380 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 01:02:19.24 ID:J/AVgXyA.net]
>>362-363
関連があるのに関連を付けずに
見つからない場合もright joinと同じ事するんやろ?
破綻しとるやん

381 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 01:05:25.70 ID:XVpspPb0.net]
>>372
関連つければいいだけだよね?
まさか片方にnullが入っていると関連がつけられないとでも?

left joinでもright joinでも、別に使うことに問題無いし
問題ないから標準機能なのだし、どこが破綻?

DB素人なら、すいません、素人だから
勘違いしてましたって謝れば許してあげるよ?w

382 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 01:10:30.88 ID:+8Has+9Z.net]
言い争っている人、所詮は机上の空論なのでコードを書いて語り合ってくれ
各自にとっては空論ではないのであろうが、持論が相手に正しく伝わっているとは思えん



383 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 01:12:17.78 ID:XVpspPb0.net]
>>374
今はRDBMSの超基本レベルことを分かってないやつが相手みたいだから
そこまでやる必要ないかなw

384 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 01:22:41.36 ID:JLTaiLCk.net]
>>374
いや十分通じてるよ。表面的には。
ただ、根本的な部分で人殺し君は分かってないから、通じない。
とはいえこれは、ここでなんとかなる話ではないよ。これではどうやっても平行線だ。

385 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 01:25:01.12 ID:+8Has+9Z.net]
>>375
お互いに相手が低レベルと思っているように読めるんだがな
相互理解が目的なら言葉を選べ
馬鹿にしたいなら他の人の邪魔になるから口を慎め

386 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 01:31:01.82 ID:XVpspPb0.net]
>>377
質問に答えられない方はどちらか?
それを見ればわかるでしょ。

まだ、レス帰ってきてないよw

387 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 02:20:52.04 ID:r3hfxk1X.net]
なんか敵を見間違えてるんじゃねえの?
余裕無い奴は大変だな。
そりゃ、せっかくundefinedなのを無意味にnullで初期化とかドヤ顔で言っちゃうわけだ。

388 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 09:21:35.68 ID:jwFJ9KH2.net]
こんなにもめるんならundefinedは廃止してnullのみにすべき。

389 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 09:26:09.02 ID:P2FwW4b5.net]
社会から未定義の連中が未定義値に物申すとか1万年早い

390 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 09:33:08.65 ID:wzx/dknC.net]
嫌なら定義するなよ

391 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 13:31:22.60 ID:KEu/R4xX.net]
まぁ、null統一、すべてのプロパティは埋めて、ビューから相当するデータ座標を取らずに、データからビューを定義しよう、そのためには、
ビューの状態全体に対して、必要か不必要かは置いておいてすべてのビューが表示しうる形での裏画面を持っておこう、
って大富豪の主張がありうる、って話だよね。
面白い事に。

XMLDBとか、KVSとか、多次元配列DBに向いてない人なんだろうけど。

そもそもJOIN出来ないからなんたら、なんていう人は、そもそもそういうDBに向いてないけど。

392 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 01:24:38.27 ID:g2tgMhPe.net]
>>377
犬の糞と猫の糞。



393 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 02:42:13.57 ID:XqRYmg3l.net]
>>373
関連つければいいだけだよね
その通り
つけてないけど

394 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 02:43:59.04 ID:XqRYmg3l.net]
自分の説明してる仕様で実現できてる事が何かも把握してないみたいやね
こりゃ周りの奴らは大変やで

395 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 08:36:48.79 ID:8VCgKElP.net]
前提知識で合意のとれてない議論に意味があるのか
端から見たらどちらも相手を見下す事が主論になってる
どちらの方が正しいとか、もうどうでもいいから

396 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 08:39:24.52 ID:I85Xb9LU.net]
バカに議論はできない
壁に向かって話してろゴミ

397 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 08:51:25.41 ID:0vkxmVo8.net]
脳味噌がnullってことで解決

398 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 09:15:26.93 ID:oJukbexp.net]
nullほど。納得

399 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 13:24:04.29 ID:BtmdPReZ.net]
結局nullは要るとして、undefinedが無ければ代わりにissetみたいなのが要る。
内部を露出して活用を許すのと、メタ的に内部に干渉するの、どちらが良いかという話。

400 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 13:58:00.69 ID:tGqw3Zei.net]
>>388

上手いこと云うな
オレのコピペにしますん

401 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 15:58:54.65 ID:gjH3g/Dc.net]
>>391
その通り。特に動的言語なら。
mallocした結果をどの型として使うか論にも近いけど。

402 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 16:21:31.47 ID:0vkxmVo8.net]
nullなことばっかり言ってるんじゃないよ



403 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 16:42:37.48 ID:T7FoO03Y.net]
(´∀`) ぬるぽ

404 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 16:44:57.76 ID:tGqw3Zei.net]
ガッ






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

前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