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

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]
ガッ

405 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 17:03:14.89 ID:E1oCL6WJ.net]
      .r'"''、          _,,,.. -ー''''''ー、   ./゙'=@._ ―ー-,        /\        /\         ┏┓┏┓
  .,iー-、 .゙l  l,,_     /      _  . l   !  .!./     ゝ-、     /:::::::ヽ____/::::::::ヽ、       ┃┃┃┃
  .!,  .゙'"     ヽ.    ヽ,,,,.. -''ン゛  .}   .|  .゛ ,,、  〔゙|.ο !    丿 ::.__  .:::::::::::::  __  ::::ヽ_      ┃┃┃┃
   l   , r  .iヽ  l     . ,/   .,./    l   / _|  ‘'ヽ /    / /。 ヽ_ヽv /: /。ヽ  ::::::ヽ     ┃┃┃┃
  ./   .l/  / .!  .!  .... ‐゛    ‘''-,   .!  .i| ´     |┏━/ / ̄ ̄√___丶  ̄ ̄\  ::::|━━┓┃┃┃┃
  .l゙ ,    .i′亅  !  /   .x;;'''''''、 . !   ! │ゝ―i  .厂 ┃  | .:::::::::: / / tーーー|ヽ     ..::::: ::|   ┃┃┃┃┃
 │ i゙.l   ,ト--″ l  .!_ .,,、 ゙'、 |  .,!  !  .|., ―┘ /  ┗━| .:::::.  ..: |    |ヽ        ::|━━┛┃┃┃┃
  .! .∨   .,..、   l゙   .| .l. l  ∨  !  .|  .] i‐ 、  .ヽ、   | :::    | |⊂ニヽ| |      :::::|      ┗┛┗┛
  . l.  : ,i┐゙‐'゛   ゙l    l. `″   /    .!  .! ゝ./    . l //| :    | |  |:::T::::| !      .::|     ┏┓┏┓
   `''''" ヽ,,,,,,..-'―′   \,,,,,,,,,.. '"     ゝ ノゝ、,,,,,./ -.../// \:    ト--^^^^^┤      丿 \ . ┗┛┗┛

406 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 17:41:24.84 ID:tGqw3Zei.net]
      ∧
    <  >_∧
= ()二)V;・∀・)
    \ヽ ノ )
    ノ(○´ノ  ガッ
   (_ノ(__)

407 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 19:45:18.42 ID:foj8oVvi.net]
                     __        、]l./⌒ヽ、 `ヽ、     ,r'7'"´Z__
                      `ヽ `ヽ、-v‐'`ヾミ| |/三ミヽ   `iーr=<    ─フ
                     <   /´  r'´   `   ` \  `| ノ     ∠_
                     `ヽ、__//  /   |/| ヽ __\ \ヽ  |く   ___彡'′
                      ``ー//   |_i,|-‐| l ゙、ヽ `ヽ-、|!  | `ヽ=='´
                        l/| | '| |!|,==| ヽヽr'⌒ヽ|ヽ|   |   |
  ┏┓  ┏━━━┓              | || `Y ,r‐、  ヽl,_)ヽ ゙、_ |   |   |.         ┏━┓
┏┛┗┓┗━━┓┃              ...ヽリ゙! | l::ー':|   |:::::::} |. | / l|`! |i |.        ┃  ┃
┗┓┏┛     ┃┃┏━━━━━━━.j | l|.! l::::::ノ ,  ヽ-' '´ i/|  !|/ | |リ ━━━━┓┃  ┃
  ┃┃    ┏━┛┃┃       ┌┐   | l| { //` iー‐‐ 'i    〃/ j|| ||. |ノ        ┃┃  ┃
  ┃┃   ┃┏┓┃┗━━━.んvヘvヘゝ | l| ヽ  ヽ   /   _,.ィ ノ/川l/.━━━━━┛┗━┛
  ┃┃  ┏┛┃┃┗┓     i     .i  ゙i\ゝ`` ‐゙='=''"´|二レ'l/″           ┏━┓
  ┗┛  ┗━┛┗━┛    ノ      ! --─‐''''"メ」_,、-‐''´ ̄ヽ、              ┗━┛
                   r|__     ト、,-<"´´          /ト、
                  |  {    r'´  `l l         /|| ヽ
                  ゙、   }   }    | _|___,,、-─‐'´ |   ゙、
                    `‐r'.,_,.ノヽ、__ノ/  |  |      |、__r'`゙′
                            |   |/     i |
                             |          | |

408 名前:デフォルトの名無しさん mailto:sage [2016/06/02(木) 23:25:10.25 ID:3RkkmY6H.net]
>>385
> 関連つければいいだけだよね
> その通り
> つけてないけど

ってことは、ORM使ってないのか?
ORM使ってプログラム言語でモデルを定義していってその関連もモデルで定義する。
その結果をマイグレーション機能を使ってデータベースに反映、
ついでにER図も生成しちゃうっていうのが今時の開発でしょう?

モデルに関連を定義しておかなければ、あるモデルから関連している
別のモデルのデータを取得するのができないわけで開発効率下がりまくりでしょ?
(厳密に言えば手動でコードを書けば取得できるがそれだとORMを使う意味がない)

409 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 00:32:44.38 ID:1GfBsi1m.net]
出尽くし感があるので纏めておく。

人殺し君は悪徳業者に勤めており、検証不十分のソフトウェアを出荷している。
そのソフトウェアでは競合系のバグ等は完全に放置されている。
平たく言えば、間違った内容/値が表示される事が偶に発生する。
とはいえ、再現確率は低く(1日〜1週間に1回程度)、再び確認すればほぼ常に正しい値が表示されるため、
「見間違いだった」として処理されているはず。
結果、このバグによって発生した医療ミスは本当は医者のミスではないのだが、
「医者の過労または不注意による見間違い」として処理される。
また医療ミス自体も隠蔽される方向のため、二重に隠蔽されることになる。
医療系は単価が高いため、悪徳業者にとっては甘い汁状態だ。
医療関係者は金を吸い取られた上に、ぬれぎぬを着せられている可能性がある。

もし仮に医療系の人がこれを見ていて、「表示がおかしかった」事に気づいたことがあった、
また「最近『見間違い』事故が多すぎる」というときは、この類の悪徳業者の製品でないか確かめた方がいい。
悪徳業者の技術レベルは信じられないほど低い。普通のIT関係者なら絶句する。
JavaScriptの場合ソースは確認可能な事が多いので、非公式にでも知り合いのIT実務者を頼り、
ソースを確認してもらえば、すぐに判明すると思う。

このスレのこれまでの議論およびここに記載した情報で十分だと思うが、
もしもっと詳細を確認したい医療関係者がいれば、
以下スレで問い合わせてくれれば対応するかも。
> echo.2ch.net/test/read.cgi/tech/1449440793/


技術的には、
undefinedの何が問題なのか自分で判断できないような馬鹿はundefinedを活用(キリッするなって事だ。

では続きをどうぞ。



410 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 00:47:09.21 ID:ZgLr+wQe.net]
JSONってundefinedがないけれど、
じゃあ存在しない値にアクセスした時各言語ではどんな挙動をするのだろう?

411 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 01:00:55.33 ID:4VbjelCP.net]
>>402
例外が発生する

412 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 01:57:17.93 ID:qC3of5q8.net]
そうじゃない言語もあるんじゃないの?

413 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 08:37:03.10 ID:yTlzgE6f.net]
>>404
例えば?

414 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 08:38:53.12 ID:oIsEebnB.net]
おまえの頭ん中

415 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 08:41:45.97 ID:WTDDDw9O.net]
>>401
検証不十分とか人殺しだとか言ってくれるよなぁ。
試験中ですら、稀にも発生したらハンコリレーで大変な目に遭うよ。
医療ミスがどうとか言ってるけど、隠蔽されるわけないじゃん。
見間違いだった、もあり得ないよ。

お前ら一般側には隠蔽されているように見えるんだろうけど、製造業のラインからの不良品混入程度に、委員会とかで裁かれるよ。
表示内容の確認に対して不足があった、って話になるだろうね。
これ判例もある。医者の判断と機械の値が一致しない場合は、医師の判断が優先され、かつ医師がその間違った値を信じ込んだ場合は「治療行為が行えるのは医師のみ」という原則に則ると、医師が医師である理由を満たせていない、ってやつ。

>>402
undefinedはたくさん存在してるじゃん。
書いてないだけで。

例外が発生するってのは良くない動きだと思うけどな。コスト高い。

416 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 08:55:59.89 ID:e85j2qyA.net]
所詮は命令、人それぞれ
自己満足で解決

417 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 13:00:26.72 ID:D6MzcBW9.net]
>>400
このバカはその手動で書くと言うのを良しとしてるんやで
そしてあと付けで関連つければいいだけだと抜かしよる
付けとらんから問題なんやろ

418 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 13:11:35.19 ID:WTDDDw9O.net]
どういう意味だろ、手動で書くとは。
俺はそれを言った覚えは無いが、言わなくてもデータ:DB:ビュー全体に対するマッパー自体の実装の話だけどね。

419 名前:デフォルトの名無しさん [2016/06/03(金) 13:21:31.04 ID:D6MzcBW9.net]
>>410
ORMで関連付けてるならundefined云々での分岐なんて出るわけないやろ
その場しのぎで適当言いすぎやろ頭おかしいんちゃうか



420 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 13:35:21.14 ID:WTDDDw9O.net]
>>411
当たり前じゃん。多次元DB触った事無いのかな?
クラスベースな考え方してるからそういう思考なんじゃない?
undefinedで分岐、って考えるから頭追いつかないんじゃないかな。
値は、「定義されていないか、オブジェクトか、値か、値として

421 名前:\すことのできるオブジェクトか、null」。シンプルじゃん。
javascript屋ならもっと理解早いと思うんだけどな。
HTMLのスクレイピングそっくりなんだけど。
[]
[ここ壊れてます]

422 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 16:01:53.05 ID:LK0McYVX.net]
>>412
>HTMLのスクレイピング

すまん。
言葉の意味が分からない。
つまり、どういうこと?

423 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 16:54:41.91 ID:iJVPPkrY.net]
>>412
> 値は、「定義されていないか、オブジェクトか、値か、値として表すことのできるオブジェクトか、null」。シンプルじゃん。
これをシンプルだと思ってる奴は何脳なんですかね

424 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 17:23:55.54 ID:WTDDDw9O.net]
>>414
誤解のしようが無いでしょ。
その項目が無かった、は「その項目が無かったクラス」のインスタンスが格納されている、とか、
「その項目はあるけどまだ結果は出ていない」クラスのインスタンスが格納されている、とか、
定義しだすときりがないと思うけど。

npmに登録されているモジュール全体の空フォルダがnpm initしたら作成されたらinode一瞬でなくなるじゃん。
かつ、空ディレクトリ作って準備してても、そのモジュールが更新されたら準備とは異なるし。
さらに、requireは別にpackage.jsonに依存せず使えるよね。
存在チェック、中身のパーズ、その他を経て、成功か失敗か、別のフォルダを見るのか決まるっしょ。
undefinedは、そのディレクトリのない状態。
nullは、module.exportがnullの状態。

425 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 17:31:46.02 ID:iJVPPkrY.net]
>>415
で、お前は何脳なの?

426 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 17:39:25.42 ID:D6MzcBW9.net]
>>412
その多次元DBはテーブル同士の関連必須やで?
あんさんの言ってる仕様はキーそのものが取得できない仕様やから
ORMなんて出しとるけど全く関係ない話やろ

427 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 17:41:36.14 ID:hMBisG69.net]
    ∩ _rヘ       / ヽ∩
  . /_ノυ___ιヽ_ \
  / /  /⌒  ⌒\   ヽ \
  (  く  /( ●)  (●)\   > )  お前らの頭は
  \ `/::::::⌒(__人__)⌒:::::\' /
    ヽ|     |r┬-|     |/
      \      `ー'´     /

 (( (ヽ三/)        (ヽ三/) ))
  .  (((i )   ___   ( i)))
  / /  /_ノ   ヽ_\   ヽ \
  (  く  /( ●)  (●)\   > )  くるくる
  \ `/::::::⌒(__人__)⌒:::::\' /
    ヽ|        ̄      |/
      \              /


   ∩∩∩    .    ∩∩∩
  .∩_:||_:|_:|        |_:||_:|_:∩
  │ ___  つ      ⊂  ___ │
   ヽ   ノ  ___   ヽ  ノ
  / /  /_ノ  ヽ、_\   ヽ \
  (  く   o゚((●)) ((●))゚o   > )  パーだおwwwwwwwwwwwwwwwwwww
  \ `/::::::⌒(__人__)⌒:::::\' /
    ヽ|     |r┬-|     |/
      \    | |  |     /
          | |  |
           `ー'´

428 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 17:43:47.98 ID:D6MzcBW9.net]
説明が酷すぎるやろ
なんやこれわざとやってんのか?

429 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 17:48:26.82 ID:cxSjYB6R.net]
なんでバカに構うの?
おまえもバカなの?
バカ同士気が合うんだな



430 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 18:46:51.17 ID:qTHUaoua.net]
類は友を呼ぶ

431 名前:デフォルトの名無しさん [2016/06/03(金) 19:43:22.52 ID:1XJ7uNxl.net]
初心者です。

jsonを受信しようと組んでみましたが、うまくいきません。
ブラウザはFireFoxで、FireFoxのスクラッチパッドで試しています。


var req = new XMLHttpRequest();
var requestUrl = 'ここにアドレス';

req.onreadystatechange = function()
{
if(this.readyState == 4 && this.status == 200) {
console.log(this.responseText);
}
}

req.open( 'GET', requestUrl);
req.send( null );


アドレスの部分をブラウザに直打ちするとブラウザに返ってきたjsonが表示されます。
その状態で上記のスクリプトを動かすとコンソールにjsonが表示されます。

ただ、ブラウザが別のページだとコンソールには何も表示されません。

どのようにすればよろしいでしょうか?

ログには「クロスオリジン要求をブロックしました・・・」のようなメッセージが出ます。

432 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 20:10:29.09 ID:p9oJqMem.net]
また自演かよ
頭いかれてんなこいつ

433 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 20:20:21.84 ID:WTDDDw9O.net]
>>417
テーブル同士の結合www
まあ、おまえが多次元DB使ったとこ無いことは理解したよw

434 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 20:31:02.84 ID:n0THg94n.net]
>>422
頼むから!!!
頼むから!!!もう!!!二度と!!!
onreadystatechangeなんて使わないでくれ!!!!!
readyState?!目が腐る!!!!!

435 名前:デフォルトの名無しさん [2016/06/03(金) 21:01:10.72 ID:1XJ7uNxl.net]
>>425
どうすればいいか教えてください
マジで困っています

436 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 21:08:50.41 ID:0G5q73nh.net]
>>422
www.html5rocks.com/en/tutorials/cors/?redirect_from_locale=ja

437 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 21:43:27.43 ID:6tJjdY0+.net]
nullと比較する時は緩い==の方を使うのは今の時代でも変わりありませんか?

438 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 21:48:09.86 ID:TYtzKZdV.net]
自演乙

439 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 22:37:38.94 ID:D6MzcBW9.net]
>>424
何や君結合と関連の違いも分からんで突っ込んどったんか?
どおりで説明が怪しいわけやな
必死に無知を隠してたんやから



440 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:08:42.59 ID:3lsMjWzh.net]
>>422
クロスドメインなら、JSONP かな?

「jsonp クロスドメイン jquery」で検索!

441 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 08:28:02.51 ID:vbA2Z8Vh.net]
>>428
昔から null 判定にはほとんど ToBoolean だけ使っていますが、困ったことはありません。
Polyfill コードを書くときには === を使うこともあります。

442 名前:憲法に守られる在日スパイ・創価・ヤクザ mailto:sage [2016/06/04(土) 08:57:11.18 ID:SVOilD6U.net]
皇室の危機に気づいていますか? 

日本は、2,000年以上続く皇室のおかげで、世界最古の国として、
ギネス認定されているそうです。

自民党は憲法の改正で、日本の国家元首=天皇陛下と条文に明記することで、
天皇制廃止をもくろむ帰化人スパイ勢力(政党、憲法学者、弁護士・言論人等)から、
皇室を守ろうとしています。
※イギリス、オランダ、ノルウェー、デンマーク、スペインなどは国王を国家元首と
 憲法上に定めている。(日本同様、政治の実権は有さない。)
※日本で支配的な「護憲派」憲法学者の多くは反天皇。憲法から天皇の条項ごと削除したい
 人たちなので、本来は改憲派である。(「象徴天皇制度と日本の来歴」坂本多加雄著より)

公明党「天皇は日本の国家元首ではない」 
hayabusa3.2ch.net/test/read.cgi/news/1363226509/
自民党・西田昌司
「橋下さん(おおさか維新)の憲法改正は、国柄を破壊することが目的」(自民とは真逆)
https://www.youtube.com/watch?v=sRkdQ2Rlwxs
日本共産党 「目標としては天皇制をなくす立場に立つ」「天皇制のない民主

443 名前:共和制をめざす」
http://www.jcp.or.jp/jcp/22th-7chuso/key-word/b_1.html#Anchor-0507
反天皇、反皇室で共謀する民主党(現民進党)と田原総一朗
http://blog.liv edoor.jp/fjae/archives/51968115.html
田原総一朗「天皇は、働かないで国民の税金で食ってる。」
https://youtu.be/6Kd1LwY9e0I?t=280 (4:40〜)

※ただし、自民単独(カルト公明党抜き)で2/3議席以上与えない限り、
野党と公明党に骨抜きにされる。  ↓

自民・船田氏…「野党・公明党のみなさんと協議し、衆参両院の3分の2をこえる人が
賛成してくれなければ発議はできない。だからこれから大いなる妥協が始まる。
自民の憲法草案は、 ズタズタになると思って結構だ」 p
http://hope.2ch.net/test/read.cgi/seijinewsplus/1425226082/
[]
[ここ壊れてます]

444 名前:デフォルトの名無しさん [2016/06/04(土) 13:17:48.82 ID:BFaRmD8M.net]
ジャバスクリプトをあまり意識せずに、ウェブアプリ開発できるソフトってありますか?

445 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 13:26:46.16 ID:qPi1xPU6.net]
ねえよそんな店

446 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 15:45:22.85 ID:3F7VjM1T.net]
>>434
TypeSprict

447 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 15:58:08.55 ID:ZPhk/eMO.net]
TypeScriptは JavaScript+α という言語だからw

448 名前:デフォルトの名無しさん [2016/06/04(土) 17:42:38.85 ID:vhhVz63c.net]
https://www.youtube.com/watch?v=KApAJhkkqkA

↑こーいうふうに
タグとか補完して欲しいんですけど、
何のエディタ使えばいいんですか?
Windowsでお願いします。

449 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 18:03:53.99 ID:BiFmHB/P.net]
>>438
https://www.sublimetext.com/
その動画のやつならWindowsでも使えるよ。



450 名前:デフォルトの名無しさん [2016/06/04(土) 18:13:24.70 ID:vhhVz63c.net]
ありがとうございます!

451 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 18:36:53.03 ID:TumyIwY9.net]
>>434
「あまり」とは具体的に何ですか?
JavaScriptを使いながらJavaScriptを意識しないのは相当矛盾していると思いますが、何が目的ですか?

452 名前:デフォルトの名無しさん [2016/06/04(土) 19:03:08.12 ID:vhhVz63c.net]
>>439
動画のしょっぱなのhtmlとか入力すると
必要なタグをボンっと出すやつどうやるんですか??

453 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 19:46:47.25 ID:925XNPqI.net]
>>430
SQLが集合論だとも理解してない人には難しかったかな。
小さなオツムで、undefinedは不要、nullが含まれている行と、行がないのは等価値だと一生騒いで、
そのままエンジニアにならずにホームレスにでもなってくれw

454 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 19:53:11.80 ID:Eqdj22Ns.net]
理解してない論をやる人はいい加減にしてくれ
理解させようと説明して歩み寄るならともかく、お互いに避難しあってるだけでは前進しないぞ
その気がないなら沈黙で返すのが周囲に迷惑をかけない唯一の方法

455 名前:デフォルトの名無しさん [2016/06/04(土) 20:54:05.74 ID:71w07kjf.net]
>>441
作成時にコーティングを必要とせず、ジャバスクリプトの動的効果は享受したいということです

456 名前:デフォルトの名無しさん [2016/06/04(土) 21:05:17.49 ID:AIJuo/HE.net]
Haskell使えば大抵の問題は片付きます。

457 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 21:05:18.12 ID:Eqdj22Ns.net]
>>445
コーディングしないならそれはプログラミングではないですね。
既存のライブラリや使いまわせるコピペコードを検索して探してみてはいかがですか。
いずれにしても、このスレで聞くには趣旨がずれていると思いますが。

458 名前:デフォルトの名無しさん [2016/06/04(土) 21:16:28.25 ID:AIJuo/HE.net]
質問に答えていくだけでソフトウェアが完成するとしても、それはプログラミングです。

459 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 21:27:23.54 ID:Eqdj22Ns.net]
言い方が悪かったでしょうかね。
JavaScriptを勉強せずにJavaScriptを書きたいとする要望が子のスレの趣旨に反していると言いたかったのですが。



460 名前:デフォルトの名無しさん [2016/06/04(土) 21:29:46.92 ID:AIJuo/HE.net]
このスレ自体、板違いなのですが。

461 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 22:02:26.83 ID:Y4cfNkA+.net]
薀蓄垂れてるやつのわんだほーなコード見たいんだが

462 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 22:27:00.97 ID:o5H+FwEM.net]
>>450
そう思うなら、質問しなければいいんじゃないですかね?

463 名前:デフォルトの名無しさん [2016/06/04(土) 23:09:22.49 ID:AIJuo/HE.net]
質問したことはありませんが。

464 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 23:34:41.13 ID:M/5wRGJi.net]
暇つぶしに板違いのスレで遊んでいるのか

465 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 00:03:18.80 ID:mO7gP4jx.net]
>>443
この状況でそんな基本事項を嬉々として出すって、
おっさん本当に学生以下とちゃうか?
少しはまともなレスしろや

そもそも集合(テーブル)間の射の話なんやから、
そのレスじゃ何にも反論できとらんどころか、
結局おっさんの仕様じゃ繋がっとらん状況じゃ自分で自分の首絞めとるやろ

そして自分から多次元DB持ち出してきた癖に何棚上げしとるんや
知ったかと煽りしかできない珍獣は、某関数型ヴォルデモートでお腹いっぱいやで

466 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 00:18:27.24 ID:hY1lA33B.net]
さっさとお手本コード晒せよ
こんだけ偉そうなこと言ってんだからどこに出しても恥ずかしくないレベルのもんかけるんだろ?
あくしろよ

467 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 01:09:47.31 ID:Ewjxu1z+.net]
>>448
「JavaScriptのプログラムを作りたいけどJavaScriptを勉強する気がないので、ウィザード形式で質問に答えるだけでJavaScriptコードを生成するジェネレータを下さい」
って事かな
さすがにクレクレ君すぎる

468 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 01:27:22.46 ID:bEHxSIM9.net]
>>434
Haxe (ヘックス)

ECMAScript 4に似ている。
Adobe Flashおよび独自のNekoVMで、実行可能なバイトコードにコンパイルされるほか、
JavaScript、ActionScript、C++、C#、Java、PHP、Pythonへのソースコードの変換が可能である

469 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 01:33:27.00 ID:mO7gP4jx.net]
>>456
誰に言ってるんや?
ワイに言ってるならDBの定義の話やからコードもクソもないやろ



470 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 02:34:08.07 ID:b0qHmmcL.net]
自意識過剰だね
ド頭は大丈夫ですか?

471 名前:デフォルトの名無しさん [2016/06/06(月) 02:21:20.33 ID:6giGfHQ3.net]
NHKのネットラジオを、どうにかしてクライアント側のJSだけで録音したいと思ってる
(基本的にサーバ側の処理は無しにしたい)
ストリーミングの録音の実装は初めてなんだが、どうやったら良いのだろうか?
何らかのライブラリを使えば楽そうだとは思うが…

472 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 05:01:20.04 ID:QbKl1YZH.net]
どうやったらっていうか?
なぜそんなことが可能だと思った?

473 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 12:22:15.75 ID:23OtUYll.net]
>>461
ローカルに node.js を立てるとか。

474 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 21:05:53.55 ID:RzJ8yYQp.net]
パケットキャプチャ

475 名前:デフォルトの名無しさん mailto:sage [2016/06/07(火) 05:14:58.76 ID:Gl1NOXsx.net]
>>460
こいつすぐに煽るからわかりやすいな

476 名前:デフォルトの名無しさん mailto:sage [2016/06/07(火) 19:02:47.33 ID:PnKxWLGB.net]
>>431
ありがとうございました。
できるようになりました。

477 名前:デフォルトの名無しさん mailto:sage [2016/06/07(火) 19:26:52.79 ID:87JRkB9l.net]
>>465
俺ならもう少し嫌な感じで煽るよ。

478 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 08:52:28.55 ID:zEmhDMcI.net]
じゃあ俺は馴れ馴れしいコンセプトで煽ろうかな。

479 名前:デフォルトの名無しさん [2016/06/08(水) 21:39:35.82 ID:BBcfGQEZ.net]
煽りとかいらねえから
ちゃんと質問に答えてやれよ



480 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 22:37:16.03 ID:ISsCi+NM.net]
>>350
> あと、Array.prototype.lastなんて夢でも死んでも使わないように。

ありがとうございます。今のところ、そこに直接追加するような予定はありません。

>>353
> あくまでも便宜上のサンプルねので念のため

察しの悪い俺ですが、この点についてはそのように理解しております。ご安心下さい。

で、ですね。今までは個別の変数について var a = []; a.f = function () {}; なんぞしていて、
それで十分だったんですが、インスタンスの数が増えそうだぞって場面がチラホラ出てきました。
そこで、配列を継承したようなクラス?(←便宜上)が必要になりました。

A = function () {};
A.prototype = [];
A.prototype.first = function () {return this[0];};
var a = new A();
var b = [];
a.push(123);
b.push(456);
alert(a.first()); // これが呼び出せる
//alert(b.first()); // こっちは使えないので汚染されてなくて安心。

今のところ↑と言う風に、A.prototype = []; として単に何となく設定しているのですが、
こういうことをしたいときのイディオムみたいなものはjavascript界隈にありますか?

481 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 08:26:24.28 ID:EGkuN86i.net]
Web Workerの学習をしたいのですが、此方で大丈夫でしょうか?

482 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 08:46:22.16 ID:e3vAFbmO.net]
var F = function(age){ this.age = age; }
var f1 = new F(1);
var f2 = new F(2);

var ary = [];
ary.push(f1);
ary.push(f2);

console.log(f1, f2, ary);

prototypeなど使わずに、普通にこれでいい

483 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 09:04:45.80 ID:5KODI7Ed.net]
F ←この手の一文字もん大っ嫌いだは

484 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 09:05:55.20 ID:dIu2vu4F.net]
独り言はキミのスマホのメモ帳にどうぞ

485 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 09:25:17.23 ID:rjZdspVd.net]
スマホ持ってない私みたいのはどうすればいいんですか?

486 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 09:31:01.62 ID:E+QhxTx8.net]
var F = function(age){ this.age = age; }

こう書くぐらいなら

function F(age){ this.age = age; }

こう書けばいいのに。

487 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 09:35:16.54 ID:E+QhxTx8.net]
>>475
中古で安いの探せば3000円ぐらいで買えるのでは?

488 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 13:53:50.48 ID:QTm6YzLa.net]
>>472
その方法でどうやってfirst()を呼び出すのかな

489 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 14:40:04.41 ID:G4u6WZVB.net]
>>476
後者は旧石器時代の方式だな



490 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 16:54:36.03 ID:+YsNEGfA.net]
内容が等価じゃないのになんで新旧の話になるの

491 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 17:06:35.65 ID:bsniAtVU.net]
だよな。
ぜんぜんちゃうやんw

492 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 17:26:41.69 ID:G4u6WZVB.net]
>>480
旧石器時代には後者の方法が多用されていたが、それでは問題があるので
近代にはめったに使われなくなったということだが

493 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 19:11:58.00 ID:U5aI2wbo.net]
>>482
どちらもES3の頃から存在して使い分けされていたわけだが
関数式を使わない時代っていつだ?
せめて、関数名ぐらいつけろよ、といいたい

494 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 19:22:11.65 ID:Homi8Ck7.net]
hoisting を嫌う

495 名前:人はこう書くが、新旧いうもんでもない
const fn = function fn () {};
[]
[ここ壊れてます]

496 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 19:32:23.75 ID:KvDILg9T.net]
>>470
そのコードが制限付きで動作している事を理解していればそれでいい
- iterable でない(Symbol.iteratorで対応可能)
- a[100] = 1; で length を書き換えない(new Proxy で対応可能)
- a.length = 5; が働かない(Object.definePropertyで対応可能)
- 一部の汎用的ではない関数(concat等)が期待通りに動作しない(独自にコードを書けば対応可能)

497 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 23:45:53.30 ID:W5L1fKQF.net]
>>485
詳細にありがとうございます!!

> - a[100] = 1; で length を書き換えない(new Proxy で対応可能)
> - a.length = 5; が働かない(Object.definePropertyで対応可能)

ありがとうございます。それらの不具合は気付いていませんでした。

let a = new Proxy(new A, {
set: function(target, property, value, receiver) {
let i = parseInt(property);
if (i === i && target.length <= i) target.length = i + 1; // a[n] = x;に伴うlengthの更新に対応。
else if (property === 'length' && value < target[property]) {
target.splice(value, target[property] - value); // a.length = n;の代入時の挙動(の一部?)をケア。
}
target[property] = value;
return true;
}
});
Object.defineProperty(a, 'length', {enumerable: false, writable: true, value: 0});

これでとりあえずケアできているようではありますが、
Proxyに非対応なブラウザもあるようなので注意ですね。

498 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 23:47:09.04 ID:W5L1fKQF.net]
>>485
> - iterable でない(Symbol.iteratorで対応可能)

現時点ではワケが分かっておりませんが頂いたヒントは大事に記憶しておきます。

> - 一部の汎用的ではない関数(concat等)が期待通りに動作しない(独自にコードを書けば対応可能)

これも今確認しました。concat使えないの悔しいです。

Object.defineProperty(a, 'concat', {enumerable: false, value: function () {
return A.prototype.concat.apply(this.slice(), arguments);
}});

しかしまぁこういうのを結局書いていくのは悔しいですね。
ちょっとラクしたいだけなのに段々大袈裟になっていくという…。

499 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 00:39:24.13 ID:G+eNnn4N.net]
>>485
言っていることは間違いではないが、(結果的にでも)無垢な少年を騙すのはいかがなものか、、、

>>487
てかお前、それ自分でやってておかしいって思うだろ?
ここの連中は仕様には詳しいが、コードを書いてないから、実装方式については話半分に聞け。
(まあ今回は君が勝手に突っ走ったのであり、騙したわけではないとは思うが)
そのコードを見る限り、君は自力で解に辿り着けるはずだ。

俺がぱっと思いつくだけで解は3通りある。当たりかどうかは答えてやるから、冷静に考えてみろよ。



500 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 01:01:27.01 ID:DHroUP1C.net]
javascriptについて質問があります。
初回起動時のform(画面項目)の値と現在の値を比較して1つでも変更があった場合にはポップアップを表示するといった処理を実装したいのですが何か良い方法があれば、ご教授お願い致します。

501 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 01:02:08.05 ID:DHroUP1C.net]
>>489 続き
はじめはその項目のvalueとdefaultValueにて比較できると思いましたが、defaultValueは画面を再描画するタイミングで取得しますが、行いたい処理の途中でアクションが走り必ず再描画されるタイミングがあるためその方法では比較できないことに気づきました。

502 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 01:02:31.57 ID:DHroUP1C.net]
>>490 続き
(また項目の入力チェックなのでエラーになった場合にも)

なので再描画されても、初期表示時の

503 名前:値と現在の値を比較する方法はないでしょうか…
ちなみに画面はJSPにて実装しており、項目はtextやradioやoptionなどあります。
[]
[ここ壊れてます]

504 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 01:28:33.37 ID:rm3c6PtR.net]
>>482

https://mitsuruog.github.io/javascript-style-guide/#%E9%96%A2%E6%95%B0functions

7.1 関数式より関数宣言を利用してください。

なぜ? 名前が付けられた関数宣言はコールスタックで簡単に見分けることができます。
さらに関数宣言は関数の本体が巻き上げられます。それに対し、関数式は参照だけが巻き上げられます。
このルールにより、関数式の部分を常にアロー関数で置き換えて利用することができます。

// bad
const foo = function () {
};

// good
function foo() {
}

505 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 01:45:19.78 ID:rm3c6PtR.net]
function Klass() {
}

という書き方が古臭いとかいうことは当然なくて、
特定の場合では、var hoge = function() {} と書くべきという話を、
頭の悪い、なーんも考えてない馬鹿が、
絶対にvar hoge = function() {} と書かないといけない、
これからはfunction hoge() {} と書いてはならないんだ!って
言ってるだけ。

function Klass() {} という書き方が古くなったとか
聞いたこと無いし、使っていいし、むしろ推奨されている。

ほんと何も考えてない、誰かにaといわれれば
理由も考えずに妄信的にaばっかり使う、そんなやつが多いよなw

506 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 02:03:50.61 ID:G+eNnn4N.net]
>>493
俺は仕様には詳しくないから具体的に何が問題になるのかは分からないが、
基本的に「普通」の書き方にしておいた方がいいと思うぞ。
というか、何故お前らが妙なこだわりを持つのか、かなり謎なんだが。

> var Person = function () {
> console.log('instance created');
> };
>
> var person1 = new Person();
> var person2 = new Person();
> https://developer.mozilla.org/ja/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript

507 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 02:06:08.67 ID:rm3c6PtR.net]
>>494
そこに書いてあるだろw

// Student コンストラクタを定義する
function Student(firstName, subject) {
// 親のコンストラクタを呼び出す。呼び出しの際に "this" が
// 適切に設定されるようにする (Function#call を使用)
Person.call(this, firstName);

// Student 固有のプロパティを初期化する
this.subject = subject;
};

これは普通の書き方。

508 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 02:18:52.51 ID:G+eNnn4N.net]
>>495
おっと?これは失敬。
ということはこれについては統一見解はなくて、どっちでもいいって事だな。

509 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 02:49:43.87 ID:OOVSLX1/.net]
>>495
引用元もそうなってたけど、
最後のセミコロンはいらないよねぇ。



510 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 05:22:06.39 ID:naViO+5c.net]
どっちでもいいわけないだろ
アホかこいつ

511 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 08:02:38.57 ID:52VYMGKm.net]
>>486-487
いろいろと挙動がおかしいのでよく確認してみるといい
繰り返すが、A.prototype.concat は汎用的ではない
https://jsfiddle.net/cw8umnqd/

512 名前:デフォルトの名無しさん [2016/06/10(金) 08:21:29.14 ID:o8hFzx97.net]
結局、コンストラクタ用の関数を書くときにも、

関数式よりも、巻き上げのある関数宣言の方が、良いのか?

513 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 08:31:51.96 ID:52VYMGKm.net]
>>487
> しかしまぁこういうのを結局書いていくのは悔しいですね。
ビルトイン関数には汎用的なものと汎用的でないものがあって、汎用的でない機能をエミュレーションするのは単純じゃない
(とはいえ、JavaScriptは汎用的なプロパティ/関数があるだけエミュレーションするのは楽な方だと思う)
内部的に new Array を保持しておき、new Proxy で透過的に new Array を参照すらば比較的楽に実装出来るが、コストがかかる
完璧なエミュレーションに拘らないのであれば妥協も必要

514 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 08:33:32.04 ID:INHt9BTU.net]
>>489
この状態と比較したい、って状況で、「画面の対象のコントロール回ってvalueを;かなんかで繋いで返す」関数作って、それ呼んで値を覚える。
変更チェックかけるときに、もう一回その関数呼んで、覚えたものと===で無ければ何かしら変更があった。
ってやってるよ。

「対象のコントロール」にはclassにcheckDatumとか空クラスつけとけばそれで列挙できるし。

515 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 08:47:37.80 ID:BhzVNYOI.net]
varとfunctionが同じだのセミコロンいらねえだの
こんなのが毎日偉そうに能書き垂れてんの?
そりゃサンプル出せって言われたら黙るわけだ

516 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 09:33:17.22 ID:o8hFzx97.net]
>>485-487
Groovyのメタプログラミングなら、

実行時に既存のクラスに、メソッドを追加するなら、Category・Mixin。
メソッド・プロパティを変更・追加するなら、ExpandoMetaClass

そういう複雑極まりない方向へ進むのは、最初から考え方がおかしいのでは?

517 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 09:36:28.17 ID:+uuPJDCE.net]
>>500
> 関数式よりも、巻き上げのある関数宣言の方が、良いのか?
何も考えてねぇ馬鹿は、変数の巻き上げの問題(もちろん理由がある)の話を、
全く関係ない関数にまで適用しようとする(笑)
理由は何だよw

ブロック内だけで使う関数など、関数式でなければいけない場合もあるが
通常は関数宣言の方がいいに決まってるだろ。

C言語は宣言された関数しか使えなかったため「前方宣言」などという
物が生み出されてしまったが、それ以降、それ以外の殆どの言語は
関数はどこで宣言しても(巻き上げされたかのように)使うことが出来る。

518 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 09:40:10.83 ID:4srunpG+.net]
所詮は自己満足の世界なんだよ

519 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 09:40:12.48 ID:+uuPJDCE.net]
普通に関数に名前(コンストラクタも含む)をつければいいのに、
「さいきんのクールなプログラマはvarで関数入れて使うんだぜ!
今時関数に名前つけるなんてのは旧石器時代だな!」とか言ってるんだぜw

バカっぽいだろ?事実なんにも考えてない。
デバッガ時に関数名表示がでなくなる問題があるというのにな。



520 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 10:33:45.27 ID:GFWTaLNc.net]
>>483
> どちらもES3の頃から存在して使い分けされていたわけだが
誰もが(いいすぎ)使い分けるようになったのは、近代になってから

> 関数式を使わない時代っていつだ?
だから旧石器時代だって
ゼロ年代初頭あたりまで

521 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 10:36:19.23 ID:GFWTaLNc.net]
>>493
> function Klass() {} という書き方が古くなったとか
> 聞いたこと無いし、
グローバルネームスペースを汚染する弊害について聞いたことないのか

522 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 11:04:28.13 ID:rddDxbo4.net]
>>509
クロージャの中でやる分には大丈夫なんじゃないの?巻き上げられたっけ?

523 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 11:31:26.83 ID:xHgczCBO.net]
今時グローバル汚染するようなアホおまえくらいだから

524 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 11:46:24.26 ID:XqAkh7YW.net]
なんであんなに無名を濫用するのかと思ってたが
そんなしょうもない理由だったのか

525 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 14:12:05.29 ID:dpRBFPup.net]
>>509
聞いたことないが、その弊害の発生条件は?

526 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 14:36:22.02 ID:4srunpG+.net]
そうだよな
汚染ってなんだよ

527 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 15:06:36.55 ID:LT2C5Mf1.net]
prototype使って、汚染しちゃうのは初心者がやってしまう失敗

528 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 15:59:08.90 ID:DxAsZ/F5.net]
1個くらいならバレないんじゃない?

529 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 16:05:16.91 ID: ]
[ここ壊れてます]



530 名前:3bO9ZAmE.net mailto: Object.prototype.hogeにバーカって書いとけばいいのか []
[ここ壊れてます]

531 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 18:15:57.76 ID:LT2C5Mf1.net]
コンソールに出すの?
アラートで出すの?

アラートで出たら、めちゃくちゃ怖いかもww

532 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 19:06:13.75 ID:qrHSyLm3.net]
prototype汚染という考え方も古くなってきた感はあるが…
しかし、風呂敷を広すぎではないかね
元々はprototuype汚染の話ではなかったわけで段々と本題がずれてきているように思う

533 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 19:27:07.34 ID:qrHSyLm3.net]
>>489-491
画面を再描画するならサーバサイドの処理があるはずだが、それはJavaScriptで実装すべき案件なのかね
フォームで値を受け渡してサーバサイドで処理、セッションを使う等、いくつか対策があるはずだが
jsを使うなら再描画させずに動的にDOMを書きかえれば済むが、マルチポスト先を読む限りではこの質問者にはハードルが高そうだな
https://teratail.com/questions/37462
https://teratail.com/questions/37489

534 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 20:02:15.97 ID:G+eNnn4N.net]
>>500
少なくとも文法上は大差ないのだろう。MDNにも説明はある。
> 全ての関数は実際には Function オブジェクトです。
> Function コンストラクタか関数宣言か関数式か
> https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Functions_and_function_scope
new Functionや非トップレベル関数(strict modeでは禁止)も含めて書いてあるから余計に分かりにくくなっているが、
要するにどうでもよさそうだ。
現実的にはコンストラクタだけ前方参照できてもプロトタイプが用意できていないから意味がない。
だから関数式の方が似合っている気はする。

ちなみに汚染については変数名か関数名かだけでどちらも汚染する。
また、デバッグ時にこんなところが関数表示されたところで嬉しくない。
どのみちコンストラクタが呼ばれればコールスタックには載るし、ブレークポイントも当てられる。

お前らは異様に文法にこだわることを止めて、もっとコードを書いた方がいい。
指摘が間抜けなのは、コードを書いてないからだ。(実践的ではない)
○○の問題がある(キリッというのは正しいが、それが重要なことなのか、わりとどうでもいいことなのか、区別が出来ていない。

>>520
> マルチポスト先
よく見つけたなw

というかこの手のモラルがない奴、急に増えたよな?何か理由があると思うのだが。
昔から居たけど、マルチポスト先が増えたから発覚しやすくなっただけか?

535 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 20:08:51.44 ID:RNr8lFlW.net]
>>499
どうもありがとうございます。おかげで気がついてしまいました。
concatはArrayを受け取ってArrayを返すつもりで>>487では書きましたが、
よく考えると今回拡張したA(以下単にA)を引数に受け取りたいですし、
返す結果もよく考えるとAであったほうが嬉しいかもしれません。

実装の手間という面だけでも尻込みしつつあったんですが、
いまや設計の方針と言う面でも相当きな臭いというか。
concatの返す値が決められなくて不気味。使うときに不安。
仮にsliceやspliceなどのもまとめて全部Aを返すように統一したとしても、
最終的にはArrayとAの二系統が混在する世界になっちゃうわけで不気味。

>>501
> 完璧なエミュレーションに拘らないのであれば妥協も必要

そのつもりだったんですがいざ用意してみると、
欲が出るわ粗が目立つわ方針で不安になるわで散々でした。
今後は生のArrayのみを運用していくつもりです(結論)。

>>504
ありがとうございます。Groovyはぐぐったことすら無いので分かりません。

> そういう複雑極まりない方向へ進むのは、最初から考え方がおかしいのでは?

はい。完全にそのとおりです。

536 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 21:47:53.40 ID:qrHSyLm3.net]
>>522
> 今後は生のArrayのみを運用していくつもりです(結論)。
それはそれで一つの答えだが、やや狭い世界になっていると思う
> 最終的にはArrayとAの二系統が混在する世界になっちゃうわけで不気味。
2つの世界が存在することは問題なくてそれが息をするように自然に使えるかどうかが問題ではないだろうか
mew Array と new A を行き来する世界はよくないが、それぞれの世界で完結する処理を書けるのならそれでいい
どちらかといえば、設計指針を決めかねて迷っているのだと思うが…
基本的には new A は A だけで閉じた世界(new Array を返してはならない)であるべきなので A#concat は new A を返すべきだと思う
逆に A#push は汎用的なので特別な事をせずとも new A を返す
このように汎用的な関数を基本的には使って非汎用関数に対しては Polyfill を作る要領でコードを書いていけばそれなりのものができるだろう
別の設計指針としては new Map を new ArrayMap 的な設計にして作り直しても面白いかもしれない
new Map は関数でsetter/getterを作るので new Array よりは互換コードを書きやすいはずだ
機会があれば、是非新しい世界を作ることに挑戦してみてほしい

537 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 21:58:16.74 ID:MdFWcZSW.net]
こういう人に読ます気がない文章は目の前で破り捨てるに限る

538 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 22:12:29.26 ID:AlU+uWXE.net]
ES6だとプロトタイプ汚染がないのかと思ったけどもしかして新機能がない?

結局
Object.defineProperty(...){........}
と書かんといけんのか

539 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 22:18:01.79 ID:G+eNnn4N.net]
この程度で躓くのならもっと長いMDNは当然無理で、池沼のままなのもむべなるかな



540 名前:523 mailto:sage [2016/06/10(金) 22:51:59.24 ID:qrHSyLm3.net]
読みにくくてすまん
どういうわけが改行コードが一部消えているな…

541 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 23:08:39.56 ID:+uuPJDCE.net]
*∧ ∧:・。゚*。 : ・ 。 ゚ *★.
(*・ω・*)       ゚ *。*
*〇 〇………………………**
 祝☆jQuery 3.0 リリース https://blog.jquery.com/2016/06/09/jquery-3-0-final-released/
**………………………………*

+ JavaScript & jQuery 質問用スレッド vol.6 + [無断転載禁止]©2ch.net
echo.2ch.net/test/read.cgi/hp/1465566635/

542 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 23:10:44.42 ID:+uuPJDCE.net]
>>509
> > function Klass() {} という書き方が古くなったとか
> > 聞いたこと無いし、
> グローバルネームスペースを汚染する弊害について聞いたことないのか

なにいってんだおめぇ?

var Klass = function() {} という書き方をしても
グローバルネームスペース汚染してるだろw

function hoge() {
  function Klass() {}
}

↑Klassがグローバルネームスペース汚染ってどういうこと?w

543 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 23:13:14.16 ID:+uuPJDCE.net]
>>524
同じこと思ったw

544 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 00:01:17.78 ID:MQjYfq34.net]
ライブラリスレが復活してた

JavaScript ライブラリ総合質問所 vol.5 [無断転載禁止]©2ch.net
echo.2ch.net/test/read.cgi/hp/1465399470/

545 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 08:41:10.92 ID:MQjYfq34.net]
jQuery推しが酷いと思ったらテンプレ改変されていたのか

546 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 13:03:48.93 ID:n8nif7qi.net]
今更かよ
ここ乗っ取られスレだよ

547 名前:デフォルトの名無しさん [2016/06/11(土) 13:06:25.18 ID:ijG8u0pc.net]
java script初心者です。ご教授願います m(_ _)m
初めてpromiseで簡単な非同期処理を書いたんですが、一応動くもののどうにもコードがしっくりきません
もっとシンプルにできたり、適切な書き方があるところがあったら教えてください

内容は単語queryに対応する画像検索結果がローカルストレージになかったら外部APIに問い合わせるというものです

548 名前:534 mailto:sage [2016/06/11(土) 13:09:15.52 ID:ijG8u0pc.net]
function getCachedData(query) {
return new Promise(function(resolve, reject){
chrome.storage.local.get(query, function(cachedJson){
if (isExist(cachedJson)) {
resolve(cachedJson[query]);
} else {
reject();
}
});
});
}

function getImageData(query) {
getCachedData(query)
.catch(function(){
return fetch(window.googleCustomSearchApi + query)
.then(function(response) {
return response.json();
}).then(function(json){
chrome.storage.local.set({[query]: json});
return json;
});
}).then(function(json) {
createPopUp(json.items[0]);
positionPopUp();
}).catch(function(err) {
console.error(err);
});
}

549 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 13:14:41.27 ID:ijG8u0pc.net]
インデント潰れてしまった・・・ preタグで再投稿
<pre>
function getImageData(query) {
getCachedData(query)
.catch(function(){
return fetch(window.googleCustomSearchApi + query)
.then(function(response) {
return response.json();
}).then(function(json){
chrome.storage.local.set({[query]: json});
return json;
});
}).then(function(json) {
createPopUp(json.items[0]);
positionPopUp();
}).catch(function(err) {
console.error(err);
});
}</pre>



550 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 13:21:07.32 ID:e5AOazPt.net]
>>534
この記事が参考になるかな
gao-tec.seesaa.net/article/427643074.html

551 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 13:33:33.96 ID:ijG8u0pc.net]
>>537
ありがとう 3回読んできます

552 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 13:39:59.04 ID:n8nif7qi.net]
>>534-535
2chはHTMLタグ使えないからjsFiddleみたいな投稿サイトを使うといいよ
前まではテンプレにあったんだが

一見ネストが深いように見えるけど結構シンプルに纏まってると思う
fetchの部分を外に出せば視認性がよくなるんじゃないのって程度
しいて言えばgetImageData内でPopUp関数を呼び出してるのがしっくりこない
getImageData自身もPromiseインスタンスを返してresolve(json)するのがいい

553 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 13:59:44.48 ID:ijG8u0pc.net]
>>539
今日だけ師匠と呼ばせてください
自分でもそこはなんか気持ちわるかったんです promiseチェインがcatchで始まった挙句、頭でっかちで
でも外に出すというのはどうやるんでしょう・・・
fetchからの処理をまとめた関数(返り値は最終的なjsonデータのpromise)を外に定義して、それを呼び出す感じですか?

そしてgetImageDataがPromiseインスタンスを返すように書き換えるには、ええと・・・(思考フリーズ)

554 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 14:41:46.28 ID:n8nif7qi.net]
>>540
getCachedDataと同じ書き方をfetchとgetImagedataでやるだけだよ

555 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 15:16:00.71 ID:NAulAg4n.net]
>>539
> 一見ネストが深いように見えるけど結構シンプルに纏まってると思う

え? ちょっとまてよ?

556 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 15:45:12.80 ID:NAulAg4n.net]
>>540
これgetImageDataの中でキャッシュあるか調べてるからいけないんだよ。
一般論として、キャッシュというのは存在を意識しないようにコードにするべき。

関数の役割ってのが書いてないし、これだけじゃ読み取れないから難しいんだが、
そのgetImageDataっていうのは画像があれば、ポップアップウインドウを表示するんだろう?

であれば、getImageData() ではなくて showImageData() とかいう名前にするべき。
そして、getCachedData()ではなく、こっちをgetImageData()にするべき。

getImageData()っていうのは単にImageDataを返すだけ、その中でキャッシュを使っていようが
使っていまいが関係ないし、別の仕組みのキャッシュを使うかもしれない。がgetImageData()を
使う人からはそんなこと知ったことじゃない

>>535のコードは、chrome.storage.local を使っている箇所が、getCachedDataと
getImageDataの2つに分かれているだろ? 関数の役目が明確に分離されていないからそうなる。
非同期の書き方の問題の前にまずやることがあるってことさ。

あと、スペース1個でインデントは見にくいからやめろw
最低でも2個だ。

557 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 15:47:35.86 ID:NAulAg4n.net]
で、これが修正コード例だ。
やりたいならばchrome.storage.local.getをPromise化する事もできるがね。

function getImageData(query) {
 return new Promise(function(resolve, reject) {
  chrome.storage.local.get(query, function(cachedJson) {
   if (isExist(cachedJson)) {
    resolve(cachedJson[query]);
    return;
   }

558 名前:
   fetch(window.googleCustomSearchApi + query)
    .then(function(response) {
     var json = response.json()
     chrome.storage.local.set({[query]: json});
     resolve(json);
    })
    .catch(function(err) {
     reject(err);
    })
   });
  });
}
function showImageData(query) {
 getImageData(query)
  .then(function(json) {
   createPopUp(json.items[0]);
   positionPopUp();
  })
  .catch(function(err) {
   console.error(err);
  });
}
[]
[ここ壊れてます]

559 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 15:56:05.66 ID:NAulAg4n.net]
で、どうしてもgetImageData()の中身をPromise化したいならこんな感じかね?
動かせる環境がないので、これで正しく動いているかはしらない。

元のコードに合わせてisExistがfalseならreject()しているが、
nullを返して、データがnullだったらfetchしたほうがいいような気もするが。

function getImageData(query) {
 return new Promise(function(resolve, reject) {
  chrome.storage.local.get(query, function(cachedJson) {
   if (isExist(cachedJson)) {
    resolve(cachedJson[query]);
   } else {
    reject();
   }
  }).cache(function()) {
   return fetch(window.googleCustomSearchApi + query)
  }).then(function(response) {
   var json = response.json()
   chrome.storage.local.set({[query]: json});
   return json;
  });
}



560 名前:534 mailto:sage [2016/06/11(土) 16:03:43.18 ID:ijG8u0pc.net]
>>543
自分でああでもないこうでもないと考えてコードを修正していたら返信遅れました
か ら く ちwwww と思って訂正コードと自作スパゲッティを見比べたらグウの音も出ませんでした
この整理されたしっくり来る感じ 勉強になります

あとは・・ エラーハンドリングについてわからないところがあります!

561 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 16:07:35.34 ID:ZhHlBSFM.net]
>>537
良い記事だ。
が、前から疑問なのだが、何故お前らはネストにこだわるのだ?
俺は展開して書いていて、特に問題を感じない。
要求が「脳筋無限ループの例ぐらい単純な構造で」「非同期処理を実現する」
「処理は上から下へ」「ネストが深くならない」ならば、これでいいと思うのだが。
好きずきはあると思うが、このような場合にでも例としても出てこないのは謎なんだが。

function Main(){
console.log("a");
setTimeout(Main_1,2000);

function Main_1(){
console.log("b");
setTimeout(Main_2,1000);
}
function Main_2(){
console.log("c");
}
}
Main();

562 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 16:12:31.73 ID:NAulAg4n.net]
>>545は本当に動くかどうかわからない。
実はcacheのあとにthenをつなげたことないんでねw

まあ関数の中を試行錯誤すりゃできるだろうと思うけど。
最悪>>544でいいし。

"何をする" 関数か?(クラスか?)ってことをよく考えることが重要。

動くようにコードを配置するんじゃなくて、何をする関数か?を定義して
それに合わない所はたとえコードが増えても外にだすべきだし、
入れるべきだと思えば、どうにかして持ってくる。
もちろん場合によっては、"何をする" の定義を変えてもいいけど
はっきり定義させることが重要。

例えば、このgetImageData()はchrome.storage.local を使うことが前提になってるけど、
いろんなキャッシュの仕組みを入れ替えられるようにする関数(というかクラスになるだろうけど)を定義すれば
getImageData()の中からはchrome.storage.localが消えて、キャッシュの仕組みを
入れ替えられるだけのことをするクラスができあがるわけ。

563 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 16:15:59.14 ID:NAulAg4n.net]
>>547
> が、前から疑問なのだが、何故お前らはネストにこだわるのだ?

やりかけで覚えておかなければならないことが増えるからだよ。

Aが終わってからBをして、Bが終わってからCをする。というやり方よりも
Aの途中でBをして、Bをしているその途中でCをするほうが疲れるから。

Cが終わったら、Bはどうなったんだっけ? そしてAはどうなったんだっけ?って
戻って行かないといけないからね。

言い換えると可読性の問題だからだ。
非同期とかそういうところが問題になってるんじゃない。
やりかけの作業を脳に貯めておくと言うところが問題なんだよ。

564 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 16:20:02.55 ID:NAulAg4n.net]
>>547
あと、そのコードの問題は「名前」が増える。

名前が増えるっていうのも、いちいち記憶して
おかなければならないことだから面倒

限りある記憶領域は、記憶する価値のある物、
汎用的でどこでも使えることだけに絞る必要がある。
覚える価値がないものは覚えなくていい。

そのコードは関数の

565 名前:シ前が増えているだけだが、
クロージャーじゃなくなっているから、変数の名前も増えるだろうね

あと処理があちこちに飛ぶから、コードが長くなったらスクロールする回数も増えるよw
もちろん関数が長ければ分けるが少なければその場に埋め込むという意味だ。
[]
[ここ壊れてます]

566 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 16:26:52.64 ID:ZhHlBSFM.net]
>>549
そうか?ぶった切られているだけで、実は同じだろ。追加部分を見やすいように編集しておいた。
同期的に「放り投げて終わり」にしたいという気持ちも分かるが、無理にネスト/Promise化するより見やすくないか?
脳内 s/setTimeout...function(){// で全く問題ないはずだが。

function Main(){
console.log("a");

setTimeout(Main_1,2000); // 追加
function Main_1(){ // 追加

console.log("b");

setTimeout(Main_2,1000); // 追加
} // 追加
function Main_2(){ // 追加

console.log("c");

} // 追加
}
Main();

567 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 16:29:29.39 ID:tWgkOxEq.net]
もうそれはasync/await、もしくはgenerator/yieldを使うしかないよ。

568 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 16:35:45.96 ID:NAulAg4n.net]
>>551
サンプルコードでやってるからだめなんだよw
お前、頭の中で、このコードはsetTimeoutしかない。Main以外の名前は存在しない。
しかもそれぞれ短いコードで呼び出す順番に並んでいるいう「記憶」に頼ってコード読んでるだろ?
それはお前だから出来ること。(短いから俺でも出来るけどさw)

実際に業務ではそういう「記憶」には頼れない。コードはもっと長いし
汎用的じゃないものは名前も覚えられない。(何日も経ったら忘れる)
汎用的でないものには、適切な名前をつけることも難しい。

仮にそのコードのまま、記憶に頼れないように書き換えてみようか?
さっきと同じように気楽に読めるかい? どこでどう呼び出しが行われてるか探すだろ?

function Kjads(){
 console.log("a");

 function cgrd(){ // あrtが

  console.log("c");

 } // あrtが

 badf(fgaz); // あrtが
 function fgaz(){ // あrtが

  console.log("b");

  asdfa(cgrd); // あrtが
 } // あrtが
}
Kjads();

569 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 16:36:17.69 ID:ZhHlBSFM.net]
>>550
「名前」が増えるのは事実だけど、関数内関数で隠蔽するし、
そもそも処理を必ず「上から下に」書くのでその点は問題にならない。
つまり、このように展開した場合、その関数は直前のsetTimeoutからしか呼ばれない。
したがって、覚える必要はないし、
処理があちこちに飛ぶこともない。(



570 名前:ただこれはそう書く、ということだが)

ちなみにクロージャーにはなっている。

> もちろん関数が長ければ分けるが少なければその場に埋め込むという意味だ。
いや、結構糞長い奴もそこに書くよね?
$.ajaxとかその場にだらだら全部書くほうが普通じゃないか?
[]
[ここ壊れてます]

571 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 16:39:28.40 ID:NAulAg4n.net]
>>554

もうそろそろ>>553をみて、記憶に頼ってるなって自覚したはずw

> ちなみにクロージャーにはなっている。
なってない

function Main(){
 var v = 1
 setTimeout(function() {
  console.log(v);
 }, 1000);
}

↓ エラーになる

function Main(){
 var v = 1
 setTimeout(Main_1, 1000);
}

function Main_1(){
 console.log(v);
}

変数vを渡すために、名前が増えるwww

572 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 16:39:52.50 ID:ZhHlBSFM.net]
>>553
ああ、ちょっと遅れたが、それは既に書いたように、俺内コーディングルール

処理を必ず「上から下に」書く

で対応している。というか、そもそも意図的に可読性を落とす必要はないだろ。
「上から下に」書けるところでは「上から下に」書くのが常識だろ。
名前もこの手の場合は XXX_1, XXX_2, ..... と順に付けていく。おかしな名前を付けたりすることはない。

573 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 16:40:41.06 ID:NAulAg4n.net]
>>554
> $.ajaxとかその場にだらだら全部書くほうが普通じゃないか?

下手なやつが多いだけ。

俺は関数に分けるべき理由が生まれれば当然分ける。

574 名前:534 mailto:sage [2016/06/11(土) 16:40:58.22 ID:ijG8u0pc.net]
>>544 の綺麗なコードを見る前に、API問い合わせの部分を関数に分離しようと思って、fetch用の追加のエラーハンドリングも加えてこう書いてしまったんですね(お蔵入りですが、このなかで疑問が沸いたので・・)

function googleCustomSearch(query) {
return fetch(window.googleCustomSearchApi + query)
.then(handleNetworkError)
.then(response => response.json())
.then(json => {
chrome.storage.local.set({[query]: json});
return json;
})
.catch(err => {
// 【ここが疑問】
});
}

function handleNetworkError(response) {
if (!response.ok) {
throw new Error(reponse.status, response.statusText);
}
return response;
}

575 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 16:44:00.74 ID:NAulAg4n.net]
>>556
> 処理を必ず「上から下に」書く
>
> で対応している。というか、そもそも意図的に可読性を落とす必要はないだろ。
> 「上から下に」書けるところでは「上から下に」書くのが常識だろ。

ほらなw お前の常識w

何処かで、function hoge() {} じゃなくて var hoge = function() {} って
書けって言っていたやつが居るが、
(ちなみに俺はその必要がないならばfunction hoge()って書け派)

これは上から下に書けない。

hoge();
var hoge = function() {}
hage()
var hage = function() {}

まあ 「上から下に」"書けるところでは" って書いているところからもわかるように
書けない場合があると自覚してるんだろうがw

その書ける所と書けない所、ここは書ける所だという前提を知ってるのも「記憶」だよねw

576 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 16:44:38.09 ID:ZhHlBSFM.net]
>>555
何が言いたいのか分からんが、これでいいか?

function Main(){
var count = 0;
console.log('a: '+count++);
setTimeout(Main_1,2000);

function Main_1(){
console.log('b: '+count++);
setTimeout(Main_2,1000);
}
function Main_2(){
console.log('c: '+count++);
}
}
Main();

577 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 16:46:15.25 ID:NAulAg4n.net]
>>560
勝手にコード書き換えんなよw

function Main(){
var count = 0;
console.log('a: '+count++);
setTimeout(Main_1,2000);

function Main_1(){
var v = 1;
console.log('b: '+count++);
setTimeout(Main_2,1000);
}
function Main_2(){
console.log('c: '+count++);
console.log(v); // エラーになる
}
}
Main();


それともお前、ローカル変数は作るな。
全部クラス変数にしろとか言う派なのか?www

578 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 16:50:41.71 ID:NAulAg4n.net]
>>558
いやw 何が疑問なのかさっぱりわからないんだがwww

579 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 16:51:15.94 ID:ijG8u0pc.net]
googleCustomSearchの呼出元にhandleNetworkErrorで起きたエラーを伝えるためには、

1.最後のcatchのなかでもう一度new Error(err)を投げる
2.Promise.reject(error)を返す
3.そもそも書き方が悪い、 >>544みたいにfetchをnew Promiseでラップして、reject(err)してください

どれが適切なんでしょうか



580 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 16:54:15.22 ID:ZhHlBSFM.net]
>>561
いや勝手に書き換えたのはお前だろ。
>>555のコードでは var v=1 は Mainの中じゃないか。
Main_1の中で新しい変数が必要なら、

・Main_2をMain_1内に移動する(ネストが増える)
・v を Main内で定義しておく

のどちらかだろ。俺なら後者的アプローチを取ることが多いと思う。
ただ、途中で変数が必要なときも管理しなくていいというのは確かにメリットかもな。

581 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 17:02:05.55 ID:ZhHlBSFM.net]
>>559
それはクラスの時の話だ。

クラスの場合は、コンストラクタだけ呼べても意味がないだろ。
Hoge.prototype.XXX = function(){...};
の記述が「順序が必要」なので、どのみちその記述以降じゃないと new Hoge() 出来ないんだよ。

誰も普通の関数 hoge を全部 var hoge = function(){} と書けとは言ってない。
お前が話について来れてないだけ。


まあ分かった、お前が「文法的に読み込める方が善」というのならそれでいい。
で、他の連中もそうなのか?

582 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 17:09:12.67 ID:ZhHlBSFM.net]
>>557
ちと細かいがこれにも言っておくと、
> 俺は関数に分けるべき理由が生まれれば当然分ける。
彼等は「関数に分けるべき理由」が分からないのではなくて、その必要がないという判断でそこに書いているんだよ。
下手なわけではない。

通常、$.ajaxの場合はそこでしか使われない関数になるから、ネスト派ならそこにだらだら書く方が自然なんだ。
ただ、「ネストが深くなる」のが嫌いなくせに、「ネストでしか書かない」のが俺には疑問なんだ。

583 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 17:31:06.27 ID:aOjkg+66.net]
>>523
毎度ありがとうございます。

> 機会があれば、是非新しい世界を作ることに挑戦してみてほしい

今回のことで色々勉強させてもらいましたので、
次に生かせたいと思います! 色々ありがとうございまし!

584 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 17:31:44.01 ID:aOjkg+66.net]
おっw

×まし!
○ました!

585 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 18:02:04.85 ID:NAulAg4n.net]
>>566
> 下手なわけではない。
> 通常、$.ajaxの場合はそこでしか使われない関数になるから、ネスト派ならそこにだらだら書く方が自然なんだ。
> ただ、「ネストが深くなる」のが嫌いなくせに、「ネストでしか書かない」のが俺には疑問なんだ。 <

586 名前:br>
いや、俺は$.ajaxでDeferred使うし、やっぱり下手なだけじゃね?
[]
[ここ壊れてます]

587 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 18:05:04.82 ID:NAulAg4n.net]
>>563
> どれが適切なんでしょうか

どれか迷ったら、一番楽な方法を選べばいいよw
何でもそうだけど原則として楽になるように作られてるわけなんだしさ。

しばらくPromiseは触ってないから忘れたが、throwで任意のエラーオブジェクトでも
投げればいいんじゃね?

588 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 18:07:10.39 ID:NAulAg4n.net]
>>565
> クラスの場合は、コンストラクタだけ呼べても意味がないだろ。

意味あるぞ?

function NantokaManager(params) {
 this.params = params;
 this.run = function() {}
}

var manager = new NantokaManager;
manager.run()

とかさ。

589 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 18:08:34.97 ID:NAulAg4n.net]
>>565
> 誰も普通の関数 hoge を全部 var hoge = function(){} と書けとは言ってない。
> お前が話について来れてないだけ。

俺もそんな話はしていない。

ついてこいよw



590 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 19:28:03.24 ID:ZhHlBSFM.net]
>>571-572
すまんが意味が分からんし、お前の主張も分からん。
その場合の駄目なコードとそちらの主張を対で出せるか?(以下例のように)

一応こちらの意見をもう一度言っておくと、

function hoge(){} // OK。通常の関数はこちら。
var Hoge = function(){}; // コンストラクタの場合はこっちの方がよさそう

となる。
そのコードが「共通プロトタイプを持たない場合」に限定しているつもりなら、勝手にどうぞでしかない。

591 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 19:33:03.15 ID:NAulAg4n.net]
>>573
え? お前コードは必ずプロトタイプを持つものっていう前提なの?

どうやらお前は限定しているようだが、
俺は、どんな限定もしていない。

592 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 19:40:17.64 ID:ZhHlBSFM.net]
>>574
何が言いたいのか分からん。
そちらが説明しきれないのなら、相互理解は不能だから終わりでいい。

593 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 21:27:53.17 ID:NAulAg4n.net]
>>575

お前がこう言ってきたんだろ?

> クラスの場合は、コンストラクタだけ呼べても意味がないだろ。

だから俺は、コンストラクタだけ呼べても意味がある場合を言ったまで。
そしたらお前が「俺は共通プロトタイプをもった場合に限定してるんだ」って
いい出したんだろw

俺はお前と違って何も限定していない。
コンストラクタだけ呼べても意味がある場合は
実際に存在している。

594 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 22:29:21.64 ID:ZhHlBSFM.net]
>>576
なるほど、お前は人殺し君か。
どおりで話が通じないわけだ。

595 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 00:46:04.68 ID:hCgFiHr7.net]
多分人殺しくんとは俺の事だろうが、
>>576は俺ではないし、正直、ID:ZhHlBSFMは頑張って色々回答してるけど実務レベルではないわ。
処理は上から下へ流れるように、なんて、飼い犬が死んでも言わんレベルのたわ言じゃん。

相互に呼び出し合う事のある関数なんかどういう順序で記述するんだろ。
イベンハンドラやら、タイマーのハンドラは、どの順序なのかな。

子供のお題目にしか聞こえん。
逆に何年目か教えてほしいわw
何度かこういう言い方してるけど、ああいう悔しがり方とキレ方する奴が具体的にすら言えないってことは、ほんとに経験無いガクセーさんなんだろうけど。

596 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 00:51:30.61 ID:CJz8oq6+.net]
後学のためにID真っ赤にしてる方々の書いた素晴らしいスクリプトを見せてくださいよ

597 名前:576 mailto:sage [2016/06/12(日) 00:51:41.20 ID:AMLyjVO9.net]
>>578
お前のことだったんかw
いきなりなんか言われて意味不明だったわ。

えーと何の話だっけ?

同期命令が使える言語で、
sleep(1000)
console.log(1)
sleep(1000)
console.log(2)
sleep(1000)
console.log(3)

と書きたくなるようなコードを、ネストして書くだけでも苦痛なのに、これを関数に分解して

function Main_1() {
 sleep(1000)
 console.log(1)
}
function Main_2() {
 sleep(1000)
 console.log(2)
}
function Main_3() {
 sleep(1000)
 console.log(3)
}

とかやりたくないわけでw
あと関数なのに、大文字から始めってる時点で、経験不足だってことがわかるよ。
念の為に言っておくと、上のMain_1とか言うのは俺がいい出した名前じゃないからねw

598 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 00:52:45.85 ID:AMLyjVO9.net]
>>579
俺は何回も書いてるよ。

>>546とか読んでみな。(俺が>>546という意味ではない)

599 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 01:26:35.68 ID:npk74fIw.net]
はいはい自演乙。

自演じゃないならレベルの高い>>578-581の間で色々解決できるだろうから頑張れ。



600 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 01:33:50.33 ID:AMLyjVO9.net]
> 自演じゃないならレベルの高い>>578-581の間で色々解決できるだろうから頑張れ。

自演じゃないぞw
解決できるだろうけど、その前に何も解決すべき
課題が出てないじゃないかw

そして、俺とお前は他人だろ?
その理屈ならいろいろ解決できるだろうな。
何か言ってみろ。俺は手伝わないがwww

601 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 01:40:01.79 ID:m2Zib5nl.net]
あ?なんだこのゴミみたいな木っ端は
最低でも1000行以上あるプログラムとして成立してるもんもってこいや

602 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 01:43:07.89 ID:npk74fIw.net]
>>583
じゃあとりあえず>>578の疑問に答えてやれよ

> 相互に呼び出し合う事のある関数なんかどういう順序で記述するんだろ。
> イベンハンドラやら、タイマーのハンドラは、どの順序なのかな。

厳密にはこれは質問ではないから、「俺がどう書くか」の予想でもいいぞ。
とにかくお前らで色々話をしてみろ。

面白そうなら俺も加わるし、他も加わってくるだろう。
どうでもよければ無視されるだけだ。

603 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 02:01:39.12 ID:AMLyjVO9.net]
>>585
どうせ質問に答えても自演じゃないって認めないんだろw
まあ質問じゃないとお前もわかってるようだから、それにレスしろと
いうならば、レスするのは何の問題もない。

>>578
> 相互に呼び出し合う事のある関数なんかどういう順序で記述するんだろ。
> イベンハンドラやら、タイマーのハンドラは、どの順序なのかな。

全くだなw 必ずしも上から書けるわけがない。
関数を呼び出される順番に書くとか言っているやつは馬鹿じゃないだおろうかね

どういう順番で書くかは、ばらばらで人によってはアルファベット順ってこともあるだろう。
だから必要もないのに小さな関数に分けるなんて論外。
一つの関数にし、ネストがいやだからPromiseというのが使われるようになった。

この件に関しては、俺は>>578と同じ意見だろうな

604 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 02:36:10.54 ID:npk74fIw.net]
>>586
> この件に関しては、俺は>>578と同じ意見だろうな
そりゃ同一人物だからなw

まあ、人殺し君も多投するタイプだから、待ってればレスが返ってくるはずだ。
そして本当に別人なら、色々意見交換すれば相違点が発見できるだろう。
それは俺関係なしにいいことだから、やってみることだね。

605 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 02:56:48.44 ID:hCgFiHr7.net]
>>587
同一人物とかよくわからんな。
俺が連投するのは暇だからで、まともに過ごしてる時はそれなりにしか書かんけど。
10日間際は忙しいからな。

まさか本気で同一人物だと思ってたら笑えるww

606 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 03:17:12.70 ID:hCgFiHr7.net]
>>586
うむ。アルファベット順ならまだマシだけど。

台帳に書いてある順とかちょっとびっくりする会社もあるからな。どことは言わんけど。

多分業務経験ない奴は笑うだけだが、
実務やってれば「NDA結ばないとリバースエンジニアリングすら難しい」という人間minifierだったりする。

必要に応じて関数は分けるべきというより、むしろ、関数は射影的であるべきだと思う。
コールバック関数のネストを「関数と関数を繋いでる」と単純に誤解して悪手だと思ってほしくないのが、
本来は関数と「関数を引数に取る関数」を定義して、「関数を引数にとる関数」に関数を食わせるが為の手段を逆に見た結果、「コールバック」って姿に見えてるだけ。
だから、yieldとジェネレーターを使おうが、Promiseを使おうが、本来は何一つ定義が変わってる訳でも、処理が変わってる訳でも無い。
関数に関数を食わせて値を取り出してる。

・水を冷やして出来た物を、回転する鉋で削って、皿に落とし入れたもの、
・皿で受け止めた、回転する鉋で削られた、冷やされた水、
・回転する鉋で水を冷やして出来た塊を削り、皿に落としたもの
は全部主題が同じもの。
水を冷やす、という関数と水を、値として「氷」と扱おうが、
かき氷機を「『水を冷やした物』削り機」と展開しようが、とう扱うかは使い方次第。
そこに、ニーズ外の要件なんて無いの。扱いにくいとかどうでもいいんよ。
また、undefinedの時と同じ勘違いしてるけどさ。

水→機械A→中間生成物→機械B→製品、
というシーケンスであらわすのが正しいのか、
((水→機械A)→機械B)→製品、とフローで合わすのかは瑣末すぎるほどの差。

しかし、言われてるのは俺じゃないが、関数を大文字から始めると経験不足なんだwww
C20年目かもしれんけどな、そういう人はww

607 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 03:21:29.67 ID:hCgFiHr7.net]
こいつ、言われたくないことを人に言って安全圏に逃げたいだけなんだろうなぁ。ユング的なシャドウをもう少し悪く歪めたものが見えるわ。
voidとか、岡部健みたいな感じの破綻者に対して憧れてる人間、くらい性根がさもしい。

608 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 09:01:52.07 ID:AMLyjVO9.net]
>>587
だから同一人物じゃねーよw

609 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 09:04:46.11 ID:AMLyjVO9.net]
>>589
> しかし、言われてるのは俺じゃないが、関数を大文字から始めると経験不足なんだwww
JavaScriptのコーディング規約はいくつもあるが、どれも関数は小文字で始める。クラスは大文字。
JavaScriptの経験があるなら、これに従ってるはずなので
見た瞬間気持ち悪さを感じるものだよw



610 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 09:10:26.75 ID:AMLyjVO9.net]
>>589
> だから、yieldとジェネレーターを使おうが、Promiseを使おうが、本来は何一つ定義が変わってる訳でも、処理が変わってる訳でも無い。

処理が変わってるわけでもない・・・ならば
読みやすい方がいいだろ?

逆に考えれば、どんなに読みづらく書いても
処理が変わっていないというコードにすることはできるだろう?
読みづらくても処理が同じならいいと言うのか?
そうではないだろう。

コードっていうのは書いて終わりじゃない。修正するもの。
むしろ読むほうが多いので、書くよりも読むほうが大事。
だから「可読性」という言葉がある。「可書性」という言葉はない。

> そこに、ニーズ外の要件なんて無いの。扱いにくいとかどうでもいいんよ。
俺はいまだかつて「時間的に早く書けて修正も簡単で、メンテナンスにかかるコストが低い」
という要件がなかったことはないぞw
どんなプロジェクトでも安く仕上げることは、暗黙的に含まれてる要件だ。

611 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 13:15:07.43 ID:npk74fIw.net]
別人であればもっと議論が深まるはずだよな。
みんな見てくれてるから、せいぜい頑張れ。

612 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 13:19:20.40 ID:AMLyjVO9.net]
どうあっても別人と認めたくないようだ(笑)

613 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 13:20:50.61 ID:AMLyjVO9.net]
あ、なるほど。話が進むと今度は
一人だから意図的に会話できる。
それが自作自演の証拠って言うつもりだなw

614 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 15:04:26.78 ID:npk74fIw.net]
いやきみ(ら)にとっては俺はただの馬鹿なんだろ。
だったら俺を引っ張り出す方向のレスを付けること自体おかしいだろ。
ガン無視してくれよw

いずれにしても、君らが「別人」かどうかは皆が判断することであって、
俺が「自演」主張しても、逆に君らが「別人」主張しても意味無いんだよ。
どちらがキチガイかは皆が判断してくれる。

そして一つアドバイスをするなら、君のキャラなら>>592
「え?お前偉そうなこと言っている割には『大文字』のルールも知らないんだwww」
と煽るべきだった。キャラを変えると自然な自演に見えない。
君も煽りで相手を引き出すキャラなんだし、
このレスなら人殺し君のキャラなら確実に食いついてくるし。

本当に別人なら、君らが会話すれば君らにとっても得る物があるはず。だからもっとやればいい。
いちいち俺に対してキョロキョロしたり、
或いはここに来て会話を終わらせる方向にキャラ変更するのは不自然だ。


はい続きをどうぞ。

615 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 16:27:25.35 ID:9HFtYPb0.net]
その人殺し君とかいうのに論破されちゃって
悔しくて大ハッスルしてるの?

616 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 16:54:18.02 ID:hCgFiHr7.net]
>>592
そりゃ、javascriptの規約はいくらでもあるだろうけど、
javascriptの規約しか知らないどころか、ありえないような口ぶりで話してたからねw
なんかからトランスパイルするなら、こうなるだろうな、って考えたりしないんだ、って感じ。

>>593
もちろんそう。
しかし、読みやすいのと書きやすいのと、定義しやすいのはそれぞれ別の概念だから、そういう意味では可読性に相当する単語は、独立性とか、依存度とか、抽象度とか
見方次第でいくらでも変わるものじゃないか?
安くあげる事より、致命的な不具合を出さない事の方が求められるプロジェクトしかやってないからな。

正直、安くなくても売れるから。
安くないほうが売れるとも言えるレベルで。

>>597
お前ほんと何と戦ってんの?

617 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 19:20:47.80 ID:npk74fIw.net]
>>599
> わざとこの態度だからなぁ。 (>>327)
煽っていくスタイルプリーズ

618 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 19:39:15.05 ID:AMLyjVO9.net]
> なんかからトランスパイルするなら、こうなるだろうな、

なんでそんなコード書くの?www

619 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 19:40:36.87 ID:z4XaqaSO.net]
function f(a) {
let t = a;
t[0] = 1;
console.log(a);
console.log(t);
}

let a = [0];
f(a);

これaも[1]になっちゃうんですが
ES2015とか新しい書き方で配列をコピーする方法ありませんか?



620 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 19:41:46.51 ID:AMLyjVO9.net]
>>597
> どちらがキチガイかは皆が判断してくれる。

お前がキチガイだって俺は判断したよwww

621 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 22:24:47.44 ID:QKWa7och.net]
芝生くっつけるやつにろくなのはいないってのは間違いなさそうだ

622 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 22:34:59.19 ID:npk74fIw.net]
>>601
馬鹿にはちゃんと安価付けろ。気づいてもらえないぞ。
てかお前もちゃんと煽れよ。

>>599
>>601>>599宛だぞ。
おーい。煽られてるぞー。

623 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 22:46:30.04 ID:xguVhByI.net]
そりゃ別人なんだから、煽りもするわwww

624 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 23:31:28.41 ID:GjxFekK/.net]
>>602
concat

625 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 23:34:06.35 ID:xguVhByI.net]
shallowコピーの場合はconcatでいいよね。
最初は?ってなるけど、知ってしまえば簡単に覚えられるし。

なんらかのdeepコピーの場合はライブラリ使うしか無いかな?

626 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 23:54:06.37 ID:npk74fIw.net]
いやシャローコピーは slice() だと思うが。

627 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 23:56:00.26 ID:hCgFiHr7.net]
>>605
お前、脳みその代わりにババロア詰まってて、しかも微妙に機能してんじゃねえの?
一番煽られてんのはお前だと思うんだけどw
恥ずかしくねえのかな。。

628 名前:デフォルトの名無しさん mailto:sage [2016/06/12(日) 23:57:34.48 ID:hCgFiHr7.net]
>>608
JSON.parse(JSON.stringify(obj))
が、一番手軽で早い。

629 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 00:05:59.69 ID:6Ot446qT.net]
>>611
関数コピーできない。
日付がおかしくなる。
undefinedが消える。

使えないねw



630 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 00:15:43.00 ID:rTAmnA9g.net]
>>612
値をコピーするなら十分でしょ。
関数をコピーとか必要性がわからんし、
undefinedが消えるって、元からundefinedだったんだから、消えてないでしょ。
undefinedが消えるってのは、undefinedで無くなるときだよ。

お前の頭が使えねえなぁ。

631 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 00:15:53.62 ID:+G6yi6vX.net]
let の宣言場所について質問させてください
for文の中でのみ使う変数を let で宣言しようとしたら、forの中と外どちらで宣言したほうがいいんでしょうか

632 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 00:32:34.63 ID:6Ot446qT.net]
>>613
> 値をコピーするなら十分でしょ。
勝手に決めるな。

日付がおかしくなる問題は解決できてないし、
undefinedが消えるっていうのは、キーが無くなるんだよ。
まったく使えないって言ってるだろ

633 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 00:40:16.01 ID:6Ot446qT.net]
>>614
どうするのが一番可読性が良いかを考えれば自ずと答えは出る。
可読性を高くするには、頭の中で覚えておくコードを少なくするということでもある。
だからより小さい範囲、つまりfor文の中で書くのが良い。

ただし、for文の行でいろいろ書くなよ?w
for (let i = 0, l = array.length; i < l; i++)
for文の行でやるのは多くてもこれだけ(インデックス用の変数と終了条件)だ

for (let i = 0, l = array.length, foo, bar, baz; i < l; i++)
なんてfor文とは関係ない変数を宣言しないように。

言い換えると、変数に代入しないletはやってはいけないってこと。

let v = 0; // OK
let v; // NG

またletではなくconstを使ったほうが良いぞ
constは再代入が不可能になる。つまり変数に入れた値を変えることが出来ない。
それでプログラミングが出来るのか?って思うかもしれないができるんだ。
関数型プログラミングの考え方を取り入れると殆どconstでよくなる。

634 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 01:17:56.81 ID:+G6yi6vX.net]
>>616
むむむ・・・ インデックス用の変数でも終了条件でもないです
後で見たときに何をしているか分かりやすいように、計算途中の値に名前をつけて一時変数に入れていました
forの試行毎に新しい計算値が入ります

635 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 01:49:05.39 ID:6Ot446qT.net]
>>617
つまりこういうことでしょう?

for(let i = 0; i < 10; i++) {
 let value = i * 10
 console.log(value);
}

当然forの中だよ。中でしか使わないんだから。

そしてこれはconstに置き換えられる。

for(let i = 0; i < 10; i++) {
 const value = i * 10
 console.log(value);
}

ループ毎に新しく作られるからだ。

このconst valueをforの外に置くことは出来ない。

636 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 02:07:05.34 ID:LLEcmK37.net]
es2015で()=>をつかえばthisの挙動を変更できるのに
なんでjavascriptでdeep copyができないのですか?
}

637 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 02:13:16.73 ID:+G6yi6vX.net]
>>618
ありがとうございます! forの中に引っ越します
varに慣れていたので繰り返し処理のなかで宣言するのに違和感があったんですよね

638 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 02:41:54.70 ID:6Ot446qT.net]
俺はvarのときからforの中に書いていたけどね。
そこだけでしか使わないし、別に文法エラーでもなんでも無いんだから。

639 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 06:18:58.38 ID:o3uO7eJP.net]
>>615
キーが無くなるのと、キーに対応する値にundefinedが入ってるのは同値だろ。
だから、undefinedを代入してる!みたいな勘違いしたのかな?頭おかしいのかなw

日付がおかしくなるって具体的にはどう言うこと?エポックがズレるみたいな話では無くて、型が誤解されるみたいな話なら苦笑いだな。

>>616
変数に代入しないlet、では無いんじゃねえの?
仮宣言みたいなもんで。



640 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 07:23:07.35 ID:+G6yi6vX.net]
スコープ先頭での let a; がダメとなると、スコープ後半

641 名前:になってから代入する値が確定するケースではどうしてるんでしょう?
コード修正時にtemporal dead zoneによるミスを起こし易いので、スコープ途中でlet宣言する場合は、明示的に新たにブロックスコープを作ったほうがいいと書いてあるのをどこかで読んだんですが、
最後まで使う変数にそれをするとスコープのためだけにネストが深くなってしまって気持ち悪いです
[]
[ここ壊れてます]

642 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 07:33:47.84 ID:ZIxcBfsq.net]
>>623
let a=nullで宣言しておいたら?

643 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 09:10:57.92 ID:6Ot446qT.net]
>>622
> キーが無くなるのと、キーに対応する値にundefinedが入ってるのは同値だろ。

違うぞw
keysで出力されるもの見てみwww

644 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 09:47:02.30 ID:uHiiHky6.net]
普通にブロック内に書けばいいんじゃないの?
わざわざブロック使えなんていうなら、関数全体で同じことしてるvarだって先頭で全部明示しろってなると思うんだけど

645 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 09:57:57.31 ID:CfEi32hJ.net]
>>612が指摘している問題はおそらく、こういうこと

var obj = {fn: function fn () {}, date: new Date, undefined: undefined};
console.log(obj);
console.log(JSON.stringify(obj)); // "{"date":"2016-06-13T00:45:07.522Z"}"
console.log(JSON.parse(JSON.stringify(obj))); // {"date":"2016-06-13T00:45:07.522Z"}
var array = [function fn () {}, new Date, undefined];
console.log(array);
console.log(JSON.stringify(array)); // "[null,"2016-06-13T00:48:58.483Z",null]"
console.log(JSON.parse(JSON.stringify(array))); // [null, "2016-06-13T00:52:23.947Z", null]

646 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 10:10:14.80 ID:CfEi32hJ.net]
JSON.stringify の一番の問題は new Object, new Array 以外の Object 型を扱えない事
new Date なら String 型に変換されるだけだから new Date し直す方法がある(ただし、参照は失われるので参照比較できなくなる)が、それ以外はどうしようもない

function Person (name) { this.name = String(name); }
var obj = {person: new Person('太郎')};
var obj2 = JSON.parse(JSON.stringify(obj));
console.log(obj); // {person: Person {name: "太郎"}}
console.log(obj.person instanceof Person); // true
console.log(JSON.stringify(obj)); // {"person":{"name":"太郎"}}
console.log(obj2); // // {person: Object {name: "太郎"}}
console.log(obj2.person instanceof Person); // false

今のところ、deep copy する標準関数はないので Object.assign を使って自前で deep copy 関数を作るのが妥当

647 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 10:57:57.06 ID:ZIxcBfsq.net]
>>625
あのさ、keysで定義されていてもその中身はundefinedなんだろ?
なら、データとしての扱われ方として、同じだと思うんだけど。
キーがある事が大切であれば、キーを列挙したもの、というデータがあるべきだと思うんだけどどうなの?

>>628
あーなるほど、そういうことか。
参照を失わせるために、そういう事するんだから、であればそのオブジェクトの.toJSONを定義してやるべきだろうね。

648 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 11:55:17.37 ID:CfEi32hJ.net]
>>629
> あのさ、keysで定義されていてもその中身はundefinedなんだろ?
横から口を出すが、hasOwnPropety の結果が異なるから同じではない
「undefinedを代入する設計が筋が悪い」といわれればその通りだが、「同じ」ではない
実際、プロパティの存在チェックなら obj.prop !== undefined よりも obj.hasOwnProperty('prop') を使うべきだ

var obj = {undefined:undefined}, obj2 = {};
console.log(obj.hasOwnProperty('undefined')); // true
console.log(obj2.hasOwnProperty('undefined')); // false

> 参照を失わせるために、そういう事するんだから、であればそのオブジェクトの.toJSONを定義してやるべきだろうね。
プリミティブデータの倉庫として使うなら JSON.stringify で良いが、new Object, new Array 以外は参照を失わせるべきではないのでは?
>>628でいえば、new Person('太郎') を {name: '太郎'} に書き換えるメリットがない

649 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 12:22:56.73 ID:CfEi32hJ.net]
> 参照を失わせるために、そういう事するんだから、であればそのオブジェクトの.toJSONを定義してやるべきだろうね。
ひょっとして、new Person する為の拡張構文をJSON に追加してやるといいたかったのだろうか

私が deep copy するのは構造を書き換えたいが、元の構造も残したい場合だからデータそのものは元のままでいい
new Person('太郎') はたった一人の太郎であり、同名の太郎を作ってもらっては困る
同名オブジェクトを作ると taro === person の比較が出来ず、person instanceof Person && taro.name === person.name のようにダックタイピング的に比較しなければならない
こうなるともう new Person を定義した意味がなく、{name: '太郎'} を生成したのと大して変わらない



650 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 13:52:54.74 ID:KnYKOJ/M.net]
>>630
あー、わからんでもない。
undefinedを値として使う、ってニーズがあれは、それもまた真なんだろうな。
そうなると、assignでもなくオブジェクト毎にちゃんとcloneを実装すべきって感じか。

>>631
ちょっとまって、それはdeepcopyでは無いんじゃないの?
ただの参照の張替えじゃないか。
比較するのであれば、それはequals的なメソッドを作るか、諦めて、stringifyした物同士が同じになるかを比較すべきだろ。

651 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 17:10:28.33 ID:CILZ2bdj.net]
>>632
{}, [] は deep copy する
[{person: new Person('太郎')}, {person: new Person('一朗')}]

逆に new Person を deep copy したいと思う状況が分からない
new Date も関数も期待通りに動かないわけで汎用性が大きく犠牲になっていると思うが…

652 名前:デフォルトの名無しさん [2016/06/13(月) 17:51:17.99 ID:u+uz+gNL.net]
ボタンをクリックしたいのですがどう書けばいいかわかりません>_<
ソースはこれです↓
i.imgur.com/IQLz1Kp.jpg

653 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 17:52:47.17 ID:viWjyZUM.net]
変数宣言って同じ人でもいまいち一貫性が感じられないんだけどさ
はるか遠くで使うのに頭に全部羅列してるかとおもいきや次は使う直前に書いてたり
そうしなきゃいけない時ももちろんあるけど、特にそういう理由も見受けられないのもいっぱいある
あまり詳しくないんだがなんか意味あるのああいうの

654 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 18:30:36.62 ID:K+DNMsci.net]
>>633
状況がわからない、とか言ってちゃぶ台返しされても。。
deepcopyの話じゃないの?
それはシャローコピーそのものじゃん。。一番上っ面だけコピーするって。
Personをdeepcopyしたいって要件ならいくらでもあるじゃん。
オブジェクト変更するから、変更前の「前回オブジェクト」を持っておきたいとか、
保存ボタン押すときに、保存の必要性あるか確認したいから、オブジェクトと退避オブジェクトを比較したい、その退避オブジェクトを作るとか。

655 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 20:36:13.44 ID:WO2lddk8.net]
private変数っぽくしたいときにこうするのってどう?
var Foo = function () {this.private = {};};
Foo.prototype.getBar = function () {return this.private.bar;};
Foo.prototype.setBar = function (b) {this.private.bar = b;};
var foo = new Foo();
{
let _baz;
foo.getBaz = function () {return _bar;};
foo.setBaz = function (b) {_bar = b;};
}
後者はインスタンスごとにgetter/setterをクロージャにしなきゃいけなくて不満。
前者はfoo.private.barで手が届いちゃうものの、意図は明確でそれで十分な気が。
private変数っ「ぽく」したいだけの場合、前者の方法はどう? みんなどう思う?
あとjavascript界隈に既に、こういう「ぽく」したい場合のイディオムってある?

656 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 21:22:27.21 ID:pgYO3XjB.net]
to infinity and beyond

657 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 22:52:41.14 ID:O5DunmIw.net]
>>636
だから、{}, [] は deep copy するといっているのだが
次の構造は正しくdeep copyされる
[[[1], [2]], [[3], [4]]]
{a: {1: true}, b: {2: false}}

一口にdeep copyといってもいろいろ問題があるわけで「この問題にあなたはどう考えているのか?」

- 関数はdeep copy出来ない(そもそも、スコープが変わったら動かなくなる可能性がある)
- customコンストラクタはdeep copy出来ない
- その他、Array, Object以外のdeep copyも難しい

この問題は個々がdeep copyする状況によって解決策が変わるだろうからあなたの考えがな聞きたかった

658 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 22:57:06.96 ID:O5DunmIw.net]
>>636
> オブジェクト変更するから、変更前の「前回オブジェクト」を持っておきたいとか、
なるほど、その発想はなかったな
私ならPersonかPersonを管理するクラスを作ってその中で履歴を管理しそうだ

659 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 23:38:40.69 ID:K+DNMsci.net]
>>639
だから、あのさあ。。
他の言語で考えてみれば?そんな関数は、jsで言う、そのインスタンスのプロトタイプが持つべきで、そのインスタンスが持つべきものじゃないでしょ。
二回目だけど、それはdeepcopyではない。
どうしてもしたければ、laveでもしろ。
問題が理解出来てなさすぎるんじゃないか?

>>640
Personを管理するクラスを作ったなら、そいつが持つのは一体何なんだ?
Personじゃないの?
「Person」と、「Personのコピー」と、「PersonとPersonのコピーを管理するクラス」って無駄すぎるだろ。
どう考えてもPersonを正しくコピー出来るべきで、Personのインスタンス同士を中身を使って比較出来るべきじゃないの?



660 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 23:45:19.16 ID:O5DunmIw.net]
>>641
JSONでもdeep copy出来てなかったと思うのだが
否定ばかりであなたの考える最善が何も出てこないな

661 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 00:47:25.44 ID:DODkZCvX.net]
JavaScriptで deep copy に最適解は存在しないので自分のポリシーに照らし合わせて一番無理のない実装を考える
例えば、次のオブジェクトの deep copy が難しい

var obj = {
date: new Date,
regexp: /test/g,
img: new Image(100, 100),
window: window,
document: document.implementation.createHTMLDocument('sample'),
elementInIframe: document.querySelector('iframe').contentDocument.getElementById('hoge'),
fn: (function (i) { return function fn () { return i++; }; }(0))
};

date, regexp は getPrototypeOf で [[Prototype]] を確認すれば実装可能
img, document, elementInIframe は cloneNode で可能
window は new Window する仕組みがないと難しい
fn は Function#toString を取るだけではスコープの問題を解決不可能なので無理
この調子で一つ一つ対処していったらキリがないのでどこかで妥協するのが普通
ちなみに、deep copyでJSONを持ち出すのは妥協の結果であり、他を圧倒するほどのメリットはない(そもそも、シリアライズする意味がない)
それぞれの妥協解を開示して意見を募るぐらいが妥当ではないかね

662 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 02:01:10.19 ID:9x/TacpJ.net]
>>642
最善は、オブジェクトはオブジェクトとして、関数をもたず、単なるデータの塊として、関数とは別に定義して、
stringify/parseで文字列と相互に変換できる、だよ。
ネットワークを経てrpc的なもので関数呼び合うにも便利だし。
値の持ち主が関数を持つのは好きじゃない。
>>643
圧倒するほどのメリットと言えば、それこそAPIやら、socket.ioを経ても素直に透過な所じゃないかな。

663 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 02:03:53.91 ID:M6DJWkXG.net]
>>644
日付が壊れる問題はどうすんの?

664 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 02:06:47.27 ID:M6DJWkXG.net]
あれ?もしかしてまだ日付が壊れる問題の詳細でてなかったの?
日付らしき文字があったからもう情報出てると思ってたw

まあぐぐればすぐに分かるよね?って話。

JavaScriptのDeepCopyでJSON.parse/stringifyを使ってはいけない
qiita.com/seihmd/items/74fa9792d05278a2e898

665 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 02:11:20.97 ID:M6DJWkXG.net]
>>644
> 最善は、オブジェクトはオブジェクトとして、関数をもたず、単なるデータの塊として、関数とは別に定義して、
> stringify/parseで文字列と相互に変換できる、だよ。

理由がないよね。

> ネットワークを経てrpc的なもので関数呼び合うにも便利だし。
今はDeep Copyの話をしている。
シリアライズの話なら別でやれ

666 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 02:24:34.32 ID:TbEnZJwB.net]
>>645-646
なんでこういう事いう奴のJSON.parse/stringifyには第二引数がないんだろう?w

667 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 02:31:07.43 ID:M6DJWkXG.net]
JSON.parse/stringifyには第二引数で頑張ればできるという誤解が
広まらないように先に言っておくと、これはNumber、String、Booleanにしか
対応できません。

668 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 04:26:35.95 ID:TbEnZJwB.net]
>>649
嘘吐くなよ試しちまったじゃねぇかw

parseに渡すreviverは文字列を受け取って問題なくオブジェクトを返せるし
stringifyに渡すreplacerはオブジェクトを受け取って任意の文字列に変換出来る
別にコピーのためだけに局所的に使うならreplacerは正しいjsonを吐く必要もないしな
復元のための情報山盛りにして吐き出せばいい

Dateとundefinedを試してコピー出来たのは確認した
Functionとクロージャはスコープの問題があるのでシャローコピーにせざるを得ないが
同一スコープ内でstringify/parseをするならreviverでオリジナルから参照をコピーするのは簡単だ
ただまあここまでやるのはシリアライザとデシリアライザを自前で実装するのと変わらんからオブジェクトを直接弄った方が早いなw

ところでディープコピーってjQueryからextendメソッドをパクって来るんじゃダメなんか?
循環参照で死ぬので他のライブラリのでもいいがディープコピーを実現しようとしてるライブラリは少なくないと思うんだが

669 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 09:05:34.57 ID:BcKyLCvc.net]
>>634
「js button click event」で検索!



670 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 09:26:05.33 ID:VOPCCsis.net]
>>651
「いやです!>_<」

671 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 09:30:58.95 ID:DODkZCvX.net]
>>644
> 最善は、オブジェクトはオブジェクトとして、関数をもたず、単なるデータの塊として
だから、それをどうやって実装するのか、という事を聞いているのだが
「データの塊」とはJSONにあるような「プロパティの塊」の事か?

function Person (name) { this.name = String(name); }
var obj = {name1: new Person('Ken'), name2: {name: 'Ken'}};
console.log(JSON.stringify(obj)); // "{"name1":{"name":"Ken"},"name2":{"name":"Ken"}}"

結局、JSONの問題点は克服できてないのだが
あなたの頭の中がJSONに最適化されているからJSONにそぐわないコードを意識的に追い出しているに過ぎない
- 関数が消されるが、使わないので問題ない
- undefined は消されるが、undefined をプロパティ値に持たないので問題ない
- new Date は String 型に変換されるが、後で new Date し直すので問題ない
- new Arrayを除く全てのオブジェクトは new Object に変換されるが、オブジェクトおを「プロパティの塊」としかみないので問題ない
- new Date(2016, 5, 14, 9, 0, 0) と "2016-06-14T00:00:00.000Z" が同値を認識されるが、データの塊としか見ないので問題ない
- new function Person (name) { this.name = name; }('Ken') と {name: 'Ken'} が同値と認識されるが、オブジェクトを「プロパティの塊」としか見ないので問題ない

> 圧倒するほどのメリットと言えば、それこそAPIやら、socket.ioを経ても素直に透過な所じゃないかな。
JSONはシリアライズ不可能なオブジェクトを扱えないデメリットがある
「あなたは」シリアライズ不可能なオブジェクトを使わないからJSONが最適解だが、「私は」シリアライズ不可能なオブジェクトを扱うので最適解が「シリアライズ不可能なオブジェクトを社ローコピーする」になっている
トレードオフの関係にあることは間違いない

672 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 09:41:30.57 ID:DODkZCvX.net]
>>643の obj を JSON.stringify(obj); すると SyntaxError になるな

673 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 10:11:55.55 ID:dYSnVaKQ.net]
>>653
最適解が「シャローコピー」となる、その主語はなに?
何に関して議論してるの?

674 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 10:29:28.31 ID:ScASA3Ww.net]
別にJSON使ってもいいと思うけど、
別の手としてはMessageChannel使えば非同期で循環参照も扱える
まあJSONも少し手を加えれば循環参照を扱えるが
昔作ったこんな感じで
ideone.com/Zxp7kN

昔関数も扱えないかと考えたことがある
まあちょっとコピーとは感じが違うが、NodeとブラウザでWSを使いオブジェクトを共有しようと思っていた。
その時はオブジェクト情報を送るのではなく影となるProxyを使い、
操作を原本に問い合わせることでだいたい可能という判断になった。
原本に与える影響を最小限にして、あたかもでディープコピーされたかのように振る舞うのも
まあ巧みなProxyとレシーバーを守るメソッド定義に気をつけていれば可能な範疇だろう

675 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 11:59:42.69 ID:9x/TacpJ.net]
>>653
頭おかしいのかな。
そうだと言ってるんだよ。
データと操作と、操作のためのオブジェクトは別個に考えるべきだと。
最適解として、シリアライズ不可能な物はシャローコピーする、は、
お前の運用に対する無難な妥協点であって、ディープコピーじゃないよ。
だからlave使えって。

676 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 12:02:10.51 ID:9x/TacpJ.net]
>>654
toJSON実装しとけ。

677 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 12:50:00.83 ID:DODkZCvX.net]
>>655
シリアライズ不可能なオブジェクト

>>657
「あなたの考えるdeep copyかどうか」はどうでもいいんだがな
「あなたの考えるあなたの為のdeep copy」が私にとっては使えないし、逆もしかりというだけなんだが
で、「あなたの考えるdeep copy」と「私の考えるdeep copy」の仕様が違うだけ
laveとは何のことだ?

>>658
toJSONとは?

678 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 12:51:12.47 ID:DODkZCvX.net]
追記
「ディープコピーじゃないよ」といわれてもあなたの中ではそうなんだろう、としか言いようがない

679 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 13:11:10.09 ID:dYSnVaKQ.net]
>>659
> シリアライズ不可能なオブジェクト
それ、そもそも問題設定がおかしくないか?

もともとはオブジェクトをコピーするときの話で、その目的・実現方法による分類として
シャローコピーとディープコピーがある。

シリアライズ不可能なオブジェクトでもシャローコピーで良い場合もあれば悪い場合もある。
それは目的によって異なるというだけのこと。



680 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 13:20:14.73 ID:dYSnVaKQ.net]
>>689からも話が続いてるとして、
> 一口にdeep copyといってもいろいろ問題があるわけで「この問題にあなたはどう考えているのか?」
> この問題は個々がdeep copyする状況によって解決策が変わるだろうからあなたの考えがな聞きたかった

つまり、ディープコピーしたいんだが、ある項目についてはそれが難しいという話でしょ?
で、その問題解決の最適解がシャローコピー?

>>636
> オブジェクト変更するから、変更前の「前回オブジェクト」を持っておきたいとか、
> 保存ボタン押すときに、保存の必要性あるか確認したいから、オブジェクトと退避オブジェクトを比較したい、その退避オブジェクトを作るとか
目的でディープコピーをしたいのだという人と、根本的に議論がかみ合ってない。

681 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 13:22:09.03 ID:9x/TacpJ.net]
>>659
deepcopyの定義から考えような。勝手キーワードじゃないよ。
https://en.m.wikipedia.org/wiki/Object_copying#Deep_copy

laveはこれ。
https://github.com/jed/lave/blob/master/README.md

toJSON
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

>>660
お前の中でしか違わないよ。

682 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 16:09:36.89 ID:9x/TacpJ.net]
まぁ、===で比較したいから、インスタンスは唯一の存在であってほしいから、これは「俺のdeep copy」とか言われても困るわな。
絶対地雷踏み抜くわ。
同名のtaroオブジェクトとかで苦笑いしておくべきだったか。

683 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 17:54:57.29 ID:DODkZCvX.net]
>>663
あなたの主張はわかった

684 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 18:07:30.48 ID:dYSnVaKQ.net]
あなたの主張はわかった。
=> でもそれは間違ってる
=> 私が間違っていた
=> あなたも正しいが、私の主張も正しい
のどれだろうか。

685 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 18:47:33.56 ID:9x/TacpJ.net]
>>665
無知を省みて自分の至らぬ所を認め、その上で正しい知識を入れ直さないと、
技術者として致命的な場面がやってくるよ。
匿名で出来る間にやっておけばいかがかな。

686 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 19:35:30.53 ID:TG3hSyiU.net]
一般論からは、複製するオブジェクトを利用している文脈に固有のデータは
複製されない方がよいだろう(一時的な管理データなど

よって、何を複製すべきかは複製した結果を利用する文脈に依存する
元と同じ文脈で利用する場合でも、すべてのデータを複製した方が
いいとは限らない( id みたいに重複すると困るものなど

687 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 22:10:43.05 ID:VJ/4c5wE.net]
ディープコピーは滅多に使わないな
マップした結果が偶々ディープコピーと同じ結果になる事はあるけど
転送はJsonXmlバイナリのどれかのシリアライズだし

688 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 23:14:40.87 ID:9x/TacpJ.net]
一般論としては、ってのがよくわからんが、そんなものをデータに持ち込むからじゃないの?

689 名前:デフォルトの名無しさん mailto:sage [2016/06/14(火) 23:28:10.46 ID:M6DJWkXG.net]
ディープコピーとシリアライズは別の機能。
ディープコピーにシリアライズ用の関数を使うのは間違い。

それだけの話だろ



690 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 00:12:34.59 ID:cIXZs8w1.net]
>>671
そりゃおっしゃる通り。
一番元々の要件に対して、「手軽で早い」解決策。
そこから、変なものをdeepcopyだと寝言言う奴があらわれてこうなっただけ。
cloneとequalsを定義すべきだと思うよ。「正しい実装」では。

691 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 00:19:47.28 ID:wTcNi+2O.net]
>>672
もともとの要件? もともとの要件は、ディープコピーなんだが?w
ディープコピーにシリアライズ用の関数を使うのは間違いって
JSONつかってやるコードを持ち出してきた
>>661をぎったんぎったんに叩いてやれよw

↓しっかり思い出せやw

608 自分:デフォルトの名無しさん[sage] 投稿日:2016/06/12(日) 23:34:06.35 ID:xguVhByI [2/2]
shallowコピーの場合はconcatでいいよね。
最初は?ってなるけど、知ってしまえば簡単に覚えられるし。

なんらかのdeepコピーの場合はライブラリ使うしか無いかな?

611 返信:デフォルトの名無しさん[sage] 投稿日:2016/06/12(日) 23:57:34.48 ID:hCgFiHr7 [7/7]
>>608
JSON.parse(JSON.stringify(obj))
が、一番手軽で早い。

692 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 01:25:24.86 ID:Iz/1ukPU.net]
ディープコピーといっても様々じゃない?
構造下のオブジェクトは再作成することになるが、
関数に限ってはクロージャの面からも参照コピーした方がいい。
しかしそうなると関数オブジェクトのプロパティの取り回しが困る。
他にも非列挙やシンボルの扱いもあるし一般的に何が正しいかなんてない。

693 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 02:03:52.98 ID:wTcNi+2O.net]
>>674
例えそうだとしても日付が壊れるとか
undefinedが消えるだとかいうのは問題外

694 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 04:32:57.44 ID:Iz/1ukPU.net]
そっとしてそれはギャグで言ってるのかな?

695 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 08:08:29.44 ID:SSaOcc+i.net]
>>673
ディープコピー全体に対して、すべてをシリアライズで解決するのは正しいか間違いか、
って話であって、
少なくともconcat使うような配列やらなんやらでは、シリアライズで必要十分だねと。
訳わからん前提を持ち出して、あまつさえディープコピーではないものをディープコピーと言い出した奴は気が狂ってると思うけど。
だから、何度かclone/equalsの話もしてんじゃん。

お前、自分が何故叩かれたか理解してないの?

>>675
そんな形で持つからだろ。

696 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 08:56:16.37 ID:FEVYup+X.net]
javascript業界は素人ばっかりだな
参照型のディープコピーの実装は大きく分けて3つ
プロパティの自動マッピング、シリアライズ、明示的なコピー関数
実行効率や制約の多さはともかくとして工数的にはシリアライズを利用する方法は有力な選択肢だよ
もちろんそもそも論としてディープコピーなんかそんなに使わないってのがあるけどね

697 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 09:05:04.59 ID:wTcNi+2O.net]
> 参照型のディープコピーの実装は大きく分けて3つ
> プロパティの自動マッピング、シリアライズ、明示的なコピー関数

オレオレ定義すんなよ。
見苦しいんだよ。

698 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 09:08:01.05 ID:wTcNi+2O.net]
> 工数的には
どこぞのライブラリを使えばいい。

699 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 11:46:17.65 ID:SSaOcc+i.net]
>>679
これ、オレオレ定義か?
CoRしたいなら1つめ、あとはごく当たり前な実装だと思うけど。



700 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 13:00:32.42 ID:RkIC2p5j.net]
>>681
一般にディープコピーするのにシリアライズは必要ないんじゃない?
無駄な処理を挟んでいるだけに見える

701 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 13:11:48.27 ID:SSaOcc+i.net]
>>682
javascriptみたいな、オブジェクトのプロパティの型がプリミティブだって保証が無い言語で、
制限事項少なめで一発でコピーするには楽だと思うけどなぁ。

702 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 13:37:00.47 ID:RkIC2p5j.net]
>>683
JavaScriptの場合、JSONが楽に実装できることは否定しないよ
サーバにデータを送るならシリアライズする意味はあるけど、ディープコピーする為だけにシリアライズする必要はないってだけ
シリアライズしたフォーマット(JSON)の制約を受けるわけだし、シリアライズする時点で目的と手段が一致してないように見える
Object.keysやfor-ofで列挙したキーを順番にコピーしていく方がどう考えても制約が少ない

703 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 14:34:35.52 ID:KXw+rbZw.net]
なんかディープコピーはあれもこれもちゃんとして超完璧じゃないといけないみたいな人がいるけど
どのライブラリとってみてもそれなりな実装しかしてないんだよね。
>>684とか制約が少ない(キリッ
って言うけどそこまでしてその制約の少なさを求める妥当性を一切言わない。

704 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 15:00:16.56 ID:RkIC2p5j.net]
>>685
「制約が少ない」は>>683の「制限事項少なめ」に反論しただけ
上の方で「ディープコピーじゃないよ」云々の人がいたし、ディープコピーのクオリティを向上させる流れだと思ったんだけどね
それなりの実装でいいなら各々が自分の好きなように実装すればいいし、他人の実装を否定する必要もないね

705 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 15:03:11.81 ID:KXw+rbZw.net]
どんだけ頑張ってもそれなりの実装にしかならないから決め手がなくて問題なんでしょ。

706 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 15:39:36.39 ID:SSaOcc+i.net]
>>684
for ofで、オブジェクトなら再帰的に、とやると、今度は参照が循環してしまった場合に備えて、メモ化する必要が出てきたりと、制限事項を制限事項とするためにとても面倒な段取りを踏まないといかんのよ。
そういう意味では、やっぱりインスタンス各自に任せるのが一番なのかもしれんよ。
cloneを必ず実装して、その中の実装でも、どんなオブジェクトも自力ではコピーせずに、cloneを呼び出すようにして、呼び出せるcloneが無い場合、死ぬかないしは参照のコピーとなる可能性があるとワーニング吐くとくとか。
.toJSON実装しときゃstringifyだと割と解決するんだけどね。

707 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 15:42:17.53 ID:TAanDQJ+.net]
>>684
ディープコピーの実装する為だけに面倒くさいだけのツマラナイコード書く必要なくね?
シリアライズでサッサと済ませればいいじゃん

708 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 16:25:26.27 ID:RkIC2p5j.net]
>>688
> for ofで、オブジェクトな

709 名前:迯ト帰的に、とやると、今度は参照が循環してしまった場合に備えて、メモ化する必要が出てきたりと、制限事項を制限事項とするためにとても面倒な段取りを踏まないといかんのよ。
なるほど、参照をメモ化すれば循環参照を保持出来るね
オブジェクトの配列をメモ化しておいてArray#indexOfで探せばいいので比較的簡単に実装できそう

JSON.stringifyを使ったら循環参照を消してた
 var obj = {a:{x:1},b:obj,c:this.a};
 JSON.stringify(obj); // "{"a":{"x":1}}"
toJSONを使ってユニークな文字を出力しても解決できそうにないかな
ユニークな文字列と同値が存在したら破綻するし、渡すオブジェクト自身に循環参照していた場合、obj.toJSONを定義した途端にJSON.stringify(obj)が文字列になってしまう
この辺がJSONの限界かな
[]
[ここ壊れてます]



710 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 17:24:42.09 ID:uCNYQdtw.net]
一日中こんなところでくだらん連投して何が楽しいの?
仕事でも探せば?

711 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 17:35:48.15 ID:SSaOcc+i.net]
>>690
そうそう。
すでにクローン済みとメモ化するにも、ネストしたオブジェクトの底の方で発見したオブジェクトと、浅い所で発見したオブジェクトに対して、再起だと上にメモを返してやらないと、同一参照にはならんので、割とめんどくさいと思うよ。

吹き飛ばすのが一番、かつ、そんなデータを作らないのが一番と言う所に落ち着くんじゃないかな。

712 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 18:40:06.70 ID:kCCRbfye.net]
一番面倒なのは外部プロパティに加え内部プロパティを持ったビルトインコンストラクタのインスタンスだろう。
それを複製するにはそれぞれのクラスごとに対応しないといけないし、その最たるものである関数は対処不能。

>>690
ちょっと工夫すればJSON APIを活用しつつも循環参照も扱える
>>656みたいに(バグあり)

713 名前:デフォルトの名無しさん mailto:sage [2016/06/15(水) 23:17:16.03 ID:wTcNi+2O.net]
>>689
> シリアライズでサッサと済ませればいいじゃん

だから、その結果、日付型がおかしくなり関数が消え
undefinedの値がキーごとなくなるのはひどすぎという話。

714 名前:デフォルトの名無しさん mailto:sage [2016/06/16(木) 07:45:47.42 ID:oMjTOMdB.net]
それで十分な場面はそうでない場面よりずっと多いと思うので、
酷いか酷くないかで言うと酷くないと思う。

715 名前:デフォルトの名無しさん mailto:sage [2016/06/16(木) 09:28:45.12 ID:J7Y57E8z.net]
>>694
何でもかんでも汎用化しようとするのはヴァカのやる事だし
そもそも込み入った形式のオブジェクトをディープコピーする機会は少ない
適用可能な範囲で簡単に実装できるならそうしたほうがいい
できない範囲にはポリモーフィックに対応すればいい

716 名前:デフォルトの名無しさん mailto:sage [2016/06/16(木) 09:30:35.19 ID:u57UUEr0.net]
>>696
日付型や関数はundefinedが値として入っているのは
ぜんぜん込み入った形式じゃないですよ?

717 名前:デフォルトの名無しさん mailto:sage [2016/06/16(木) 12:30:42.86 ID:TTOq9A9Q.net]
>>697
設計が悪いだろ。そりゃデータとロジックが分離できてないとしか言いようが無くないか?

718 名前:デフォルトの名無しさん mailto:sage [2016/06/16(木) 15:06:47.71 ID:peThILAI.net]
ディープコピー使ったコードも8割方設計がまずい気がする

719 名前:デフォルトの名無しさん [2016/06/16(木) 19:02:21.99 ID:ykd7wui8.net]
iOS9のSafariでWebを見た時、リーダーが使えず
以下のURLを参考にフォントを拡大して使っています。
iOSのSafariで表示してるページの文字の大きさを自由に変更しよう!
mag.torumade.nu/?p=7260
ここにあるJavaScriptの+/ーそれぞれの記述ですが、
フォントを多きく/小さくしている箇所は何処でしょうか?
今は2,3回ポチって文字を大きくしています。
出来ればポチったら一発で好みの文字の大きさにするスクリプトにしたいです。

JavaScriptで文字の大きさを買えるのに、試行するのは構いませんので
宜しくお願いします。
JavaScriptは書いたこと無いので、ここでの記述をコピペになると思います。



720 名前:デフォルトの名無しさん mailto:sage [2016/06/16(木) 21:35:26.83 ID:DYttMfqr.net]
めんどくさいしこれでいいよ
まともな造りしてればまあ読めるだろ
大きさ変えたいなら 20px を好きな値にしな

javascript:document.body.innerHTML+='%3Cstyle%3E*%7Bfont-size:20px!important%7D%3C/style%3E';

721 名前:デフォルトの名無しさん mailto:sage [2016/06/16(木) 22:07:33.10 ID:u57UUEr0.net]
>>698
> 設計が悪いだろ。そりゃデータとロジックが分離できてないとしか言いようが無くないか?

日付やundefinedはデータですよ?
これをロジックと言い張る人、初めて見たわーwww

722 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 00:16:54.38 ID:XW0r+pFS.net]
>>702
関数、に言ってるんだけど。
とにかく言い負かされたくなくて必死なんだな。
あと、undefinedは正確にはデータではなく、状態。
日付は、日付。Dateクラスは、日付を扱うためのクラスであり、日付の値では無い、あくまで値は、.valueOf()で取得できる値。

ババロア君は馬鹿か無知かどちらかにしとけよ。ババロアすら詰まってないんじゃねえの?

723 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 00:31:17.80 ID:gkJjvuAc.net]
>>703
なんで3つのうち関数にしか言わないの?

残り2つは反論できませんって話かwww

724 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 00:33:59.24 ID:gkJjvuAc.net]
"abc".bold() って実行してみ?
文字列は

725 名前:クラスだって知らないのかな?www []
[ここ壊れてます]

726 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 00:46:16.36 ID:XW0r+pFS.net]
>>704
2つはその、下で反論してるけど。
文字も読めないの?

>>705
.valueOf実行してみ。
薄いラッパーに包まれたただの値だとわかるよ。

727 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 00:47:44.33 ID:XW0r+pFS.net]
>>705
プロトタイプに実装されてるか、それともインスタンスに実装したのかも分けて考えような、ボンクラ。

728 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 01:18:50.68 ID:gkJjvuAc.net]
>>706
日付.valueOf実行してみ。
薄いラッパーに包まれたただの値だとわかるよ。

729 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 01:20:43.01 ID:gkJjvuAc.net]
>>707
> プロトタイプに実装されてるか
String.prototype.hoge = function() {} と定義したものが
"abc".hoge() で呼び出されるな。
プロトタイプに実装されてるわけか。



730 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 01:38:53.96 ID:MlF9RYHU.net]
プリミティブ型とラッパーオブジェクトは別物だから明確に区別しとかないと事故るぞ
例えば以下の様なケース

if(new Boolean(false) && new Number(0)){
//どちらもオブジェクトが存在するのでtrue
//よってここは常に実行される
}
if(false || 0){
//どちらもプリミティブでfalseとして扱われる値
//よってこちらは実行されない
}

731 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 02:49:55.65 ID:bQl7rsTf.net]
>>701
ありがとうございました。

732 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 09:31:42.05 ID:srh2csoY.net]
>>710
いろんなJS質問スレ見てきてるが半年ぶりくらいに
まともな初心者解説のコードが書かれたな。

733 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 16:34:23.27 ID:6iHig3Yk.net]
ゴミが持論書きなぐってるだけのクソスレに何を期待してるの?

734 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 17:12:33.16 ID:BB7ZCZit.net]
動画サイトだけ自動でCSSを切り替えるために、動的に挿入されたiframe, video, object, embed エレメントを検出したいんですが、効率的な方法が思い浮かばず困っています
iframeとvideoはdocumentでイベントリスナ(load, loadedmetadata)すれば検出できるんですが、なぜかobjectとembedちゃんからのお便りが来ません(chrome ver51)
とりあえず暫定的にクリック毎にgetElementsByTagName()で代替しているんですが、
何かもっとスマートな方法ないでしょうか

735 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 19:02:26.08 ID:Rqj2POSn.net]
MutationObserverで逐一tagName調べるのが無難かな

736 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 19:29:30.69 ID:BB7ZCZit.net]
>>715
動画サイトの場合、オプション{childList true, subTree: true}でノード追加を監視すると、コンソールが常時ナイアガラの滝のように・・・

737 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 19:41:50.28 ID:nZkVhJBc.net]
>>713
その通りだね
俺様流カレーライスの作り方みたいなもんだよねw

738 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 02:23:30.51 ID:zfC6EzMS.net]
>>717
その俺様流カレーライスの作り方で、ドヤ顔でハヤシライスの作り方説明して、これが「妥当なカレーライス」とか言っちゃうような俺流deepcopyerが
主みたいなスレだからね。
まともな奴はレスしなくなるっしょw

739 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 09:38:41.31 ID:Fpexe9SW.net]
ハヤシライスというより肉じゃがだと思う



740 名前:デフォルトの名無しさん mailto:!sage [2016/06/18(土) 09:43:04.22 ID:pG9pCEms.net]
"a,b,c".split(",",1)で、
["a","b,c"]を取得したいのですが、["a","b"]になります
どうすrばいいですか

741 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 10:53:48.22 ID:49KWKmmu.net]
<input id="a" type="text">
document.getElementById('a').addEventListener('input', function(e) {
console.log(e);
}, false);

enterキーを押した時だけログがでないんですがどうしてですか?

742 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 13:22:34.63 ID:z24FpIHh.net]
function test1() {
  return new Promise(function(resolve, reject) {
    // 非同期な処理
  };
}
function test2() {
  return new Promise(function(resolve, reject) {
    // 非同期な処理
  };
}
上記の関数を逐次実行したい場合、
Promise.resolve()
  .then(() => {
    let promise = test1();
    promise.then(() => {
      console.log('test1 OK');
    }).catch(function(e){
      console.log('test 1NG');
    });
    return promise;
  })
  .then(() => {
    let promise = test2();
    promise.then(() => {
      console.log('test2 OK');
    }).catch(function(e){
      console.log('test2 NG');
    });
    return promise;
  })
});
って書くってことであっていますか?意図通り動くのですが、回りくどいし見にくい気がして

743 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 13:28:02.54 ID:z24FpIHh.net]
>>721
document.getElementById('a').addEventListener('keydown', function(e) {
  console.log(e);
}, false);

keydown にすればenterも拾える

744 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 13:30:40.39 ID:qpxG5nAO.net]
>>722
そんなわけなかろうw
いまゲームしてるからちょっと待てwww

745 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 13:32:40.70 ID:z24FpIHh.net]
>>720
splitだけでその配列を取得するのは無理

746 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 13:33:55.65 ID:z24FpIHh.net]
>>724
お、ありがとうございます
たのんます

747 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 13:40:53.70 ID:lYop9Jcb.net]
>>720
それ戻り値["a"]じゃね?
とりあえず脳内補正で第二引数は2だとするとjavascriptのsplitだとその希望の動作にはならない

第二引数なしでsplitして[t[0],t.slice(1).join(',')]とか
indexOfとsubstring組み合わせて自分で切り出すとか
他にも色々やり方はあるので要求に合った方法を考えて関数化しとけばいいよ

748 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 13:48:58.73 ID:7whaN/tJ.net]
>>720
indexOfでインデックスを取得してslice

749 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 13:49:03.57 ID:z24FpIHh.net]
722ですがこっちですかね、余計見にくいような気もしますが(アロー演算子のせい?)

test1().then(() => {
   return test2();
}, () => {
   console.log('1のNG');
}).then(() => {
   // 1 も 2 も成功
}, () => {
   console.log('2のNG');
}).catch(function(e){
   console.log('ここにはいつくるんだろう?');
});



750 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 13:52:05.82 ID:ousMayNp.net]
>>722
thenの結果は自動でプロミスに変換されるから、function test2 のなかでプロミスを作らなくておk

シンプルにfunction test2(previousResult) { // 非同期な処理 return resTest2} としておいて

test1
.catch(resTest1 => resCatch1)
.then(test2)
.catch(resTest2 => resCatch2) 〜 とつなげればいい

一個目のcatchを省略した場合、 test1でエラーが起きると最後のキャッチにジャンプする

751 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 13:54:20.50 ID:7whaN/tJ.net]
>>721
可能性はいくつかある
- input要素で [Enter] キーを押している
- IME変換時に [Enter] キー

752 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 13:56:06.15 ID:ousMayNp.net]
>>729
thenの第二引数をcatchとして使うと、そのthenで起きたエラーは拾わなあいから、必要ないときはcatchを使ったほうがいいよ 分かり易いから

753 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 13:56:58.21 ID:qpxG5nAO.net]
>>729
ほらよ。ついでに値の渡し方も書いておいたぞ。
thenの戻り値としてPromiseではないものを返せるところにも注意な。(return textの所)

あと、最初はPromise.resolveで始めなくても、いきなりtext1("sample").then でも良い。

function test1(text) {
  return Promise.resolve(text);
  //return Promise.reject(text);
}
function test2(text) {
  return Promise.resolve(text);
  //return Promise.reject(text);
}

Promise.resolve("sample")
 .then(text => test1(text))
 .then(text => {
  console.log("test 1 OK:" + text);
  return text;
 })
 .catch(text => {
  console.log("test 1 NG:" + text);
  return text;
 })
 .then(text => test2(text))
 .then(text => {
  console.log("test 2 OK:" + text);
 })
 .catch(text => {
 console.log("test 2 NG:" + text);
 });

754 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 14:06:33.76 ID:qpxG5nAO.net]
ただ、一直線に書くとtext1とtext2の

755 名前:範囲なのかわかりづらいから
>>722を少し改良したこれでもいい気もしてきたな。

Promise.resolve("sample")
 .then(text => test1(text)
  .then(text => {
   console.log("test 1 OK:" + text);
   return text;
  })
  .catch(text => {
   console.log("test 1 NG:" + text);
   return text;
  })
 )
 .then(text => test2(text)
  .then(text => {
   console.log("test 2 OK:" + text);
  })
  .catch(text => {
  console.log("test 2 NG:" + text);
  })
);
[]
[ここ壊れてます]

756 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 14:09:27.96 ID:qpxG5nAO.net]
なお、もちろんこう書くこともできるし

function test1(text) {
  let p = Promise.resolve(text);
  //let p = Promise.reject(text);
 return p.then(text => {
   console.log("test 1 OK:" + text);
   return text;
  })
  .catch(text => {
   console.log("test 1 NG:" + text);
   return text;
  });
}

function test2(text) {
  let p = Promise.resolve(text);
  //let p = Promise.reject(text);
 return p.then(text => {
   console.log("test 2 OK:" + text);
   return text;
  })
  .catch(text => {
  console.log("test 2 NG:" + text);
   return text;
  });
}

Promise.resolve("sample")
 .then(text => test1(text))
 .then(text => test2(text));

757 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 14:18:57.19 ID:qpxG5nAO.net]
catchをthenの機能に含めて、こういう書き方もできる。

Promise.resolve("sample")
 .then(text => test1(text))
 .then(text => {
   console.log("test 1 OK:" + text);
   return text;
  }, text => {
   console.log("test 1 NG:" + text);
   return text;
 })
 .then(text => test2(text))
 .then(text => {
   console.log("test 2 OK:" + text);
  }, text => {
  console.log("test 2 NG:" + text);
 });

758 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 14:27:30.76 ID:lYop9Jcb.net]
>>729
まずtest1とtest2の中の非同期でresolve(戻り値)またはreject(エラーの原因)を呼んでる事は前提とすると

function err(e){console.error(e);};
function finish(val){console.info("終了",val);};

test1().then(test2).then(finish).catch(err);

thenで第二引数を渡さなければrejectもcatchに飛ぶのでこれで充分なはずだけど?

759 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 14:30:46.97 ID:qpxG5nAO.net]
 .then(text => test1(text)) は
 .then(test1) これでよかったな。



760 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 14:38:51.52 ID:qpxG5nAO.net]
他にもいろいろ書き換えてみたけど、これが俺の中でベストかな

Promise.resolve("sample")
 .then(test1)
 .then(text => {
   console.log("test 1 OK:" + text);
   return text;
  }, text => {
   console.log("test 1 NG:" + text);
   return text;
  }
 )
 .then(test2)
 .then(text => {
   console.log("test 2 OK:" + text);
  }, text => {
   console.log("test 2 NG:" + text);
  }
 );

761 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 14:51:32.54 ID:z24FpIHh.net]
皆さんありがとうございます。
まだ若干こんがらがってますが、理解がだいぶマシになりました。
test2はプロミスにしなくてOKということですが、
test2を単独で使用する可能性がある場合は今のままでも大丈夫ですよね...?

762 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 14:52:59.75 ID:z24FpIHh.net]
皆さんのを参考に
function test1(text) {
 return new Promise(function(resolve, reject) {
  setTimeout(() => {
   reject(text);
  }, 1000);
 });
}
function test2(text) {
 return Promise.resolve(text);
}

Promise.resolve("sample")
test1("test")
 .then(text => {
  console.log("test 1 ok " + text);
  return text;
 }, text => {
  console.log("test 1 ng " + text);
  return text;
 })
.then(test2)
 .then(text => {
  console.log("test 2 ok " + text);
 })
 .catch(text => {
  console.log("test 2 ng " + text);
 });

こういうのを書いてみたのですが、
test1でrejectしてもそのままtest2に入ってきましたが、これはこういうものでしょうか?

763 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 14:54:43.38 ID:z24FpIHh.net]
すみません、>>741の Promise.resolve("sample")は不要ですね

764 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 15:02:45.38 ID:qpxG5nAO.net]
>>741
> test1でrejectしてもそのままtest2に入ってきましたが、これはこういうものでしょうか?

あれ?そういう仕様だと思ってたよw
じゃあ書き換えが必要だね。

いまゲームしてるから(ry

765 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 15:15:57.87 ID:HfDVf1Az.net]
>>741
www.html5rocks.com/ja/tutorials/es6/promises/

766 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 15:28:56.46 ID:z24FpIHh.net]
何度もすみません。
>>743-744
ありがとうございます、そのサイト見てたはずですが見落としていました
だいたい理解できました。
一連の質問は解決ということで問題ないです。

皆さんありがとうございました。

767 名前:デフォルトの名無しさん mailto:sage [2016/06/18(土) 23:31:55.96 ID:aNvZce14.net]
imeオンオフに関わらずEnterキーが入力されたか確認する方法を教えてください

768 名前:デフォルトの名無しさん mailto:sage [2016/06/19(日) 01:39:49.43 ID:XpUIM/8a.net]
>>746
IME周りはブラウザ毎に実装が違ったりして面倒なので全てのブラウザで動くとは保証出来んが
keydownでキーコード229,0,13を拾えばだいたい拾えるんじゃないかね?

769 名前:デフォルトの名無しさん mailto:sage [2016/06/19(日) 01:54:37.93 ID:jkRTuMFS.net]
おしんとひこうきぴゅんぴゅん



770 名前:デフォルトの名無しさん mailto:sage [2016/06/19(日) 15:42:45.26 ID:j/5yp6z/.net]
古いソフトのプラグイン頼まれたんだけど新しめのESで追加された機能がほとんど使えなくて難儀してる
よくわからないんだけどこういうのって作者が対応すれば使えるようになるの?
VSなんかだと参照突っ込むだけで機能使えるようになるけど
そういうお手軽はお話じゃないんかね

771 名前:デフォルトの名無しさん mailto:sage [2016/06/19(日) 19:29:55.99 ID:fmRoj+h3.net]
なんのエンジン使ってるか知らんが例えばV8でも無理でーす
奴らは自分のブラウザで動けばいいので毎日のように互換性壊しまくりのスケ〜

772 名前:デフォルトの名無しさん mailto:sage [2016/06/20(月) 18:11:29.60 ID:tys3WiX6.net]
javaでいうTreeSetを使いたいのですが、ありますか?

773 名前:デフォルトの名無しさん mailto:sage [2016/06/20(月) 18:48:32.16 ID:hRWj67CX.net]
(非数字)文字列ならオブジェクトのプロパティとして加えていって列挙すればソートされてる

774 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 00:26:47.70 ID:qdV120KE.net]
リンクをクリックするとJavaScriptでページ遷移するウェブページで、遷移する先のURLを事前に取得する方法はありますか?

意図としてはページに飛ばされる前にどこに飛ぶのか判断したいためです。

775 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 00:47:36.70 ID:Zouo8B6w.net]
>>753
JavaScriptでページ遷移するなら遷移先URLもJavaScriptで分かっているはずなのだが

776 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 08:14:40.47 ID:vlWZNI1X.net]
>>754
最終的な遷移先のURLを鯖側で生成してたらわからんけど

777 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 09:06:55.19 ID:zhgdBgoI.net]
>>754
説明が足らずすみません。

他者が作ったウェブサイトの環境で、ブラウザの拡張機能などで自前のJavaScriptを実行して判断したいということでした。

そういうことだと>>755さんの言うとおり、他者のサーバで生成してるからわからないってことになりそうですね。

778 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 11:17:04.95 ID:Zouo8B6w.net]
>>756
URLの生成規則を探すとか、JavaScriptコードを読んでコードから遷移先URLを得る、とか一概には言えないと思う

779 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 12:14:28.77 ID:VoVagir1.net]
>>756
クライアントが移動先を知ってるなら取る方法はない訳ではないが
鯖側でリダイレクトさせる場合にはAjaxでリンクを踏んで戻った内容からリダイレクト先をスクレイピングするとかしないと無理だろうね

つまり画面遷移をせずにリンク先を取得する事は可能、鯖と通信せずにリンク先を取得する事は不可能なケースがある
クライアント上で動作している以上、クライアントが知らない情報は取得出来ない



780 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 13:29:33.82 ID:NcocGzZA.net]
いや、どこに跳ぶかを判断したいくらいなのだから、
いろんな方法・想定で常識的な範囲で全て判断できると言えるだろう

781 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 19:00:28.03 ID:s0xSal8K.net]
VBのFormsみたいなフレームワークってないすか?
デザイナでペタペタ配置してロジックは画面オブジェクトにハンドラを書くだけ的なやつです

782 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 19:02:39.48 ID:rJ2mr4JY.net]
>>760
ホームページビルダで出来ない?
使ったことないから知らんが

783 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 20:02:34.86 ID:zhgdBgoI.net]
>>757
>>758
丁寧に回答していただきありがとうございます。
リンククリック時のJavaScriptからレスポンスを解析してURLを取得できるかを試してみます。

784 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 22:07:52.39 ID:8xYufxWO.net]
var fs = require('fs');
var data = "write text test!";
fs.writeFile('writetest.txt', data , function (err) {
console.log(err);
});

785 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 22:09:11.15 ID:8xYufxWO.net]
このくらいのプログラムをNodejsで作ってNodejs上ではもちろん動きましたが

786 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 22:14:12.35 ID:8xYufxWO.net]
webpack上では動きません。
先にNodistを入れたのですがUpdateすると依存関係のエラーが多かったので
Nodejp単体で入れることにしました。
ところが
npm install webpack -g とかするとなぜかNodistのフォルダに入ってしまいます。
そのせいでビルドができてないのでしょうか。
経験のある方お願いします。
スレ違いなら誘導していただけるとありがたいです。

787 名前:デフォルトの名無しさん mailto:sage [2016/06/21(火) 23:28:49.59 ID:8xYufxWO.net]
変換したものは長くてここに表示しきれないですが
require is not defined
と出ますね。
一応webpackは通したのですが。
ブラウザはFirefoxです。

788 名前:デフォルトの名無しさん mailto:sage [2016/06/22(水) 00:14:59.67 ID:azjhZ3WA.net]
javaScriptのSetってSetとWeakSetしかないんですか?
SortedSetが欲しいです

789 名前:デフォルトの名無しさん mailto:sage [2016/06/22(水) 07:19:51.98 ID:cIEa5wGZ.net]
ソートっていろんな種類があるからねぇ。
自分で作ったら?



790 名前:デフォルトの名無しさん mailto:sage [2016/06/22(水) 11:58:39.11 ID:q9pILfZy.net]
Nodist を アンインストールしてその後、 Node.jsを入れたのですが
npm root -g としてモジュールがインストールされるディレクトリを見ると
C:\Program Files (x86)\Nodist\bin\node_modules
なっています。
環境変数も見ましたがNodistの残骸が残っているようにはありません。
どこにNodistの情報が残っているのでしょうか。

791 名前:デフォルトの名無しさん mailto:sage [2016/06/22(水) 14:53:18.59 ID:q9pILfZy.net]
ユーザーディレクトの下にprefixの設定が残っていたようです。

792 名前:デフォルトの名無しさん mailto:sage [2016/06/22(水) 14:58:05.09 ID:q9pILfZy.net]
npm config lsで調べて上記のことが分かったのですが、未だに
require is not defined
のエラーが解決されません。
/***/ },
/* 2 */
/***/ function(module, exports) {

module.exports = require("fs");

/***/ }
/******/ ]);
どうもコメントばかりついていてうまく変換されたように見えません見えません。

793 名前:デフォルトの名無しさん mailto:sage [2016/06/22(水) 21:00:04.72 ID:/0SrxieV.net]
誰としゃべってんのこいつ

794 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 00:00:47.49 ID:wmr/9KTO.net]
>>769-771
恐らく環境変数node_pathがNodistのディレクトリのままだろうから書き換え
あとfsのようなNode.js用モジュールはWebpackでバンドルできないはず
Webpackからファイル読みたい場合はLoader使って事前に含めるしかない

795 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 01:13:09.29 ID:Lewr0A8P.net]
ありがとうございます。
Webpackからは基本できないのですね。
set コマンドでは
NODE_PATH=C:\Users\habu\AppData\Roaming\npm\node_modules
アンインストーラーを使っても環境変数を調べてもどうにもならなかったので
アンインストーラーが削除し忘れた
"C:\Users\xxxx\.npmrc"
を手動で削除したらパスの通ったところにモジュールをインストールするようになりました。

796 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 12:30:54.99 ID:TKILd+kM.net]
IE11,Edge,Firefox,Chrome,safari,Operaの6つのブラウザを同時に起動してるんですが
javascriptを更新したらブラウザに切り替えてページ更新するのが面倒くさいんですが
ファイルが更新されたら自動的に更新する方法ありませんか?

797 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 12:33:06.98 ID:p9xHkbsy.net]
>>775
定期的にリロードするようにしたら良いんじゃないの?

798 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 14:14:01.07 ID:1rhmo8jO.net]
ファイルを監視して更新があったらブラウザのウィンドウをアクティブにしてリロード操作(F5?)のイベントを送るツールでも作ればいいんでない?

799 名前:デフォルトの名無しさん mailto:sage [2016/06/23(木) 15:28:59.42 ID:it3byhHh.net]
>>775
簡単に出来ますよ



800 名前:デフォルトの名無しさん mailto:sage [2016/06/24(金) 11:16:15.69 ID:M5Y9qYOR.net]
>>773
いまいち例が無くてどのローダーを使えばテキストファイル出力ができるのか
分からないです。
ホームページで確認してraw-loaderがUTF-8に出力するみたいなことを書かれていた
GreasemonkeyからinnerTextをテキストファイルに出力したいだけなのですが
かなり敷居が高いようですね。
色々なサイトで実験されている

801 名前:デフォルトの名無しさん mailto:sage [2016/06/24(金) 11:22:06.51 ID:M5Y9qYOR.net]
みたいなのですが、セキュリティがらみなので改善(改悪?)されてできなくなったところが多いです。
raw-loaderの使い方の例がもう少しサンプルで出されているサイトがあればいいのですが。

あと、少し2ちゃん専用のソフトの使い方になれてなくて間違えて文章を途切れ途切れに
送ってしまったことをお詫びします。

802 名前:デフォルトの名無しさん mailto:sage [2016/06/24(金) 12:30:59.24 ID:V/itJnf4.net]
Loaderは読み込んでバンドルするだけで書き込みはできないよ
ブラウザから書き込みしたいなら拡張機能のAPIを探すしかない

803 名前:デフォルトの名無しさん mailto:sage [2016/06/24(金) 14:35:52.18 ID:M5Y9qYOR.net]
>>781
そうなんですか。どこを探しても無理なわけですね。
拡張機能と言うのはブラウザの拡張機能ですか?
煮詰まったので今のところはローカルにapacheでサーバーを立てて
PHPでアクセスすることを考えています。
それでだめなら拡張機能のAPIを探すことを考えています。

804 名前:デフォルトの名無しさん [2016/06/24(金) 23:07:00.20 ID:qTbX1cTa.net]
プログラミングに詳しい方々がいると聞いて質問しにきました。
初心者なので説明力、知識が乏しいですが申し訳ありません。
私は、不特定多数の人が画像をサイト上のみで「読み込み→編集→ダウンロード」を全てできる画像編集サイトを作ろうと思っていて、
色々調べている内にImageMagickと言うプログラムにたどり着きました。
ですが使い方などが全くわからず、困っております。現在xサーバーを利用していてホームページを取得しています。
xサーバーは公式で既にImageMagickがインストールされているということです。(この事についてもいまいち分かりません)
どなたか分かりやすく画像編集サイトの作り方を教えていただけませんでしょうか。
OSはwin7 64bitです。
本当に困っています。

805 名前:デフォルトの名無しさん [2016/06/24(金) 23:12:05.32 ID:Fo67yJqk.net]
>>783
PHPで作った方がいいと思うよ
PHP板行ったら?
echo.2ch.net/test/read.cgi/tech/1466683550/

806 名前:デフォルトの名無しさん [2016/06/24(金) 23:14:07.58 ID:qTbX1cTa.net]
>>784
PHP板にてここで聞いた方がいいと言われ、質問いましました

807 名前:デフォルトの名無しさん [2016/06/24(金) 23:14:44.48 ID:Fo67yJqk.net]
>>785
jsじゃ無理だよ
PHPじゃないと出来ない

808 名前:デフォルトの名無しさん [2016/06/24(金) 23:16:31.66 ID:Fo67yJqk.net]
一番簡単に作れるのは、Ruby
Rubyスレ行ってみたらどうだ?

809 名前:デフォルトの名無しさん mailto:sage [2016/06/24(金) 23:28:09.79 ID:V/itJnf4.net]
>>782
その通りブラウザ拡張機能のAPI
でもローカルにHttpd立てていいなら>>763の弄って使えばいいんじゃない
どうせグリモンで動かすUserScriptからHTTPでやり取りするんだろうし

>>783
まず画像を読み込んで編集して保存するのはJSで出来る
画像を不特定多数でどう扱うのかによってはサーバー側の実装も必要だけど
これもNode.jsを使えばJSで作れる、因みにこっちはPHPでも作れる
ただ作り方となると手順が膨大だから一々説明してられん
「JavaScript ファイル読み込み」など一つずつググって勉強するしかない



810 名前:デフォルトの名無しさん mailto:sage [2016/06/25(土) 11:12:38.28 ID:FcXCwkAU.net]
textareaで入力した位置を知る方法ありませんか?

811 名前:デフォルトの名無しさん mailto:sage [2016/06/25(土) 11:24:52.49 ID:YFtEcFF6.net]
>>789
コピペなんかも含めると、入力される前の文字列をバッファしておいて、今回文字列と一番最初に差異が発生する文字まで素直に比較するほうが早いんじゃないかな。

812 名前:デフォルトの名無しさん mailto:sage [2016/06/25(土) 18:02:11.94 ID:4KOaD2nt.net]
>>789
selection とか range で調べるよろし
>>790
aaa => aaaa どこだと思う?

813 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 00:07:56.02 ID:nF43cUdI.net]
いつもは、ネットと、日経ソフトウェアを毎月買ってるから、
日経ソフトウェアのJavascript特集しか読まないんだけど、
久しぶりに書店でJavascriptの本あさってたら、
JAVAの本と混同してJavascripの本が並べてあった。
何十人かに試したことあるが、プログラム興味ない人がらみたら、
JAVA=Javascripの省略して言うとJAVA
Javascrip=JAVAの正式名称
って認識しかしてないからな。

814 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 05:07:36.84 ID:G2D2TVQW.net]
コードの問題。
例えば旅行本だと国別に区切られてるが、プログラミング言語にはそれがない。

815 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 05:45:31.43 ID:FIFPZYCa.net]
>>792
自分の住んでる地元の一番大きい本屋もまんまこれだった
CとかVBAとか有名な言語は分類札付けて、カテゴリ分かれてるのに
JavaScriptだけJavaの所に全部突っ込まれてる

816 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 08:11:55.58 ID:lQezokMe.net]
JQueryを使ってテキストフォームを扱っていますが、項目数が増えさらにページ遷移が増えました。
JQueryよりもそういうことを扱うことに長けたフレームワークみたいなのがあればそちらに移りたいのですが何かそういったことを補助してくれるようなものはありませんか?

817 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 10:40:37.56 ID:TQCRDnYp.net]
>>795
具体的に何がしたいのかがわかならい
エスパーするとJQueryの使い方がわからないってことかな?

818 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 11:55:24.56 ID:9G4pt3CC.net]
DOM書き換えでのページ管理に限界を感じてるからjQuery捨てたいみたいな感じ?
学習コストかかるだろうけど、流行ってるReactとか

819 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 12:24:25.89 ID:rwwPSVEU.net]
どうも使い方が分かっていない人が多いよね
センスがないとでも言うのだろうかw



820 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 12:39:49.80 ID:AVATszy2.net]
ライブラリ質問はスレ違いといいたいところだが、テンプレが改変されてたんだった
Web制作板の荒れようをみるにプログラム板にもライブラリスレを持ってくるべきなんだろうが、統合する流れでいいのかね
あるいは、べつにスレを立てるべきか

821 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 12:51:24.25 ID:mFfhShD5.net]
vol.120でまともなテンプレで建て直していいんじゃね
あっちのライブラリスレもこの板に移す話はあったんだけどよくわからんな

822 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 14:02:23.24 ID:8VkrGxxn.net]
reactの質問はどこでしたらいいですか?

823 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 15:09:43.72 ID:Tksz8qNK.net]
>>801
Yahoo知恵袋がおすすめ

824 名前:デフォルトの名無しさん [2016/06/26(日) 15:12:21.33 ID:GJBR8D9H.net]
>>802
javaの道(掲示板)がおすすめ

825 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 20:07:37.03 ID:YbtLHjt0.net]
&lt;img src=x onerror='alert(1)'&gt;&lt;/img&gt;

みたいにHTMLエンティティがエスケープされてるテキストノードをtextContentで参照するとエスケープが解除されるので、innerHTMLに代入した瞬間にalertが鳴るよって記事をどっかで見たんだけど、
誰か見覚えあってURLわかる人おらんかのう

826 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 20:28:22.69 ID:nF43cUdI.net]
自分の作ってるwebアプリでエラー原因調べて、質問するって
難しいんだよな
問題を書き出すって骨の折れる作業だし

827 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 22:32:25.10 ID:D+buTpss.net]
>>800
立て直すとスレが乱立するからこのスレに新しいテンプレを貼り付ける程度で十分かと
問題はライブラリスレもここに統合するか、別スレに独立させるか

828 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 22:58:59.69 ID:oKpI3hc9.net]
重複が嫌なら一個飛ばして121にするとか
本来荒らしの立てたスレを再利用するってのはよくないし、まあ今はずるずる来てるけど

829 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 23:29:46.97 ID:S5Kwqidr.net]
むやみに別スレ建てんなよWeb製作版の二の舞いになる
スルーすればいいだけ



830 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 23:30:12.91 ID:yAtATLvz.net]
>>805
ブレークポイントを適度に付けて、デバッグする。
変数の内容も見る。
エラーメッセージで検索する

C/C++以外の言語は、シャローコピーするから、破壊的変更をするときは要注意!

831 名前:デフォルトの名無しさん mailto:sage [2016/06/27(月) 00:44:37.06 ID:Azx2VHQP.net]
JSはDOM絡みのテスト書くのが特にしんどい
書いてもElectronで動いたのがwebkitじゃダメでしたとかままあるし

>>806
復活したWeb板のライブラリスレもぼちぼち伸びてきてるし
また潰されるかあるいは埋まりそうになるまで保留でいいんじゃない

832 名前:デフォルトの名無しさん mailto:sage [2016/06/27(月) 00:51:43.37 ID:Qt/WCn3i.net]
JSにかぎらずUIのテストっていうのは難しいんだよ。

833 名前:デフォルトの名無しさん mailto:sage [2016/06/27(月) 04:38:11.54 ID:Hl6kI6LE.net]
別にJSじゃなくてもDOMのテストは難しいしね
JSにはDOMしかないわけでもないし

834 名前:534 mailto:sage [2016/06/27(月) 12:24:43.46 ID:oBcOOaIt.net]
>>534 なんですが、プログラム板なのにコードが潰れることにもやっとしたので、スレにjs-beautifyとhighlight.jsを掛けるchrome拡張を作ってみました
試作機1号ができたのでさっそく試してみたんですが・・・
2chのコメのなかにコーディングのカラースキームが混在してる違和感が凄いww
i.imgur.com/a1EvCdi.png
i.imgur.com/cGSR5cj.png
i.imgur.com/JVt9adl.png
i.imgur.com/rPbmqg9.png

835 名前:デフォルトの名無しさん mailto:sage [2016/06/27(月) 19:39:44.45 ID:jJ8qgrxg.net]
<a href="〜hoge.pdf">PDF</a>

上記のようにHTMLでPDFのリンクを作成しPDFをダウンロードさせたいのですが、IEのみ同一タブでPDFが表示されてしまいダウンロードできません。
IEの設定を変更することなく、HTMLとjavascriptだけでIEでもダウンロードできるようにしたいのですが、何か良い方法はありませんでしょうか。

ちなみに、以下の4ブラウザ全てでダウンロード可能にしたいです。
・IE11
・chrome
・firefox
・safari(mac)

よろしくお願いします。

836 名前:デフォルトの名無しさん mailto:sage [2016/06/27(月) 20:20:31.97 ID:Hl6kI6LE.net]
ChromeとFirefoxだけで我慢しんさい

837 名前:デフォルトの名無しさん mailto:sage [2016/06/27(月) 20:45:40.58 ID:Qt/WCn3i.net]
>>814
普通はHTTPヘッダで制御する。
つまりウェブサーバーかサーバー側のアプリ

あんたがクライアントアプリしか書けないとか
サーバーいじる能力がないなら諦めなさい

838 名前:デフォルトの名無しさん mailto:sage [2016/06/27(月) 20:59:41.80 ID:zoQ6BtW7.net]
>>815
>>816

やはり無理なんですね……
ありがとうございます!

839 名前:デフォルトの名無しさん mailto:sage [2016/06/27(月) 21:24:55.66 ID:zcQLvEgn.net]
var xhr = new XMLHttpRequest();
xhr.open("GET", "hoge.pdf");
xhr.responseType = "blob";
xhr.addEventListener("load", function(){
var blob = new Blob([xhr.response]);
window.navigator.msSaveBlob(blob, "hoge.pdf");
});
xhr.send();



840 名前:デフォルトの名無しさん mailto:sage [2016/06/28(火) 15:38:36.90 ID:+n63MTqJ.net]
「できる」と「やっていい」は別だよな
最低限のモラルも守れないようじゃねぇ
まあdownload属性のエミュなら良いと思うよ

841 名前:デフォルトの名無しさん mailto:sage [2016/06/28(火) 16:46:50.81 ID:YVMoIJVb.net]
jsdo.it/ksk1015/7lvD
のページのサンプロコード、20行目で見かけたのですが、
この場合のvideoの前後にあるスラッシュはどういう意味があるのでしょうか?
if( !/video/.test(file.type) ){

!video.test(file.type)
ではダメなのでしょうか

842 名前:デフォルトの名無しさん mailto:sage [2016/06/28(火) 17:09:49.76 ID:+pusRZvt.net]
/で囲まれてるのは正規表現
この場合file.typeに"video"って文字列が含まれてるかみてる

843 名前:デフォルトの名無しさん mailto:sage [2016/06/28(火) 18:04:00.99 ID:YVMoIJVb.net]
>>821
なるほど、ありがとうございます

844 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 11:29:03.86 ID:VdhPxYFi.net]
>>819
わりと素で聞きたいんだけど、このケースのどの部分がモラルに反してるの?
他のブラウザがdownload属性でできることを、IEができないから代替策探してるだけだよね

845 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 16:17:09.72 ID:L39nkKa/.net]
function fileListDirectory(files) {
var ファイル数 = files.length;
var ファイル名 = new Array();
var パス = new Array();
for (i=0; i<ファイル数; i++) {
ファイル名[i] = files[i].name;
パス[i] = files[i].webkitRelativePath; // 行A
}
}

これでフォルダの全てのファイルのパスがわかるんだが
これを絶対パスにするにはどうすればいいんだ?

846 名前:デフォルトの名無しさん [2016/06/29(水) 21:48:19.77 ID:ViUTH2Wh.net]
JQueryの$って関数ですか?連想配列ですか?
$(hoge)が出来るというのは関数だと思うんですが、$.foo(bar)が出来るというのは連想配列だと思います
一体何なんですか?あのキモイ未知の変数は

847 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 22:21:45.97 ID:uR/sla0B.net]
関数もオブジェクトだからな

848 名前:デフォルトの名無しさん [2016/06/29(水) 22:29:13.21 ID:ViUTH2Wh.net]
つまり
hoge=function(){
//処理
}

hoge.a=function(){
//処理
}

hoge.b=function(){
//処理
}

って事ですか?

849 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 22:45:16.05 ID:11RiuwSN.net]
>>825
jQueryは関係ありません。
あなたはJavaScript自体がわかっていません。
そしてオブジェクト指向もわかっていません。

「オブジェクト指向言語であるJavaScriptは、関数もオブジェクトです。」

この一言で理解できますかね?w


function foo(a, b, c) {} という関数を作ったら関数もオブジェクトなんだから

console.log(foo.name) とか ※nameは非標準だけれどだいたい使える
console.log(foo.length) とか ※関数の引数の数
foo.toString() とか ※ソースコードを返す。

標準でできるんですよ。



850 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 22:48:52.04 ID:11RiuwSN.net]
真のオブジェクト指向言語は何でもオブジェクトであるって
考え方ができるかどうかですねw

JavaScriptではオブジェクトではないものもあるけれど、
どちらかと言えばオブジェクトであるものが多い方
真のオブジェクト指向に近づくほど
なんでもオブジェクトになる。

851 名前:デフォルトの名無しさん [2016/06/29(水) 22:52:05.42 ID:0EN53mtK.net]
>>828
そんな事出来るのかよ
凄い

852 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 00:37:24.48 ID:s9p3Net1.net]
だからnullもオブジェクトにしたまま放置なんですね(白目)

853 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 01:51:26.57 ID:RtLNL8Qe.net]
Functionオブジェクトも、大本のObjectオブジェクトから派生している。
Objectは、処理(メソッド)・状態(プロパティ)を持つ

関数型言語ではオブジェクトは、1級市民オブジェクト(First Class Object)と言って、
持ち運べたり、関数の引数に渡したり、関数から戻り値として返したりできる

つまり、Functionはオブジェクトだから、持ち運んで、後で呼べる(遅延・コールバック)

クラス・無名クラス・クロージャ・ラムダも同じで、オブジェクト。
primitive 以外は、すべてオブジェクト

854 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 11:12:43.81 ID:bL1n9aIG.net]
一級市民オブジェクトw

855 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 12:54:42.82 ID:EibH/T4h.net]
JapScript

856 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 12:55:18.07 ID:s9p3Net1.net]
一級市民オブジェクトとか和訳した人センスあるわw 嫌いじゃない


857 名前:燔a訳で覚えるとググるとき大変じゃね []
[ここ壊れてます]

858 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 13:18:07.02 ID:bL1n9aIG.net]
>>835
ググった結果、驚愕の真実が・・・

ファーストクラスオブジェクト: 約 1,520 件
第一級オブジェクト: 約 1,400 件
一級市民オブジェクト: 約 49 件

少なすぎじゃね?
Googleぶっこわれてんのか?

859 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 13:41:53.09 ID:9tXhK5Ll.net]
First Classで市民が出てくる当たり英語というか教養がないな



860 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 14:17:10.15 ID:bL1n9aIG.net]
>>837
逆かもよ

https://ja.wikipedia.org/wiki/%E7%AC%AC%E4%B8%80%E7%B4%9A%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88
> 第一級オブジェクト
>
> 第一級オブジェクト(ファーストクラスオブジェクト、first-class object)は、(略)
> (略)
> この言葉は1960年代にChristopher Stracheyによって「functions as first-class citizens」という文脈で初めて使われた。

861 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 14:32:43.41 ID:WQ4EC21M.net]
上級市民オブジェクトにしろ

862 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 19:06:07.78 ID:nv8TDX79.net]
> 関数型言語ではオブジェクトは、1級市民オブジェクト(First Class Object)と言って、
この訳がおかしい、といわれてるだけ
一級市民を名乗るなら "citizens" を入れればいい
- 一級市民のような関数(functions as first-class citizens)
- 第一級オブジェクト(First Class Object)

863 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 22:26:27.40 ID:s/7LoWQJ.net]
そもそも、「functions as first-class citizens」の訳は「第一級市民関数」ではないよな
「第一級市民関数」と呼ぶなら "functions of first-class citizens" と書いてもらわんと
ただし、as から of になると「一級市民に属する関数」の意味になって本質と全く異なる表現になる
何をもって「一級市民」が出てきたのかをよく考えるといい

864 名前:デフォルトの名無しさん mailto:sage [2016/07/01(金) 10:57:22.28 ID:2ngPRN1W.net]
ofはないわー

865 名前:デフォルトの名無しさん mailto:sage [2016/07/01(金) 13:26:49.33 ID:swuu46hd.net]
>>842
どう書くのが正しい?

866 名前:デフォルトの名無しさん mailto:sage [2016/07/01(金) 14:26:32.24 ID:GE+MZRxs.net]
普通に、asは、としての、でしょ。

867 名前:デフォルトの名無しさん mailto:sage [2016/07/02(土) 18:28:16.22 ID:m2NwGvL3.net]
は?「としての」?
「としての」なんて日常生活で殆ど使わないし
意味もぱっとしないだろ
「としての」「としての」「としての」
用意にゲシュタルト崩壊するだろ?

868 名前:デフォルトの名無しさん mailto:sage [2016/07/02(土) 18:47:47.96 ID:hHp4sSVy.net]
「一級市民としての関数」?

869 名前:デフォルトの名無しさん mailto:sage [2016/07/02(土) 20:14:00.55 ID:AmR+G6iW.net]
普通に使うだろ。
プロジェクトの担当としての回答はこうですが、理想論としては確かに認めます、とか。
低い次元の日常生活してるな。

そもそも、イギリスでのfirst-class citizenとsecond-class citizenの違い知ってりゃ理解出来るだろうけど、そういう教養も無いんだろうし。
言っとくと、British citizen otherwise than by descentと、British citizen by descentだからな。
「誰かから受け継いだものではない『英国市民』」と「誰かから受け継いだ(にすぎない)『英国市民』」の違い。
だから、何かから作られたものではない関数含めるオブジェクトを一級市民になぞらえ、そうではないものを二級市民になぞらえてる。

どっかのスレで論破されて発狂してた奴そっくりだな。



870 名前:デフォルトの名無しさん mailto:sage [2016/07/02(土) 20:18:56.43 ID:AmR+G6iW.net]
あ、これ書いたらわかりやすいかな。
・イギリスで産まれれば一級市民
・親がイギリス人(一級市民)でも、イギリス

871 名前:相Oで産まれれば二級市民、
・親がイギリス人でも、二級市民であれば、イギリス国外で産んだ場合国籍を与えることは出来ない
[]
[ここ壊れてます]

872 名前:デフォルトの名無しさん mailto:sage [2016/07/02(土) 20:31:38.20 ID:/wal4gbU.net]
一級市民とはニートじゃなくて
ちゃんと税金を払ってる人のことですよ

873 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 04:16:19.31 ID:+KSQOYrq.net]
>>847
それは普通では無いな。
意地を張らずに自分の非を認めろよ。
低い次元の日常生活してる奴には無理かもな。

874 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 10:44:20.95 ID:xMv6BMC9.net]
マスタースレーブとかひどい言い方だよな。
お前らは所詮使い捨ての奴隷よ。

875 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 12:12:49.74 ID:btJwgGWt.net]
>>850
普通でしょw
とりあえず言いかえせば良いと思ってるんだろうけど。

876 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 13:30:07.63 ID:oNgHKg4C.net]
今まで、スラッシュ/ってコントロール文字だから、
var moji="\/";
って具合にエスケープするって認識でいたのですが、
good parts P11に
「/とコントロール文字を除くすべてのユニコード文字」
って書いてあるのですが、
スラッシュ/ってコントロール文字ではないのですか?

877 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 14:14:39.57 ID:A4NkGxi2.net]
コントロール文字がなんなのかも知らないのかw

878 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 14:16:55.67 ID:A4NkGxi2.net]
表示したら音がなる文字があるっていったら
へぇーって言うんだろうなw

879 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 14:43:21.41 ID:JMRewaFc.net]
さすがに若い奴がBEL(0x7) 知らんかったとしても仕方なかろうと思うがなぁ



880 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 16:11:02.52 ID:YeoQWaDz.net]
ゆとりはどうしてググらないのか

881 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 16:11:29.21 ID:qk7lGSjH.net]
>>857
ジジイの方がググらねーけどな

882 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 16:18:36.85 ID:YeoQWaDz.net]
はえーよゆとり、びびるわ
もしかしてBotでも仕掛けてある?

883 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 16:41:53.92 ID:5c1HtZx3.net]
反応が気になって常にリロードしてんのかな
SNSのやりすぎ

884 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 16:53:17.69 ID:YeoQWaDz.net]
しかしググれば分かることを質問されてもな。
もしそれで俺の時まで回答を待っていたのなら、完全に病気だな。

885 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 19:28:43.02 ID:+KSQOYrq.net]
>>852
普通じゃないでしょw
とりあえず言いはれば良いと思ってるんだろうけど。

886 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 21:31:43.21 ID:EZH9raf4.net]
立場を明示せず発言するのは危険だぞ?

887 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 21:51:09.80 ID:A4NkGxi2.net]
>>863
じゃあお前から立場を明示してくれ

888 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 22:03:40.88 ID:EZH9raf4.net]
>>864
俺個人としては痛い子がこれ以上恥を上塗りするのがかわいそうだと思ったから発言した
一人の社会人としては、個人の発言を会社の見解と取られるリスクは避けたいので個人的な発言には必ず私個人としてはと前置きするのが普通だと思う
これでいいか?

889 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 22:10:11.68 ID:A4NkGxi2.net]
>>865
お前なんか可哀想だな。

休日の書き込みなのに、
会社の顔色をうかがってるんだね。

会社第一の人生って感じがするよ。
会社が悪く思われるからこんなことはできん!ってな。



890 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 22:21:47.90 ID:EZH9raf4.net]
>>866
そうか、まあどちらが可哀想かは見解の相違だな
ところで何故そんなにイラついてるんだ?
腹でも減ってるのか?ちゃんと食わんと体に悪いぞ?

891 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 22:23:43.44 ID:A4NkGxi2.net]
>>867
いらついてるのお前じゃね?w
なんで俺がいらついていることにしたいか知らんけどw

892 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 22:26:30.67 ID:EZH9raf4.net]
>>868
そうか、まあイラついてないならいいんだ
話題をすり替えてまで攻撃的な言葉を向けて来たから
何かイラついてるのかと思ったんだ、まあ気にするな

893 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 22:28:43.96 ID:A4NkGxi2.net]
話題をすり替えてっているなら、お前が話題をすり替えてるじゃんw

894 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 22:30:05.90 ID:A4NkGxi2.net]
あと気づいてないようだが、俺は上のだれとも違うよw
お前は一体誰と戦ってるんだ?w
俺は遊べそうと思ったから遊んでるだけだw

895 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 22:37:55.93 ID:EZH9raf4.net]
コントロール文字知らない子を馬鹿にしてた痛い奴だろ?
まあ俺は相手は誰でもいいんよ、反応のいい馬鹿をからかうのが楽しいだけだから
では寝る、スレ汚し失礼した

896 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 22:51:46.92 ID:YeoQWaDz.net]
コントロール文字を知らないゆとりも、ググれないゆとりも、馬鹿にされて然るべき。
おかしな擁護をするからゆとりはゆとりのまま。それはゆとりのためにもよくない。

897 名前:デフォルトの名無しさん mailto:sage [2016/07/04(月) 04:44:18.07 ID:gPjkHcng.net]
コントロール文字を知らない若人は雇うかもしれないが
人を馬鹿にする奴は雇わない

898 名前:デフォルトの名無しさん mailto:sage [2016/07/04(月) 07:56:58.66 ID:Nc/f1szG.net]
>>874
確かに!

899 名前:デフォルトの名無しさん mailto:sage [2016/07/04(月) 21:07:56.31 ID:xBEl8jJ1.net]
と思う意識高い系ゆとりであった
いよいよここもゆとり汚染が酷いな

そうやって自分の周りを自分より馬鹿で固めて安心しているうちはゆとりのままだね
じきに会社が潰れるからそれでいいと思うけど
資本主義はゆとりを特別扱いしてはくれない

君らがコントロール文字すら知らない中年になるのは数年後さ
若いという言い訳が通用しなくなった時にどうなるか見物だね



900 名前:デフォルトの名無しさん mailto:sage [2016/07/04(月) 22:32:04.97 ID:vRFMByUM.net]
>>876
コントロール文字を知らない中年と
他人を馬鹿にする事しかしない中年
確実に後者の方が害悪だな

901 名前:デフォルトの名無しさん mailto:sage [2016/07/04(月) 22:52:08.82 ID:xBEl8jJ1.net]
それが正しいかどうかは社会が決めてくれる。
君らが正しければ再就職先はあるだろうし、間違っていれば無いだけの話だ。
ここで言い争う意味はない。楽しみに待てばいい。

902 名前:デフォルトの名無しさん mailto:sage [2016/07/04(月) 22:55:17.69 ID:0oVcG5wM.net]
今まで、スラッシュ/ってコントロール文字だから、
var moji="\/";
って具合にエスケープするって認識でいたのですが?

903 名前:デフォルトの名無しさん mailto:sage [2016/07/04(月) 23:07:56.13 ID:xBEl8jJ1.net]
ID:EZH9raf4
>>874
>>875
>>877
俺らの対応に文句を言っているお前らが答えろよ。
当然知っているからその態度なんだろ?
それで放置するのなら俺らに文句を言う筋はないよ。

もっともゆとりにはこの「筋」ってのが通じなくて困るんだが。

904 名前:デフォルトの名無しさん mailto:sage [2016/07/04(月) 23:15:25.46 ID:2qwL8Tkv.net]
コントロール文字がわからなくてぐぐってみたんだが、制御文字(control character)の事か!
なぜ、controlだけカタカナにするんだろう?
コントロールキャラクタの方がまだ分かる

905 名前:デフォルトの名無しさん mailto:sage [2016/07/04(月) 23:27:23.31 ID:vyHh0WrX.net]
ルー大柴に尋ねてくれ

906 名前:デフォルトの名無しさん mailto:sage [2016/07/04(月) 23:50:51.04 ID:SuUmocnF.net]
www.kogures.com/hitoshi/javascript/file-api/directory.html
これ使ってフォルダ読み込んでいるんだけど
指定する場所が毎回同じだから最初からそこを指定するにはどうすればいいんだろう?
わかる人いたら教えて下さい。

907 名前:デフォルトの名無しさん [2016/07/05(火) 00:16:53.06 ID:50xvo8fd.net]
>>853
元々ハードを制御する為に使われていたASCIIコードの先頭32文字を指していた言葉、改行や前述されたBELなど通常の文字として画面表示されないもの
Unicodeではこの32文字に加えて第14面の追加特殊用途面などに更に多くの制御文字がマッピングされている
なおスラッシュは/という文字なのでコントロール文字ではないし、エスケープが必要かと制御文字どうかには直接的な関連性はない

>>881
本当はコントロールキャラクターと表記したいが多くの日本人はキャラクターという言葉から文字を連想しないから文字と置き換えたのではないかね?

908 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 00:24:24.40 ID:aq1IVl4D.net]
まあ確かに、コントがロール(役割)なキャラクターって思っちゃうわな。

909 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 01:58:08.99 ID:94G9IfNv.net]
>>883
<p>〜</p> はいらないので、コメントにするか、削除する

コメントにする場合、<!-- と --> で囲む。
ただし、コメントの中に、コメントは含められないため、<!-- 行C --> を削除する

<!--
<p>

</p>
-->

<script>
fileListDilectory("フォルダ名")

function fileListDilectory(files) {

<script>タグと、function〜の間に、fileListDilectory("フォルダ名")を追加する。
フォルダ名は、半角ダブルクォーテーションで囲む



910 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 02:14:24.57 ID:iQZ7PuWs.net]
>>884
どちらかといえば、「制御文字」が広く知られていると思うのだが

911 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 03:12:34.89 ID:gnmCE5Y/.net]
結構勘違いされてるけどHTMLのコメントアウトって<!--で開始で-->で終了じゃなくて
<!と>の中にある--で開始で--で終了だから

<!ここはコメントじゃない--ここはコメント--ここはコメントじゃない>

912 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 03:15:48.89 ID:gnmCE5Y/.net]
<!------>
↑これコメント閉じてない

913 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 03:31:12.38 ID:94G9IfNv.net]
Effective JavaScript という本の項目45で、

オブジェクトを辞書として使う際、キーに、hasOwnProperty, __proto__ などを使うと、
既存のプロパティが上書きされて、バグるというのは本当なの?

var dict = { hasOwnProperty : null, __proto__ : null }

>>889
<!-- と --> の間では、-- は使えない

914 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 04:05:49.05 ID:gnmCE5Y/.net]
>>890
だから>>888なんだってば

915 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 04:07:46.52 ID:Dhx8/uPE.net]
最近仕様が変更されてコメント内の二重ハイフンも OK になった

https://github.com/whatwg/html/commit/518d16fdc672d1023dcfd2847d86f559d13a842f

916 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 14:28:39.06 ID:eormrIAE.net]
>>888
そんなことはない
https://html.spec.whatwg.org/multipage/syntax.html#comments
その理屈が認められるならDOCTYPE宣言にもコメントを埋め込み可能になる
<!DOCTYPE html--コメント-->

917 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 14:49:36.44 ID:eormrIAE.net]
>>890
あなたが Object.prototype 上のプロパティを使いたいなら(自分自身で生み出した)バグといえるし、そうでなければバグではない
そもそも、__proto__ に null を代入しているのだからプロトタイプチェーンを辿れないのは当然の事だ
自分が何をしているのかを理解していればそれがバグとなる由もない

var dict = { hasOwnProperty : null, __proto__ : null };
Object.prototype.hasOwnProperty.call(dict, 'hasOwnProperty'); // true
dict.hasOwnProperty('hasOwnProperty'); // TypeError: dict.hasOwnProperty is not a function
dict.valueOf(); // TypeError: dict.valueOf is not a function

918 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 16:01:54.40 ID:50xvo8fd.net]
>>891
w3cのhtml5勧告によると、<!--の4文字シーケンスで始まり-->の3文字シーケンスで終わるときっぱり書いてある
以下出典と該当する部分の引用

www.w3.org/TR/2014/REC-html5-20141028/syntax.html#comments

8.1.6 Comments

Comments must start with the four character sequence U+003C LESS-THAN SIGN, U+0021 EXCLAMATION MARK, U+002D HYPHEN-MINUS, U+002D HYPHEN-MINUS (<!--).
(ここに中身について云々あるが中略)
Finally, the comment must be ended by the three character sequence U+002D HYPHEN-MINUS, U+002D HYPHEN-MINUS, U+003E GREATER-THAN SIGN (-->).

919 名前:890 [2016/07/05(火) 23:08:07.75 ID:94G9IfNv.net]
>>894
入力されたデータを、オブジェクトのハッシュとして扱った際、バグらないのかな?

または、これを利用して、システムを壊したりするとか



920 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 23:17:50.58 ID:eormrIAE.net]
>>896
それはそういう設計にしているプログラマが悪い
プロパティに何でも代入可能なハッシュ値ならプロトタイプ上のプロパティが上書きされる事も考慮すべきだ
Object.keys, Object.prototype.hasOwnProperty.call で回避できるからな
あるいは new Map でも使えばいい

921 名前:853 mailto:sage [2016/07/05(火) 23:21:29.77 ID:fKNXFIY8.net]
オレ、27歳だけど、コントロール文字にスラッシュ入るって
言ってたら、まずいですか?

922 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 23:49:25.07 ID:Coapt2bz.net]
『JavaScript: The Good Parts』(P11)の文字列リテラルの説明は意味が分からん

" (</ とコントロール文字を除くすべてのユニコード文字> | <エスケープ文字>)* "

なぜ "/" (スラッシュ) を除く?
ES6 を読んだが、"/" が許可されないようには読めん
www.ecma-international.org/ecma-262/6.0/#sec-literals-string-literals

『JavaScript: The Good Parts』の説明では """ が許可されるように読めるが、実際そんなことはなく、SyntaxError になる
<" とコントロール文字を除くすべてのユニコード文字> であるべきだと思うのだが

923 名前:853 [2016/07/06(水) 00:00:08.69 ID:zGLlF+Oq.net]
実は、アマゾンで売ってるkindleの電子版のgood partsでは

String

""で囲まれた文字列は、
any unicode character except
" and \ and control character

''で囲まれた文字列は、
any unicode character except
" and \ and control character

となっており、日本語版のgood partsとは書いてあることが違う
英語版にはexcept / とは書いてない。

オライリーの公式には、ここの訂正がない。

ってなってるんだけど、もちろん、このスレの住民は
英語版のgood partsくらい普通に読んでるんで、
気づいているはず

924 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 00:02:33.66 ID:Np1SAbRe.net]
>>899
運が良かったな。誤字って予想ぐらいすぐにおもいつけよ

bdcampbell.net/javascript/book/javascript_the_good_parts.pdf

925 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 00:14:41.00 ID:1PwyVn8f.net]
正規表現の文字列表記から見ると、”/”は制御文字扱いになるのかな?

926 名前:899 mailto:sage [2016/07/06(水) 00:14:59.53 ID:YMmDVDK6.net]
>>900
気が付いていたなら初めから>>853で正しい情報を書け、といいたい
間違いと分かっている和訳版の情報を寄せるのはミスリードを誘っているようにしか見えん

>>901
公式サイトに添削がないからおかしいとは思った
仕様書にない時点で間違いだと99%確信はしてたが、誰も指摘しなかったんだな
ただ、はっきりいって誤字のレベルを超えていると思う
"'と/ではキーの位置が大きく違うが、どうやったら誤字になるんだ?

927 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 00:18:21.76 ID:Np1SAbRe.net]
マヌケかw
/と\ の間違いだろw

928 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 00:18:26.98 ID:YMmDVDK6.net]
>>898
/が制御文字と主張するなら「何を制御しているのか」をよく考えろ
通常、制御文字とは NUL, BS, LF, CR のように入力された機器に特別な制御命令を与える文字を指す
/は入力された機器に何も制御命令を出さないので普通は制御文字とは呼ばない
プログラミング言語や正規表現で現れる特殊文字は「メタキャラクタ(meta character)」と呼ぶ
扱う言語によってメタキャラクタは変化するので「JavaScriptの正規表現では/はメタキャラクタ」というように言語指定してやれば正しく伝わるだろう

929 名前:853 mailto:sage [2016/07/06(水) 01:02:18.07 ID:zGLlF+Oq.net]
""と''の中の文字列はany Unicode character になっており
/を除くと書いてない。
(コントロール文字に/を含めにないとき)

The escape sequencesに\/があるってことは
/がコントロール文字でないと辻褄が合わないではないか!?
っと考えました。

/はコントロール文字ではないが、正規表現で使う特殊文字だから、
コントロール文字の中に含めているって解釈でいい(?)

>>905
メタキャラって/もですが、+ / *とかもメタキャラですよね
しかし+ / *はThe escape sequencesでない。



930 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 01:11:51.83 ID:Np1SAbRe.net]
まだやってんのか?
コントロール文字って定義があるんだから
それ以外はコントロール文字じゃねーだろ。
それだけの話んだが。

931 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 01:31:13.03 ID:YMmDVDK6.net]
>>906
escape sequencesは制御文字の反意語ではない
そもそも、文字列リテラル上で制御文字は特別な文字ではなく、エスケープを必要としない
文字列リテラルでエスケープが必要なのは "'\ と LineTerminator だけだ
www.ecma-international.org/ecma-262/6.0/#sec-literals-string-literals

932 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 01:35:42.48 ID:YMmDVDK6.net]
ああ、あと英語が読めるなら『ECMAScript 2015』を読んでおくといい
『JavaScript: The Good Parts』よりも参考になる

933 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 01:51:00.52 ID:YMmDVDK6.net]
改めて読み直したが、

> /はコントロール文字ではないが、正規表現で使う特殊文字だから、
> コントロール文字の中に含めているって解釈でいい(?)
1行目と2行目の「コントロール文字」の定義が違うのはなぜだ?
「文字列リテラルのメタキャラクタ」と「正規表現のメタキャラクタ」は区別しろ

制御文字とメタキャラクタは別個の定義だ
よくわからんなら制御文字は気にしなくていいが、/や\はメタキャラクタであっても制御文字ではない(文字列リテラルでは/はメタキャラクタではない)
しっかりと理解してないなら全て「特殊文字」に統一しておいた方がマシ
www.ecma-international.org/ecma-262/6.0/#sec-unicode-format-control-characters

934 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 02:04:58.41 ID:3UYEMUlZ.net]
何でこのゆとりはこんなに必死なの?
間違いを認めればいいだけだろ。
もしそれをこれまで吹聴していたのなら、お前は既に馬鹿老害扱いされている。
それでも今後とも間違いを吹聴し続けるよりはマシ。

935 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 07:18:52.57 ID:sTXK0Kzp.net]
別に間違いを認めさせる必要もない。
それは優しすぎる傲慢。
その権利は俺達にないし、彼の問題に一々付き合ってやる義理もない。

936 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 07:43:14.67 ID:zGLlF+Oq.net]
>>910
はい。

/はコントロール文字でない。
「文字列リテラルのメタキャラクタ」と「正規表現のメタキャラクタ」が分からないので
/と\はコントロール文字でないが、escape sequencesに/と\があるのは
特殊文字だからって覚えておきます。

937 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 08:07:50.32 ID:Uvvu3JgG.net]
/ って正規表現で使うっけ?

938 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 08:27:04.26 ID:sTXK0Kzp.net]
言葉の定義なんて前提と捉え方で用意に変わり得る。
例えば制御文字を表すためのエスケープ表現を『制御文字』と慣用的に読んだって間違いじゃないし、
『\』をそのエスケープ表現の開始記号として『制御文字』と言ったって必ずしも伝わらなかったり悪いわけじゃない。
慣用的に使われる言葉と、仕様のキーワードは別。

939 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 09:51:11.02 ID:aYInvTWe.net]
>>914
/もちろん/



940 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 10:42:32.00 ID:cNn6jv5y.net]
>>916
それリテラルのデリミタ。正規表現の一部じゃ無い

941 名前:デフォルトの名無しさん [2016/07/06(水) 11:35:43.96 ID:YMmDVDK6.net]
>>917
補足感謝
「/がメタキャラクタ」は適切な表現ではなかったな

942 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 11:48:57.84 ID:sTXK0Kzp.net]
仕様上の正規表現内のメタキャラクタではないね。
実際書く上では実質「正規表現」の「メタ」なキャラクタと考えられなくはないけど。

943 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 21:22:48.04 ID:3UYEMUlZ.net]
>>915
ゆとり「通じればいいんだ。間違いではない」
他人(なんだこのゆとり…間違いは間違いだろ)

間違いだし、伝わりにくいし、悪いよ。いちいち言わないだけで。

944 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 21:26:31.47 ID:zGLlF+Oq.net]
オレ、仕事は製造業で電子部品作ってる工場で働いているからさ


945 名前:味でJavascriptの勉強してるだけだし別にいいだろ
って開き直ってやる
[]
[ここ壊れてます]

946 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 21:32:48.07 ID:3UYEMUlZ.net]
だとすれば話は簡単で、明日から正しい言葉を使うことを心がければいいだけ
過ちては改むるに憚ることなかれ
リアルで誤用しまくりなら信用の回復は無理ぽだけど、そういうことではなさそうだし

947 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 22:48:29.74 ID:Np1SAbRe.net]
本当にゆとりだな。
ASCIIコードを勉強するときに
必ずコントロール文字は出てくるだろ。

JavaScript以前の問題だ。

948 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 23:09:55.62 ID:3UYEMUlZ.net]
ユニコードしか知らないんだろ
10代ならあり得るが、20代しかも後半なのはちょっと不自然だけど
逆に俺はJavaScriptのソースコードがユニコードなのが衝撃的だったが

949 名前:デフォルトの名無しさん mailto:sage [2016/07/07(木) 07:09:03.14 ID:kX0s01tc.net]
>>924
何が衝撃的だったの?



950 名前:デフォルトの名無しさん mailto:sage [2016/07/07(木) 19:41:06.60 ID:xu7eLIup.net]
javascriptスレだったと思うんだけど
変数名をhanteiにしたら、クレームが来て、
取引先の会社「変数名hentai(ヘンタイ)ってどいうことですか?」
当社「違いますhanteiの間違えです。」
って事件があったとさ
これってなんかのコピペなんですか?
実際に、仕事でhanteiなんて変数名に使うものなのでしょうか?

951 名前:デフォルトの名無しさん mailto:sage [2016/07/07(木) 21:22:02.81 ID:emRikmn6.net]
コピペかコピペじゃないかを気にするより他の事に時間を割いた方が有意義だよ

952 名前:デフォルトの名無しさん mailto:sage [2016/07/07(木) 21:34:20.25 ID:+CDrHRBK.net]
>>926
コピペかどうかはさておき、hanteiは使っててもおかしくないと思う
良いか悪いかは別の話ね

953 名前:デフォルトの名無しさん mailto:sage [2016/07/07(木) 22:43:23.54 ID:iLaVioOv.net]
const {app} = hoge;
const app = hoge;

ES6の定数宣言で、この二つの書き方は何が違うんでしょうか?
どちらを使うべきか指針とかあったりしますか?

954 名前:デフォルトの名無しさん mailto:sage [2016/07/07(木) 23:01:35.80 ID:H48+30O4.net]
> どちらを使うべきか指針とかあったりしますか?
普遍的なルールとして、短い方を選ぶ方が良い。

955 名前:デフォルトの名無しさん mailto:sage [2016/07/07(木) 23:39:05.17 ID:emRikmn6.net]
>>929
明らかに挙動の違うものを「どちらを使うべきか指針」といわれても…
js-next.hatenablog.com/entry/2015/05/18/181956

>>930
if (x) x.y = 1; と if (x) { x.y = 1; } とか、長い方がいい場合もあると思うけど

956 名前:デフォルトの名無しさん mailto:sage [2016/07/07(木) 23:40:07.51 ID:j5TOflcB.net]
動作が違うでしょ。
const {app} = hoge;

const app = hoge.app;
と等価

957 名前:デフォルトの名無しさん mailto:sage [2016/07/07(木) 23:44:51.74 ID:iLaVioOv.net]
右辺のプロパティ名と同じ変数が作れるんですね
理解しました、ありがとうございました

958 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 00:17:25.93 ID:gFg8sSWK.net]
ライブラリ板の荒れ具合が酷いのでやはり、プログラム板に統合した方がいいと思う
あと、テンプレも復活させる必要がある

959 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 00:27:47.76 ID:+TjkY6Hg.net]
Web板のHTML、CSS、ライブラリ含むWeb総合質問スレと、
プログラム板のJS総合スレの2つに分けるのがいい。



960 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 00:54:45.54 ID:yD4trqxh.net]
次スレでーす

+ JavaScript の質問用スレッド vol.121 + [無断転載禁止]©2ch.net
echo.2ch.net/test/read.cgi/tech/1467906869/

961 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 07:41:13.87 ID:lv/3l3yT.net]
テンプレは fiddle.jshell.net/fH4cC/174/show/ を元にライブラリ許容型に変更すればいいね

962 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 07:46:45.99 ID:lv/3l3yT.net]
以下、ライブラリスレより。
これを組み合わせればいいと思う。

■関連スレ
JavaScript ライブラリ総合質問所 vol.5 [無断転載禁止]©2ch.net
echo.2ch.net/test/read.cgi/h

963 名前:p/1465399470/

■各種ライブラリ
jQuery API Documentation
http://api.jquery.com/
jQuery Mobile API Documentation
http://api.jquerymobile.com/
API Docs - YUI Library
http://yuilibrary.com/yui/docs/api/
Underscore.js
http://underscorejs.org/
lodash documentation
https://lodash.com/docs
[]
[ここ壊れてます]

964 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 08:49:21.45 ID:+TjkY6Hg.net]
DOM系のライブラリはどうしてもHTMLやらCSSやらの話にも成りがちだから、
Web板の方で統合した方がいいと思う。

965 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 08:50:41.84 ID:vGS1irmk.net]
>>937
(9)を削除して「諸注意」を書き変えればいいかね
完全に消すと初見さんが荒らしへの対処に困りそうだし

966 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 11:24:47.84 ID:KhEBU29m.net]
俺は>>934に一票
Web板は既にそれぞれの質問スレがあるから上から統合立てるのはどうかと
統合するならどれか立たなくなってから徐々にまとめていく形がいいと思う
その場合ここのテンプレは前スレのリンク切れ直すくらい

いずれにせよ荒らしの立てたスレ使うのは本当によくないから>>936はスルーで

967 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 13:47:44.11 ID:U0/kuRoy.net]
この状況でWeb制作板に統合するのは荒らしを助長させるだけでデメリットしかないと思う
プログラム板に統合する案に賛成

968 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 18:33:42.72 ID:+TjkY6Hg.net]
プログラム板に統合するのなら、HTMLやCSS中心の話題も許容するくらいじゃなきゃまた大揉めすると思うぞ。
俺はそれならそれでいいが、多くの人が納得するかは知らない。
いずれにしろ統合するならそういう文言を必ずテンプレに入れてくれ。

969 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 21:17:40.39 ID:GrB7vStf.net]
> プログラム板に統合するのなら、HTMLやCSS中心の話題も許容するくらいじゃなきゃまた大揉めすると思うぞ。

俺もその意見に賛成。>>939も言ってるけどDOMの話をするのなら
HTMLとCSSは必ず出てくる。UIを作るときにはかならず使うものだからね。

時々JavaScriptだけで見た目を制御しようとして
ごちゃごちゃしたコードを書く人がいるけど
HTMLとCSSを正しく使えばJavaScriptコードは減る。

「CSSだけで作る」で検索すればいろいろと動きのある
メニューとかが出てくるはず。



970 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 22:04:36.09 ID:+TjkY6Hg.net]
こういうのですね。わかります。
design.kayac.com/topics/2011/06/css-programing.php

971 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 23:30:39.02 ID:CZkAeEnB.net]
HTML/CSSのスレってこれ?
echo.2ch.net/test/read.cgi/hp/1467511443/

本来はあっちでDOM操作関連のチョロJavaScript(〜30行程度)までは取り扱うべきなんだよ。
それを越えてきたらこちらということで。
あいつらは今後ともstaticなHTML/CSSだけのつもりなのか?

972 名前:デフォルトの名無しさん [2016/07/08(金) 23:36:09.26 ID:/soOgtk1.net]
WEB製作とWEBプログラミング板をID表示に出来ない?

973 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 23:45:11.18 ID:BGnGAFet.net]
>>946
それなら同じ理屈で、こっちでも30行程度の
HTMLやCSSを扱うべきじゃね?

974 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 23:48:54.41 ID:3Ch7jsxi.net]
スレ違いの質問は該当スレに誘導すればいいだけ
そういう輩は「技術的に詳しそうなのでスレ違いを承知で質問します」という体だから裾野だけ増やしても仕方ない
一つ例外を認めればあれもこれも認めろという声が上がるのは明白

975 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 23:50:58.91 ID:BGnGAFet.net]
>>949
そもそもHTMLやCSSはスレ違いではないという話だよ。

976 名前:デフォルトの名無しさん [2016/07/08(金) 23:53:38.62 ID:/soOgtk1.net]
HTML/CSS/JSを全て扱う「クライアントサイドWEB製作総合スレ」建てれば?

977 名前:デフォルトの名無しさん mailto:sage [2016/07/08(金) 23:56:27.86 ID:3Ch7jsxi.net]
JavaScriptスレならHTML/CSSはスレ違い
Web制作初心者スレならHTML/CSSはスレ違いではない
HTML/CSSにも関わりのあるJavaScriptの質問をするなら許されることもあろうが、JavaScriptと関係しないHTML/CSSの質問は完全にスレ違い
ex: article要素とsection要素の違いは何ですか?

978 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 00:00:07.52 ID:My2a4Ewi.net]
だからそういう無関係質問用に専門スレは残しておくとしても、HTML/CSS/JSが全て関わっているとどこで聞くか迷わない?

979 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 00:03:20.01 ID:ej5NI84G.net]
主従関係を考えればいいだけ
JavaScriptが主、HTML/CSSが従の質問をすればいい
ECMAScriptの範疇でしか質問を受け入れないわけではない



980 名前:946 mailto:sage [2016/07/09(土) 00:11:15.70 ID:iLP51t8A.net]
>>948
いやそれはない。俺はあのスレの内容には全く興味がない。
DOMはJSにとっては入出力だから外すことは出来ないが、
本格的にプログラミングすると当然DOM以外の部分が大半になる。

むしろ、DOM関連のJavaScriptだけ分離するべきか?
まあそれが元々はjQueryスレだったんだろうけど。
とはいえ>>949,954は妥当だな。とりあえず現状維持でいいよ。

迷ったら一番妥当だと思うところで聞けばいいだけ。
その判断が間違いならスレチ誘導すればいいだけ。
維持出来ないほど過疎れば自然と統合されるだけ。

981 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 00:14:45.57 ID:3ye6tHD5.net]
じゃあ現状維持で

+ JavaScript の質問用スレッド vol.121 + [無断転載禁止]©2ch.net
echo.2ch.net/test/read.cgi/tech/1467906869/

982 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 00:16:51.15 ID:3DBY5ZwO.net]
> DOMはJSにとっては入出力だから外すことは出来ないが

nodejsを見ればわかるようにDOMは必須じゃない

983 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 00:52:31.22 ID:US7tnKBO.net]
>>1のテンプレを更新した。
https://fiddle.jshell.net/6018r9tu/1/show/light/

>>935,937-938,940-942を採用。他は保留。

984 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 00:57:59.04 ID:jK+6h30t.net]
テンプレの中の人生きてたのか…

住み分けは>>954の考え方が俺も適切だと思う
そもそもの板ルールだってケースバイケースでやれとのお達しが出ているし
とりあえずライブラリスレはまだ埋まるまで時間があるから議論は持ち越しとして
このスレの現状維持には賛成だが>>936,>>956を使うのには重ねて反対だ

985 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 05:01:09.70 ID:u3A/GFo2.net]
>>952-955
統合しようとしてる今の全体状況を考えても、それは難しい。
統合するならWeb全般と、JS全般の2つにするか、
HTMLの質問くらいなら許容してあげるくらいのJS全般1つにすべき。

986 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 07:11:01.87 ID:ej5NI84G.net]
HTML/CSSは統合しなくていいし、メリットがないと思う
統合するならHTML/CSS/JavaScriptだけに特化して統合する必要はない
SEO対策、ブラウザ、サーバサイドスクリプト...etc
境界線が分からない質問者が質問しそうな話題は無数にある
Web制作板で「Webサイト制作初心者用質問スレ」を復活させるのが妥当だが、JavaScriptスレとは無関係に進めるべき
あと、統合するなら周辺スレの住人の合意を得る必要があるから

987 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 08:39:06.50 ID:Bk+A+H3d.net]
許容範囲でいえば、こんな感じかな

○ アコーディオンメニューの作り方(JavaScriptメイン、HTML/CSSサブ)
× section要素の使い方(HTML 100%、CSS 0%、JavaScript 0%)
× display: flex の使い方(CSS 100%、HTML 0%、JavaScript 0%)
× Web検索結果の順位を上げたい (SEO対策 100%、JavaScript 0%、HTML 0%、CSS 0%)

988 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 10:41:56.68 ID:iLP51t8A.net]
>>960
お前がそういうことにしたいのは分かったが、ところで統合しようとしている相手はどのスレなのよ?
このスレは十分流れているし、機能もしている。
jQueryのスレも同様。どちらもどこかに合流する必要はない。

統合ってのは過疎スレが維持出来ずに落ちて、
そこの住人がどこか近いところに移住することによって行われる。
十分流れているスレで上から「統合」指令出しても効果はない。
落ちそうな過疎スレをそのまま落とせば自然と統合されるし、それ以外の妥当な方法はない。
結果的にスレチ誘導出来ず、その落ちたスレが取り扱っていた内容も自然と取り扱うことになる。

つまり統合に関してはここでの議論は無意味で、統合される側のスレ住民が納得しないと効果も無い。
分化したスレが機能している以上、それは分離すべきだったということだ。
「ぼくのかんがえたさいきょうのとうごうすれ」は存在し得ない。
例えば主にDOM関連に興味があるのなら、そいつはこれまで同様HTML/CSSのスレも見ろってことでしかない。

989 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 14:22:57.47 ID:8raa4CZV.net]
>>962見て思ったのはアコーディオンメニューはCSS100%でも作れるってこと
どちらが主になるかなんて実装次第だが、このスレに投下した時点でJavascriptで実装すること前提であってほしい
何で作るのがいいかわかってないような奴をここでいちいち相手にしたくないから総合的スレがこのスレと別に向こうにあったらありがたいとは思うな

このスレをどこかと統合する必然性はないと思うが、おかしな奴をまず総合スレで相談して来いって追い出せるのは便利だ



990 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 15:30:53.75 ID:iLP51t8A.net]
>>960その他
ついでだから追加。

既に述べたように、
機能しているスレで議論できる内容は、「何かを分離するか、現状維持か」
過疎って機能してないスレで議論すべき内容は、「どこかに統合するか、現状維持か」
統合したいのなら、統合される過疎スレ側に連絡し、それを住民が受け入れれば統合されるだけ。
こっちが過疎スレ側にごそっと移動してもスレ乗っ取りにしかならないだろ。

最近は減ったように思うが、テンプレ回答として
・PHPでやれ
・CSSでやれ
ってのがあったから、>>964の言う総合案内所は役に立つだろう。
ただそこで複数の実装方法があったとして、どれがいいかを説明するのはかなり難しいとは思うが、
お前らは説明の再生産はしたがっているようだから、それもいいのではないか。理解を深めることにはなる。
上手く行けばそのスレはめちゃめちゃ繁盛するだろう。
多分最初からJS/HTML/CSS/PHPまで入れておいた方がいい。
質問「○○をやりたい」に対し、基本的には「○○スレに行け」という回答で案内に徹せば上手く行く。

991 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 18:27:15.89 ID:/ZL1+tl1.net]
>>961がいうように「Webサイト制作初心者用質問スレ」を復活させれば万事解決する気がする

992 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 20:10:41.89 ID:1nvCXdBR.net]
>>964
アコーディオンメニューをCSS100%で作れるからと言って、
質問する人はそう思ってない。JavaScriptが必要だと思ってる。

だから最初からCSSスレに書き込むのは不可能
JavaScriptスレで質問するのは仕方がないことだが
これをCSSスレに移動させるか?といえば、実はそうとは限らない。

CSS100%で作れると言ったが細かい要件によっては
CSS100%で作れないかもしれないからだ。

だからCSSで作れるかどうか分からない質問をここでするのは問題ないし
JavaScriptで作る回答があるならば、ここで会話を続けていい。
その答えの一つとしてJavaScript使わないでできますって言うのも答えなわけだ。

結論としては

質問者・・・JavaScriptを使うと思っているならば質問していい
回答者・・・JavaScriptでやるのが間違いだと思うならば、他のスレに誘導
手法の一つとしてJavaScriptでやる方法があるのならこのスレでよく、
回答の一つとしてJavaScriptを使わない方法を提示しても良い。

でいいんじゃねーの?

993 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 20:34:43.05 ID:iLP51t8A.net]
>>967
何でお前は取り扱い範囲を広げたがっているの?
それともお前は単発荒らし?なら無視するだけだが。

何で作ればいいか分からない人向けの「Webサイト制作初心者用質問スレ」であって、
ここで聞く限り「JavaScriptで作る気」な場合にしろって事だろ。明確で妥当な基準だ。

既に書いたが、既に機能しているスレでは「範囲を狭めて分化していくか、現状維持か」だよ。
何でも聞けるスレは何も出来ないスレになる。
仮にプログラミング言語一般として、JavaもCもJavaScriptもPHPもありのスレにしても意味無いだろ。
複数の話題に興味があるのなら、お前が複数スレを巡回すればいいだけ。
分化しすぎてて過疎って落ちれば自然と統合されるだけ。そこでバランスが取れるようになっている。

CSSの話題がここで為されるとしたら、CSSスレが落ちて誰も立てなくなった時だよ。
あっちが機能している限り、CSSの話はあちらでやるべきだ。それがお互いの利益になる。
重ねて言うが、お前がCSSに興味があるのなら、お前がCSSスレも見ればいいだけだ。

994 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 20:37:57.40 ID:1nvCXdBR.net]
>>968
範囲を狭くしたいっていうのなら
純粋なJavaScript専用にしてもいいけど?

つまりNode.jsでも動くものしかだめ。
DOMを扱うコードは禁止。

995 名前:デフォルトの名無しさん mailto:sage [2016/07/09(土) 21:25:56.06 ID:iLP51t8A.net]
>>968
言い返したいだけのクソガキ乙
俺はそれでもいいと言っているだろ。>>955
分離するのならそこだ。
ただしnodeはスレが別にあるので考慮する必要はない。
(nodeガーについては全部nodeスレに誘導すればいいだけ)

分離する理由は(nodeは関係なく)DOM部分はHTML/CSSとも絡むため、迷子の原因だからだ。
ただこれについては「Webサイト制作初心者用質問スレ」の方が妥当だという意見だ。
俺もそれでいい。つまり、このスレは現状維持で上記スレを新設でいい。

ただしこの新設スレを機能させるには、少なくともフルスタック()な連中がそこにいないといけない。
お前らだけで対応出来ないのなら、他スレからも応援してもらう必要がある。
とは言っても立てないことには始まらないので、妥当だという意見が多いようなら立てればいいと思うが。

996 名前:941 mailto:sage [2016/07/09(土) 22:14:27.41 ID:lCeUP8cE.net]
>>958
失礼>>934の統合をこの板へ移行するものだと読み間違えてた
このスレとWeb板のライブラリスレを統合するってことなら自分は反対だ
当初向こうで出た話ではIDの出る板への単なる移行だったはず

>>967,>>954の言うように「JSが主になる」質問をそれぞれのスレで扱うことと
>>961の言うように初心者スレ復活を別の流れで模索することには賛成

997 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 02:54:32.77 ID:eiCoffPe.net]
スクリプトで非同期にファイルダウンロードってどうやるの
ajaxでバイト配列を取得するとこまでできたけどファイルを保存する方法がわからねえ

998 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 05:23:29.64 ID:bPE6a5y9.net]
>>970
その通り。
まず一歩目としてはその結論以外無い。

999 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2016/07/10(日) 12:28:37.49 ID:j73ykfM2.net]
ライブラリスレにいる者だが、俺はこのスレに統合する案に賛成だな
ライブラリスレがプログラム板に移行するに留まるとほぼ間違いなく、過疎化する
俺の感覚ではライブラリスレで俺以外で回答に参加していたのは信者君+1〜2名というところだが、そもそも質問者の絶対数が少ない

JavaScript ライブラリ総合質問所 vol.5 [無断転載禁止]©2ch.net
echo.2ch.net/test/read.cgi/hp/1465399470/

このスレでの質問はほとんどないに等しい
これじゃあかんと思ってjQueryの感想を書いてつなぎ止めようとしても釣れるのは信者君とその他大勢の煽りだけ

質問者にとって重要なのは質問に答えてくれることであって質問した結果、荒れようがIDが見えなかろうが関係ないからな
信者君は質問には高確率で回答していて、質問者にとっては都合がいよいからjQueryスレの質問がそれなりに多いのだろう
「プログラム板に移行したら今まで黙っていた俺だが、質問する予定があるぜ」という人が名乗り出るなら別だが、俺はプログラム板に移行するだけでは質問者にも移行を促すほどの請求力はないと思うぞ



1000 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2016/07/10(日) 12:35:33.20 ID:rTKcHDH+.net]
>>974
俺としては別にライブラリスレでもjQueryスレでも
ここでもjQueryの話題があればレスしてるので
どこでもかまわないかな

1001 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2016/07/10(日) 13:53:52.88 ID:BhOPIXig.net]
>>974
お前は一体何がやりたいのさ?その件については明らかに信者>>975の方が妥当だぞ。

そのスレってjQueryのスレとスレ立て合戦した奴だろ。頭の方に痕跡も残ってる。
どっちが本家なのかは知らないが、だったらまずそれらと統合すべきだろ。
そしてその話し合いは当該スレでやれ。ここではない。

スレ立て合戦の結果、人が居ないので釣ってみたが無理っぽいから統合したい?
死ね

> 質問者にとって重要なのは質問に答えてくれること
> 信者君は質問には高確率で回答していて、質問者にとっては都合がいよい
専用スレで信者が積極的に回答するのは全く問題ないし、むしろいいことだ。
それで質問スレとしても完全に機能してるんだろ?何も問題ない。
むしろお前の「ぼくのさいきょうのすれにならなかったから」というのが終わっている。

現実的にはjQuery以外のライブラリは新規に学ぶ価値が無くて、質問もないんだろ。
だったらそれはjQueryスレに飲み込まれるのが正しいあり方だよ。
お前がどれだけjQuery君を嫌ってようが、jQuery以外のライブラリが無用ならそうとしかならない。

1002 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2016/07/10(日) 14:06:47.72 ID:SLnFWOAS.net]
> お前がどれだけjQuery君を嫌ってようが、jQuery以外のライブラリが無用ならそうとしかならない。

jQuery以外のライブラリで有用なものはいくつかある。
無用というならばjQuery以外のDOM操作ライブラリというべきだろうね。

DOM操作に関連しないライブラリで有用なものはいくつかある。
例えばJavaScriptの少ない標準関数を補ってくれるlodash(underscore)
(Rubyを知っていればJavaScriptの標準関数は本当に少なく感じる)

日付関連をシンプルに扱えるmoment
SVGをjQueryライクに扱えるD3

ここらへんが有用なライブラリだな。
なおフレームワークやPolyfillは除いている。

1003 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2016/07/10(日) 15:35:48.24 ID:ZmdhimD5.net]
深淵を覗こうとする時はなんとやら
荒らしに餌やってまで伸ばそうとするのは最早呆れて何も言えないわ
あの状態じゃ質問なんて出来る雰囲気ではない
行うべきは燃料投下や統合よりも住み分けによる質問レスの誘導なんじゃないの
ここやNodeスレでライブラリやモジュールの質問スルーされてる難民とか結構いるぞ

1004 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2016/07/10(日) 15:54:54.42 ID:SLnFWOAS.net]
>>978
誘導したらどういう理由で問題が解決すると言うの?

1005 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2016/07/10(日) 16:35:09.95 ID:BhOPIXig.net]
適切な誘導をして流れるようになればそれでよし。
適切な誘導があっても過疎って落ちるようなら、落ちるべくして落ちただけ。
そのスレは独立して存在する価値がないことになる。

つまり、適切な誘導が行われれば、あとは放置すれば判定は出るというだけ。
話は簡単だ。次スレを立てる時にとりあえずこのスレのテンプレに入れておけばいい。
このスレで出来ることはそこまでだよ。
入れるスレは以下の4つで良いのか?追加あれば挙げて。

JavaScript ライブラリ総合質問所 vol.5 [無断転載禁止]©2ch.net
echo.2ch.net/test/read.cgi/hp/1465399470/
JavaScript & jQuery 質問用スレッド vol.6 + [無断転載禁止]c2ch.net
echo.2ch.net/test/read.cgi/hp/1465566635/
【node.js】サーバサイドjavascript 4【io.js】 [無断転載禁止]c2ch.net
echo.2ch.net/test/read.cgi/tech/1460359714/
(X)HTML/CSS の質問に優しく答えるスレ23 [無断転載禁止]c2ch.net
echo.2ch.net/test/read.cgi/hp/1467511443/

ちなみになあ、テンプレの人>>958も恣意的すぎるんだよ。
どういう経緯があれ、需要があるのならそのスレは存在するし、迷子は出るのだから、
それらはテンプレに入れないといけない。jQueryのスレがそう。
Canvasのスレなんて完全に死んでいるのだから、それは落とさないといけない。
君には君の論理があるのだろうけど、現状を見ていない。

1006 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2016/07/10(日) 17:22:43.78 ID:6EzdDOVN.net]
>>975
回答者が流れても質問が来ないのではないかと思ってね
回答者だけいて質問者がいないのでは質問スレとして成り立たないから質問者が名乗り出てくれるのが有り難い
人が少なければ統合するのは自然な流れだと思う

>>978
誘導して人が来るならそうだな

1007 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2016/07/10(日) 17:48:41.01 ID:tgTIUHUH.net]
ライブラリスレの問題は気に入らない回答にいちいち噛みつく奴の存在だと思うな
彼一人のせいでまともな回答者が大分減ったし
誰だって自分の回答が馬鹿にされたらいい気持ちはしない
プログラム板への移行が望まれるのは当然だね

1008 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2016/07/10(日) 18:04:56.98 ID:bPE6a5y9.net]
俺は個人的にはライブラリ大嫌いだし、今のライブラリスレの元を何年も前に作ったのも俺だが、
統合は反対はしないよ。
だって、向こうのスレ(JSとライブラリ)全く機能してないもん。
逆に、向こうの質問スレに行った方が良いよと言えるまでは少々Web感が強くてもこっちで扱うべきと思う。
もしも、無効にWEB総合スレを作る試みが上手く行った暁には改めて振り分ければいい。

1009 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2016/07/10(日) 18:58:46.48 ID:BhOPIXig.net]
何度も言っているが、統合するかどうかは当該スレの住民が判断する話で、
こちらで決めることではない。
住民が納得して移住し、スレが落ちれば統合は完了する。
分化して専門性を高めたスレが存在して流れているのであれば、
それは存在価値があるからであって、統合する意味はない。

お前らみたいな「おれのさいきょうのすれっど」の馬鹿ばかりだからどうにもならないんだよ。
Web板に一生引きこもってろよ。
IDが出ないのをいいことにWeb板の質問スレでやりたい放題やっていたのはお前らだろ。
そういう馬鹿を見切った奴らがこっちに集まったからここは多少まともなんだよ。

統合して欲しいのなら、当該スレでそういう話し合いをすればいいだけだろ。
お前らは根本的に間違っているよ。



1010 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 21:10:07.28 ID:ZmdhimD5.net]
ここのプログラム板移行に賛同して極力回答していた身からすれば
延々と荒らしに構って荒れた挙句の過疎なのだから正直ざまあみろと思う所もある

でもその認識はちょっと偏見が過ぎるんじゃないの
向こうの両スレでID出ないのをいいことにやりたい放題やっていた輩っていうのは
件の信者であり>>982の噛みつく奴でありテンプレで注意されていた同一人物だ
ここだって結局vol120にしてWeb板同様に乗っ取られているわけだ
向こうの住民だって数年間やれることはやった上での現在なんだろうよ

1011 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 21:25:02.79 ID:bPE6a5y9.net]
荒らしはあまり関係ないかと。
昔っから色んな意味で言いたい放題やりたい放題や奴は大勢いたし、
仕切り厨もスレチ厨も大活躍してた。

別に過疎の原因はスレ住民が悪いせいでは無いと思う。
むしろ過疎になったからそういう奴が目立ってきただけ。

1012 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 21:28:08.59 ID:ZmdhimD5.net]
ああそうなのか
ちょうどlodash啓蒙で大荒れ乱立してた頃からしか知らないんだわ

1013 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 21:47:15.37 ID:BhOPIXig.net]
>>985
そうでもないだろ。

そもそもIDあり板に移動したければさっさとやればよかっただけ。
今までへばりついていたのはID無しの方が都合がよかったからだろ。
こっちに来てからも何度も誘導も見た。どうしてもIDがない方が都合がいい奴がいるのは確かだ。
俺はざまあみろとは思わないが、そういう奴がここに来ると迷惑だと思っている。

ちなみに俺はその「信者」や「噛みつき君」は大して問題視していない。技術的である限り、やればいいのさ。
ゴミコードはゴミコードだと言うべきだし、その指摘が間違っているのなら逆に叩かれればいい。
「ぼくのかいたさいきょうのこーど」が礼賛される方が問題だ。
彼はIDがあったとしてもスタンスは変わらないだろうし、その点でも問題ない。

ちなみに彼の問題は、他スレでも「布教

1014 名前:活動」をしていたことだよ。それは本当に邪魔だから止めてもらいたい。
ただ、今のところjQueryスレにこもって布教することにしたようだから、それは問題ないし、
こちらからもjQueryの専門的な話題は積極的に向こうに誘導すべきだろう。それがお互いの利益になる。

最悪に問題なのは、ID無し板で自演したり釣りをしたり横槍だと明確に分からない形で横槍を入れてくる奴らだ。
それは話の邪魔なんだよ。だからどうにもやりにくかった。それが今文句言っている奴らだろ。
その「信者」「噛みつき君」「注意されていた人」は彼等「自演君」「釣り君」「会話乗っ取り君」とは別の人だよ。
要するに、IDありとID無しで振る舞いを変えるような卑怯なゴミこそが問題なんだよ。

その点、「信者」君は卑怯ではない。繰り返すが、俺は彼には布教活動以外の問題は感じない。
だから彼がjQueryスレにこもってひたすら回答者に徹するのであれば、関連質問者は積極的に誘導でいい。
それの方がこっちのスレとしても楽だろ。

とはいえ、いい加減結論を出さないといけない。
荒らしのスレ>>936,956はセオリーどおりスルーとして、俺はテンプレがあった方がいいと思うから、
ベース>>958で関連スレだけ>>980に差し替えが俺の意見になる。
「Webサイト制作初心者用質問スレ」は次スレで引き続き検討として、
とりあえずこのスレの次スレをどうするかを決めよう。
[]
[ここ壊れてます]

1015 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 22:27:02.42 ID:ZmdhimD5.net]
布教活動に限らずスレ乱立に横やりや煽りだらけだったろうに
もっとも彼以外にもそういうのが居たってのは同意見だ

じゃあここの次スレに争点を絞ろう
・荒らしの立てたスレは使わずに新スレを立てる
・このスレは現状維持
・状況により初心者スレを検討
まず>>958の改訂版は統合スレ用のものだから現状維持の場合は適さない
今回は以前のテンプレに>>980の関連スレを加えたものを使うべきだと思う
肯定的なレスが付いたら建ててくる

1016 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 22:31:41.73 ID:J3sPgwrM.net]
> ベース>>958で関連スレだけ>>980に差し替え
概ね賛成だけど、canvasスレの削除はどうなんだろうね
俺は落ちてない以上は入れてもいいと思う

1017 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 22:38:00.44 ID:BhOPIXig.net]
>>989
> 統合スレ用のものだから現状維持の場合は適さない
俺は子細はよく分かっていないのでこの辺はID:ZmdhimD5に任せる。

>>990
落とさないといけないって事はない。
ただ、あのスレ入れててもなぁ、とは思うが、
火種になるという意味では、今回は無難に入れておいていいとも思う。
まあいずれにしてもID:ZmdhimD5に任せる。

スレが埋まったらまずいので俺は今後は様子見する。
とにかくID:ZmdhimD5に任せる。よろしく。

1018 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 22:39:44.89 ID:tx16mOUk.net]
175 自分:Name_Not_Found[sage] 投稿日:2016/07/10(日) 22:19:22.40 ID:???
どこでもいいよw
俺は人がいるところに行くだけだから。

1019 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 22:47:57.91 ID:KHJNSY1I.net]
おまえらってさ、javascriptでどんなwebアプリ作ってんだ?



1020 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 22:55:57.73 ID:ZmdhimD5.net]
+ JavaScript の質問用スレッド vol.121 + [無断転載禁止]©2ch.net
echo.2ch.net/test/read.cgi/tech/1468158373/

>>990-991
Canvasスレへのリンクは一先ず残した
以前のテンプレはいくらか古い部分があったから結局>>958をベースにして
そぐわない部分をカットしてから>>980を追加することにした
あといつの間にか諸注意の内容がほぼ倍になってたから以前のものを使った
Web板のかな、少なくともこのスレで同意を得て追加されたものではないし

1021 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 22:58:59.73 ID:Hr2GHwDG.net]
>>1のテンプレを更新した。
https://fiddle.jshell.net/6018r9tu/2/show/light/

>>980の関連スレを追加した。
Canvasスレ削除は賛否両論なので無難に残した。

1022 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 23:03:27.28 ID:XBuYUIhG.net]
>>991がID:ZmdhimD5に一任した途端、独断専行っぷりが酷い
どうみてもライブラリスレを統合する流れだっただろうに

1023 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 23:08:39.77 ID:tx16mOUk.net]
お前ら喧嘩するなよw

スレタイがどうなろうが、俺はあちこちのスレに行って
jQueryとlodashの話題をするだけなんだからw

1024 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 23:12:17.55 ID:ZmdhimD5.net]
>>996
そりゃ流れであって統合派も移行派も現状維持派もいたんだから
残りレス数が一桁切ってる状況ならひとまず現状維持で持ち越すしかないでしょ
勢いが冷めないうちに次スレで議論して欲しい

1025 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 23:13:07.16 ID:BhOPIXig.net]
>>994
乙。
諸注意や信奉者の主張例とかは俺もちょっと気になったが、(テンプレにしては感情すぎる)
まあそれもテンプレ作成者の意志だから尊重してもいいかとも思っていた。
俺が落としたくなかったのは関連スレとかのリンクだから、とにかく乙。

>>995
とりあえずここで揉めても意味無いから、今後は
>>990基準で「落ちるまでは関連スレに入れる」でいいんじゃないか。
だからWebGLの奴も入れておけばいい。

分化した専門スレが落ちるようなら需要がないって事だから帰ってくればいい。
流れるようなら存在価値があるのだからそのままでいい。
政治的に「宣伝してやらない」とか考える必要はない。
分化した専門スレであり、質問を受け付けるのであれば、基本的に追加すればいい。

1026 名前:デフォルトの名無しさん mailto:sage [2016/07/11(月) 00:15:27.69 ID:gzpHRxsK.net]
うめ

1027 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 49日 4時間 23分 54秒

1028 名前:1002 [Over 1000 Thread.net]
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
premium.2ch.net/
pink-chan-store.myshopify.com/


1029 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前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