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) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
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] <img src=x onerror='alert(1)'></img> みたいに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 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています