X



+ JavaScript の質問用スレッド vol.141 +
■ このスレッドは過去ログ倉庫に格納されています
0001Name_Not_Found
垢版 |
2019/07/05(金) 18:13:28.39ID:j+97lL/8
JavaScript を自ら学ぶ人のための質問スレッドです。
次スレは>>950が(本スレで改善案があれば考慮して)立ててください

■規則/推奨ルール
質問者は !slip:vvvvv を名前欄に、その後は「レス番」+!slip:vvvvv
・質問内容は具体的に。言葉だけでなく、出来る限り再現性を確認したサンプルコードの掲示。
・質問テンプレートの利用推奨。
・質問への「答え」から解離した議論はよそでやること。
■禁止行為
・丸投げ質問
・迷惑スクリプトの質問
・オレオレ用語の使用(一般的な用語を使用する事)
・煽り、批判等の他人を不快にさせる行為
■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。
【条件】期待する回答の条件を書いてください。
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
 1レスに収まらないならコード投稿サイトを利用してください。
 http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/
■回答者へ
・回答には多様性があります。他人の回答を尊重してください
・動作ブラウザや環境が限られる場合は、それを明記してください
・他人の回答を批判する代わりに、自分ならこう書くという例を示してください
・質問者がJavaScriptでなければ実現できないと勘違いしてるなら、その否定としてHTMLとCSSで実装しても良い
・他人の回答を見たくないのであれば、文句をつける代わりにNGにして見えないようにしてください。文句をつける=荒らしです

■前スレ
+ JavaScript の質問用スレッド vol.140 +
https://mevius.5ch.net/test/read.cgi/hp/1558249632/
0011Name_Not_Found
垢版 |
2019/07/05(金) 23:25:49.42ID:j+97lL/8
言い出しっぺの法則は滅んだのか
0012Name_Not_Found
垢版 |
2019/07/06(土) 04:20:24.63ID:???
何らかの形でちょっとずつでいいからテンプレ直していこうよ

とりあえずまず>>2以降をバッサリ変えよう
0013Name_Not_Found
垢版 |
2019/07/06(土) 06:40:03.23ID:???
>>12
>>1に比べて>>2以降はスレ落ちを防ぐための何人が目にしてるかわからないような低価値テンプレでしょ
>>1を変えるのは慎重にならないといけないし、とりあえず手を付けなくてもいいけど
>>2以降の列挙されているのを整理することは「ちょっと」でしょ
0014Name_Not_Found
垢版 |
2019/07/06(土) 09:09:19.91ID:???
>>9
> ライブラリ固有の質問はこちらへ

>>5-7でライブラリ関連のテンプレを入れている矛盾を何とかしてくれ
0015Name_Not_Found
垢版 |
2019/07/06(土) 11:48:03.83ID:CFoZXQXg
>>14
あっちにライブラリのテンプレが入ってないから
やむをえないでしょう

「そもそもあっちとは遥かに勢いが違う」というのも否めない
それだけ「ライブラリ固有の質問に需要がない」といえるのかも知れない


ただ lodash だと短く書けるという話はチラホラ出てるから
こっちで敢えて lodash 全面禁止する必要性があるかどうか…?
00162 の後半
垢版 |
2019/07/06(土) 11:52:48.99ID:CFoZXQXg
■各種仕様
◆ Standard ECMA-262
http://www.ecma-international.org/ecma-262/6.0/ (ECMAScript 2015, いわゆる ES6)
https://www.ecma-international.org/ecma-262/9.0/ (ECMAScript 2018)
https://tc39.es/ecma262/ (ECMA-262 最新ドラフト)
◆ HTML Standard (HTML5)
http://www.whatwg.org/specs/web-apps/current-work/multipage/
http://momdo.s35.xrea.com/web-html-test/spec/WD-html51-20130528/Overview.html (HTML5.1 部分訳)
http://www.hcn.zaq.ne.jp/___/WEB/WebStorage-ja.html (Web Storage 和訳)

削るべきか要審議
http://www.ecma-international.org/ecma-262/5.1/ (ECMAScript 5.1 HTML版)
http://tsofthome.appspot.com/ecmascript.html (ECMAScript 5.1 和訳)
http://kangax.github.io/compat-table/es5/ (ECMAScript 5 compatibility table)
http://kangax.github.io/compat-table/es6/ (ECMAScript 6 compatibility table)
0017Name_Not_Found
垢版 |
2019/07/06(土) 11:54:59.58ID:CFoZXQXg
3 の後半、だった
0018Name_Not_Found
垢版 |
2019/07/06(土) 11:56:10.03ID:CFoZXQXg
>>4 は多分誰も読んでないから全て削除で良いかと
即死判定は事実上ないから
0019Name_Not_Found
垢版 |
2019/07/06(土) 11:57:24.56ID:CFoZXQXg
読んでいる人が殆ど居ないかも知れないが
>>8 は 2 へ繰り上げる方が良いかも
0020Name_Not_Found
垢版 |
2019/07/06(土) 11:58:45.88ID:CFoZXQXg
現時点での >>2 の必要性は、私には分からん
要らんという意見が多数を占めるなら、以後削ることになろうかと
0021Name_Not_Found
垢版 |
2019/07/06(土) 12:03:19.15ID:CFoZXQXg
>>3 の前半も、
「要らん」という意見が多数を占めるなら(以下同文
0022Name_Not_Found
垢版 |
2019/07/06(土) 12:05:34.80ID:CFoZXQXg
整理すると

>>2 要らんのと違う?
>>3 前半は要らんのと違う?
後半は >>16
>>4 要らんのと違う?
>>5-7 維持すべきだとおもう
>>8 は2へ繰り上げるべきだとおもう
0023Name_Not_Found
垢版 |
2019/07/06(土) 13:44:55.22ID:???
くだらないことをしてるから、いつもどおり参戦したいんだが、
今、個人プロジェクトが架橋に入ってるので、
残念ながら放置。また次回のスレ立て頃に遊びに来るよ
0024Name_Not_Found
垢版 |
2019/07/06(土) 18:25:02.56ID:???
>>1 >>8 >>16 の3スレでいい
ちなみに今リンクするならES9.0ではなく10.0ね
0026Name_Not_Found
垢版 |
2019/07/07(日) 04:17:37.73ID:???
>>15
> あっちにライブラリのテンプレが入ってないから

なら、あっちのテンプレ整備すればいい
0027Name_Not_Found
垢版 |
2019/07/07(日) 04:48:13.15ID:???
>>15で「需要がない」と言っておきながら、

> それだけ「ライブラリ固有の質問に需要がない」といえるのかも知れない

>>22でライブラリ関連のテンプレだけ残そうとする理由は何?
一貫性がなくて、結論だけ読むと、ライブラリ房に見える
0028Name_Not_Found
垢版 |
2019/07/07(日) 04:52:23.22ID:???
現状、ライブラリは自己主張の激しい人が大半なわけで、>>1の趣旨に反する以上は専用スレでいいと思うけど

lodashがいいならシェア1位のjQueryもいいだろ、とか屁理屈こねる人が必ず出てくる
0029Name_Not_Found
垢版 |
2019/07/07(日) 05:43:02.00ID:???
>>1
> 質問者は !slip:vvvvv を名前欄に、その後は「レス番」+!slip:vvvvv
前スレでは「回答者だけ」だったルールが「質問者だけ」に改変した意図を詳しく
https://mevius.5ch.net/test/read.cgi/hp/1558249632/22

公平性を期すなら「両方」に課すべきルールだと思う
まあ、「任意ルールは守られない強制すべき」という結論が前スレで出ているわけだが、性善説でルールを決めたのなら公平にすべき
0030Name_Not_Found
垢版 |
2019/07/07(日) 07:04:52.02ID:???
強制じゃないと効果なしと前スレで散々言われたのに、なぜ強制でなく、しかも質問者に絞ったのか?
0031Name_Not_Found
垢版 |
2019/07/07(日) 09:03:23.07ID:???
仕様関連で最低限残すべきは、ES2019, HTML Standard, DOM関連ぐらいで、それ以外はFAQのリンク集に追加するぐらいでいい
http://fiddle.jshell.net/vSqKr/44/show/light/
Conpatibilityはcaniuseあたりが妥当か
ライブラリは向こうでやって
0032Name_Not_Found
垢版 |
2019/07/07(日) 13:33:06.54ID:???
+ JavaScript の質問用スレッド vol.140 +
https://mevius.5ch.net/test/read.cgi/hp/1558249632/22

22 名前:Name_Not_Found (ワッチョイ 938f-h/tS)[] 投稿日:2019/05/23(木) 08:49:53.51 ID:t2rWukz00
前スレから。



このスレは age 進行でお願いします。

質問者は !slip:vvvvv を名前欄に、その後は「レス番」+!slip:vvvvv
回答者は !slip:vvvvv を名前欄に

質問者のかたは
1!slip:vvvvv
みたいなかんじで、よろしくお願いいたします。
0033Name_Not_Found
垢版 |
2019/07/07(日) 13:38:23.17ID:???
>>28
jQuery / lodash ともに全面禁止にするべきなの?
0034Name_Not_Found
垢版 |
2019/07/07(日) 13:39:31.73ID:???
主要ライブラリ列挙は要らんな
それがどんなライブラリなのかの文章がないと紹介にならないし
0035Name_Not_Found
垢版 |
2019/07/07(日) 13:42:56.93ID:???
>>33
例外を認めるぐらいなら禁止した方がいい
0036Name_Not_Found
垢版 |
2019/07/07(日) 13:48:40.72ID:???
>>33
全面禁止じゃないけど
サポートする範囲としてはES仕様と、Web標準だけというのを明記したほうがいい

特定のライブラリの機能の質問はライブラリスレですること
このライブラリを使わないといけないんですとかいうのは金払って依頼しなさいということになる
あとはパフォーマンスやらブラウザ固有の機能や実装問題も対象外
0037Name_Not_Found
垢版 |
2019/07/07(日) 14:12:45.28ID:???
つまりReactやAngularも禁止ってこと?
0038Name_Not_Found
垢版 |
2019/07/07(日) 14:14:05.22ID:???
ライブラリスレでやればいい
0039Name_Not_Found
垢版 |
2019/07/07(日) 14:18:29.62ID:???
サポートとか良く分からんし、ココは無償サポートの場でもなし
ブラウザの機能や実装の話が対象外って意味分からん
0040Name_Not_Found
垢版 |
2019/07/07(日) 14:29:46.47ID:???
>>39
そこは俺も分からなかった
標準仕様の話だけをしたい(実装の話はしたくない)意図は読み取れるが、それは>>36の好みだろと思った
0041Name_Not_Found
垢版 |
2019/07/07(日) 14:35:35.14ID:???
実際に動くかどうかは二の次ってこと

つまり○○したいんですがどうすれば良いんですか?

Web標準の仕様にはあります。
(まだ実装されてません)

動くかどうかは話をしたくない
0042Name_Not_Found
垢版 |
2019/07/07(日) 14:38:16.99ID:???
もうそれならタイトルを変えたほうが良いんじゃねーの?

「JavaScriptとウェブ標準の仕様について語るスレ」にしたほうが良いでしょ
当初のスレの意味と違う話をしたいなら
0043Name_Not_Found
垢版 |
2019/07/07(日) 15:27:32.10ID:???
>>41
それはお前が回答する度に前提条件を前置きすればいいんじゃないか?
全体ルールにする意義が分からん
0044Name_Not_Found
垢版 |
2019/07/07(日) 15:41:20.02ID:???
>>39,40
WebはWebであってブラウザのためのものではないから
Web標準もブラウザのためだけのものではない
ブラウザはWebのためにあっても、Webがブラウザのためにあるわけではない

Webの仕様から離れて実際ブラウザがどう動くかという話はブラウザスレでやってもらわないと
パフォーマンスの話も、基本的にそれはブラウザという1アプリの話なんだからスレチ

そもそもここはJS単体の質問スレ
だけどこのスレは今Web制作板にあるので外様APIはWeb APIを中心に話すべきということになる
ブラウザの話までは含まれない
0045Name_Not_Found
垢版 |
2019/07/07(日) 15:47:32.43ID:???
>>44
ここは「Web制作のJavaScriptスレ」であって「JavaScript仕様スレ」ではないぞ?
仕様の話に限定したいなら、仕様スレでやれ

第一、仕様を理解している人だけが質問対象者なら、今までの質問者は99%アウトだ
質問スレでそんな運用が可能とは思えん
0046Name_Not_Found
垢版 |
2019/07/07(日) 15:51:42.67ID:???
これは俺の好みについて言ってるんじゃないよ
テンプレ議論からのこのスレのポリシーについて話してる

Webというものがブラウザのためだけのものでなくなって久しいんだから
基本ポリシーとしてブラウザの話も受け入れるのならば
ブラウザ以外のWeb技術を導入しているプラットフォームの話題も受け入れないとおかしいことになる

俺はそれが実質無理だろうと思ったから、ブラウザも含めてプラットフォームの話は無しにしたほうがいいと言ってるのであって
もしなんでも受け入れてもいいよというのであれば、賛成する

だけどブラウザの話は受け入れるのに、ブラウザよりもスレが盛り上がっていない、
下手したら存在しない他のプラットフォームの質問を専用スレでやれと蹴り出すのはだめだと言っている

俺の好みの話をするならば、立派な外部スレが有るブラウザの話も受け入れるのであれば、
矮小な他プラットフォームは尚更ここで吸収してあげないといけないだろうということ
0047Name_Not_Found
垢版 |
2019/07/07(日) 15:53:21.50ID:???
>>45
仕様を理解だとかそういうことは一言も言っていない
Webというものはブラウザのためのものでなくなってから久しい
あとの言いたいことは>>46を読んでくれ
0048Name_Not_Found
垢版 |
2019/07/07(日) 15:55:39.70ID:???
Web制作板なんだから、「Web制作上、必要なJavaScript実装」は許容するに決まってるだろ
実装全体を禁止する理由がない
0049Name_Not_Found
垢版 |
2019/07/07(日) 15:57:46.45ID:???
> 基本ポリシーとしてブラウザの話も受け入れるのならば
> ブラウザ以外のWeb技術を導入しているプラットフォームの話題も受け入れないとおかしいことになる

意味が分からん
JavaScriptなら受け入れるし、そうでないなら受け入れないんじゃないのか?
0050Name_Not_Found
垢版 |
2019/07/07(日) 16:01:26.33ID:???
>>48
そうやって「実装」必要と抽象的に言えれば勿論そうだが
実際は抽象的な実装というのではなく具体的な話になってくるでしょう?
例えばAとBどちらが高速かという話になったら
質問者がしていていなかった場合であっても話の50%はChromeの実装が今現時点でどうなっているかになるでしょう?

ただこの手の話は仕様ベースであっても>>3のように時が立つと無効になるのだから
パフォーマンスの話というのは大変慎重にしないといけない
0051Name_Not_Found
垢版 |
2019/07/07(日) 16:02:35.87ID:???
>>46
> 俺はそれが実質無理だろうと思ったから、ブラウザも含めてプラットフォームの話は無しにしたほうがいいと言ってるのであって

「無理な理由」が秘密主義で説得力皆無なんだけど
「Web技術を導入しているプラットフォーム」も曖昧だし
0052Name_Not_Found
垢版 |
2019/07/07(日) 16:08:12.86ID:???
>>51
俺は100スレ以上前からいるが
過去ここで古くはWinメトロの話題からNode上でのStreamの話題や
様々なプラットフォームの質問が足蹴にされてきたのを見てきたから

ここはJSのスレでありJSというのはスクリプト言語であり様々なプラットフォーム上で動く
そしてWebというものも今やそれ自体もプラットフォームであり様々なプラットフォーム上で動く
俺はそういうのを大事にしたいと思ってるが、
実際のところIEやChromeなど特定のプラットフォームがどうこうの話ばかり

勿論著名実装がサポートしているかどうかの話くらいなら何も問題ないと思ってるが
それ以上に各実装の性質の踏み込む話、
そういう限定されたテーマというのはJSを「自ら学ぶ」ためというよりも
限定されればされるほど、今動けばいい「制作依頼」に近くなると思っているので
できるだけ普遍的なスレにしたいとは思ってる
0053Name_Not_Found
垢版 |
2019/07/07(日) 16:13:06.81ID:???
>>52
「俺がやりたいスレ」の話はおなか一杯だから、「実質無理」に触れてくれない?
結局、君の好みの話しにしかなってないと思うんだけど
0054Name_Not_Found
垢版 |
2019/07/07(日) 16:15:35.46ID:???
>>53
実質無理というのは足蹴にされてきて
俺が無理矢理そういうのを受け入れようとしたら批判された経験からだ
だから今後もそういう質問が来たらきっと「荒れる」んでしょ?という皮肉だ

だからそうじゃないというならそれをテンプレに明記して欲しい
「Web技術を使うJSの話題であれば何でも受け入れますよ」と
それなら俺の100スレの怨念も浄化される
0055Name_Not_Found (ワッチョイ 835f-NNEM)
垢版 |
2019/07/07(日) 16:15:51.55ID:???0
その辺の話になると板分けの問題になってくるな
開発環境以外でのNodeの話ならム板かwebprog板じゃないか?
0056Name_Not_Found
垢版 |
2019/07/07(日) 16:17:37.97ID:???
>>50
高速化の質問についてはコードが出ているなら、「自分で試せ」で終わり

「このコードはどちらが早いですか?」
「このコードは動きますか?」

こんな質問は実装以前の問題だ
自助努力を推奨するスレとしては「自分で試せばわかる事は、自分で試せ」の答えしかない
0057Name_Not_Found
垢版 |
2019/07/07(日) 16:18:45.28ID:???
>>55
何回か大統一の話もしたこともあるけど
統一も分離も曖昧にするのもやっぱり問題が出るんだよね

やっぱり俺のワガママだったわ、これまでのレスは無視してくれ
すまなかった
0058Name_Not_Found
垢版 |
2019/07/07(日) 16:21:02.60ID:???
>>54
「君のつらい経験」や「君のやりたいこと」で煙に巻くのはどうかと思うけど…
主観的な考えが多い人だねえ
0060Name_Not_Found
垢版 |
2019/07/07(日) 16:25:25.23ID:???
>>59 俺はそういうことが言いたかったんじゃないよ
0061Name_Not_Found
垢版 |
2019/07/07(日) 16:25:55.36ID:???
>>57
多分、自覚症状がないようだから、あえていうが、君の考えは「客観性」がまるでないから、受け入れられないんだよ

「俺はこうしたい」「俺はこうだった」「俺は無理だと思う」

これは全部、君の個人的な考えで他人を説得できる根拠じゃない(君を信頼している人なら受け入れるかもしれない)
100スレ前から受け入れられなかった原因も、その辺にあるのではないかと思うぞ
0062Name_Not_Found
垢版 |
2019/07/07(日) 16:27:22.27ID:???
>>52
> 過去ここで古くはWinメトロの話題からNode上でのStreamの話題や
> 様々なプラットフォームの質問が足蹴にされてきたのを見てきた

そんな大昔のことは知らん

直近2か月程度では、形式的に足蹴なんてあった覚えがない
あったというなら具体的にリンクを挙げたまえ
0063Name_Not_Found
垢版 |
2019/07/07(日) 16:29:17.92ID:???
>>60
それでは
どういうことが言いたかったのか、具体例を挙げつつ論理的に述べてくれまいか

貴殿が言いたいこと、具体的にところが把握できない
他の人々にも、把握されているようには見えない


コミュニケーションなんだから、そこんとこ頼む
0064Name_Not_Found
垢版 |
2019/07/07(日) 16:34:12.57ID:???
Web のユーザーインターフェースとして第一義に考えられるのはブラウザ
具体的には、Chrome / Safari / Firefox(状況次第で IE11 またはそれ以前)

これが大前提として共有されないんだったら前提から色々崩れるんだけど


opera とか vivaldi とか含めるとカオスだからゴメン
0065Name_Not_Found
垢版 |
2019/07/07(日) 16:38:48.61ID:???
「回答できる」と「質問していい」は別問題だと思うのです
0066Name_Not_Found
垢版 |
2019/07/07(日) 16:46:15.88ID:???
だとしても形式的に蹴られてる記憶が無い
昔のことは知らない
0067Name_Not_Found
垢版 |
2019/07/07(日) 16:48:23.37ID:???
俺も記憶にないなあ
「Node.jsの回答なんてお前らできないだろ?」な煽りは昔、あったような気もするが、それかね
0068Name_Not_Found
垢版 |
2019/07/07(日) 17:02:47.23ID:???
具体例挙げるなら

Q: オブジェクトのディープコピーをしたい
A1. jQuery 使え
A2. lodash 使え
A3. 「使える」ライブラリなりプラグインなりモジュールなり使え
A4. オレオレ関数なりメソッドなり作れ

他に何かあるかな(具体例でも第5の回答例でも)
0069Name_Not_Found
垢版 |
2019/07/07(日) 17:12:23.73ID:???
>>68
それはライブラリ質問を禁止する例じゃないのか?
実装系質問を禁止する例が来ると思っていたのだが

あと、ディープコピーなら JSON.parse(JSON.stringify()) が何度も出てたし、ライブラリしか回答がなかったかのような表現は改竄が過ぎる
0070Name_Not_Found
垢版 |
2019/07/07(日) 17:14:32.28ID:???
JSON は色々問題あるじゃん
0071Name_Not_Found
垢版 |
2019/07/07(日) 17:16:42.58ID:???
>>70
それは質問者の要件に依る
そもそも、質問者はいつも質問だけして回答を放置してるから、要件不明瞭でどれがマッチするか全くわからん
0072Name_Not_Found
垢版 |
2019/07/07(日) 17:26:35.26ID:???
>>68に関していうなら、「ライブラリ房」の存在が元凶だから、彼を排除する方針を決めるだけでいい
実装系質問が実質無理な理由ではない
0073Name_Not_Found
垢版 |
2019/07/07(日) 18:05:23.24ID:???
そうそう
新たな〇〇房が現れたらその都度対応するだけの話
0074Name_Not_Found
垢版 |
2019/07/07(日) 20:41:25.45ID:???
>>44
だから実際のブラウザの話を抜きにするというのなら

実際のブラウザで動くことを前提として
質問が受け付けられなくなるんだよ。

Chromeで動きません。→実際のブラウザの話はしないでください。
0075Name_Not_Found
垢版 |
2019/07/07(日) 20:45:12.39ID:???
■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。


これもなくさんとな。仕様の話しかしないんだから
OSやブラウザのバージョンなんか関係ない
0078Name_Not_Found
垢版 |
2019/07/08(月) 00:41:39.52ID:???
>>31 のリンク先の内容がカビ臭すぎ
どこから手をつけるのが良いか分からんけど、リンクしない方がマシなんじゃないかと(主観
0079Name_Not_Found
垢版 |
2019/07/08(月) 01:02:37.28ID:???
>>37
前スレの運用からみて
無視 or ライブラリスレ誘導で良いかと
0080仕様リンクまとめ草案
垢版 |
2019/07/08(月) 01:31:56.15ID:???
◆ Standard ECMA-262
http://www.ecma-international.org/ecma-262/6.0/ (ECMAScript 2015, いわゆる ES6)
https://www.ecma-international.org/ecma-262/10.0/ (ECMAScript 2019)
https://tc39.es/ecma262/ (ECMA-262 最新ドラフト)
◆ HTML Standard (HTML5)
http://www.whatwg.org/specs/web-apps/current-work/multipage/
◆ W3C DOM4
https://www.w3.org/TR/dom/
https://triple-underscore.github.io/DOM4-ja.html (DOM Standard 日本語訳)

残すべきか要審議
http://www.ecma-international.org/ecma-262/5.1/ (ECMAScript 5.1 HTML版)
http://tsofthome.appspot.com/ecmascript.html (ECMAScript 5.1 和訳)
http://kangax.github.io/compat-table/es5/ (ECMAScript 5 compatibility table)
http://kangax.github.io/compat-table/es6/ (ECMAScript 6 compatibility table)
HTML Standard 日本語訳
https://momdo.github.io/html/
(「HTML5.1 部分訳」のリンクは、最近は誰も確認していなかった模様)
0082Name_Not_Found
垢版 |
2019/07/08(月) 07:09:40.06ID:???
>>74
ちゃんと書いてあることを読んでよ
あくまでWebの仕様外の話に絞って言ってるでしょ

パフォーマンスとか、細かなセキュリティポリシーの違いとか、Web仕様で定義されてる以外の
そこはブラウザ開発者の考え方次第、実装のされ方次第の問題だよねっていう所を言ってるんだよ?
0083Name_Not_Found
垢版 |
2019/07/08(月) 07:47:15.34ID:???
パフォーマンスや細かなセキュリティポリシーの違いは
Webの仕様で定義されてないって言ってる?
0084Name_Not_Found
垢版 |
2019/07/08(月) 08:00:56.01ID:???
>>82
横から口挟むけど、続けるなら、「実質無理」の理由を明らかにしてよ
見る限り、誰も納得できてないよ
0085Name_Not_Found
垢版 |
2019/07/08(月) 08:26:14.92ID:???
> 見る限り、誰も納得できてないよ

というより理由はまだ出ていない
>>68は実装じゃなくてライブラリの質問だった
0086Name_Not_Found
垢版 |
2019/07/08(月) 08:29:47.98ID:???
ああ、ひょっとして、>>50か?
>>56で論破されてから反応がないが
0087Name_Not_Found
垢版 |
2019/07/08(月) 16:10:15.75ID:???
>>46
> Webというものがブラウザのためだけのものでなくなって久しいんだから
> 基本ポリシーとしてブラウザの話も受け入れるのならば
> ブラウザ以外のWeb技術を導入しているプラットフォームの話題も受け入れないとおかしいことになる
>
> 俺はそれが実質無理だろうと思ったから、ブラウザも含めてプラットフォームの話は無しにしたほうがいいと言ってる

「実質無理」の論点ってここ?

質問者が質問する分には、幅広く間口を取っておいていいとおもうよ
回答がつくかどうかは別問題


こんなのを論拠に「ブラウザというプラットフォームの話を無しにする」って方がありえんし誰も幸せにならないだろ
メリットあるなら教えて欲しいもんだが
0088Name_Not_Found
垢版 |
2019/07/08(月) 18:08:23.43ID:???
50スレ前からいる俺は、>>74を「仕様の質問だけに限定するのは実質無理」と受け取ったが、100スレ前からいる彼には深い考えがあるのだろう。

- コードの動作確認が出来ない
- デバッガも使えない
- 仕様を読み取ってコードを書き、思考実験を繰り返す

この困難な状況をどうやって打開するのか、実に興味深い。
若輩者の私に、ご教示頂ければ幸いである。
0091Name_Not_Found
垢版 |
2019/07/09(火) 06:45:33.91ID:???
実質無理と言ったのは
>>54で書いたようにそういう話題を完全に受け入れるというスタンスでもないし、
その逆でも今はないんだから、今までの様に穏やかにいられないんでしょという皮肉

そして>>82でも言ったが誰も仕様の話しかしてはいけないとは言っていない
仕様から離れたプラットフォームの話、つまり具体的に言うなら
普遍的なWebというものから離れたブラウザ固有の仕様の話は受け入れるべきかという話

デバッガは開発ツールなので今までWeb仕様とは別の体感できる動作についてて主に話してたのとは
ちょっと系統は変わるが、それでいうとそういう開発外部ツールの話を受け入れるのであれば、
同様にトランスレータだったり、オーサリングツールの話も受け入れるようにしないと
それこそ好き嫌いのとくに理由のない恣意的な差別になる

別に俺はどちらでもいいんだが、俺が一番言いたいことはそのどちらと決まってないことで
スレチだの何だのと不毛に荒れるのが嫌だから、せっかく今テンプレ議論がされてるから
この際にそういうスタンスもある程度決めて明記しておこうということ
まあそれで荒れなくなるかどうかは分からないが、少なくともどういう質問・回答の仕方をしたらいいのかの目安にはなる
0092Name_Not_Found
垢版 |
2019/07/09(火) 08:20:13.92ID:???
>>91
長文ご苦労様だが、

> 今までの様に穏やかにいられないんでしょという皮肉

根拠があなたの頭の中にしかないから、以降の話が全く頭に入って来ない
何度言われても根拠を出さないのだから、「根拠が全くない」か「感想が根拠だと思っている」のどちらかなんだろうな…
0093Name_Not_Found
垢版 |
2019/07/09(火) 08:47:39.07ID:???
「俺はこう思う。お前らもそう思うだろ?」
→「そんなわけないだろ」(反対者多数)
→「なんで俺の思い(イメージ)を分かってくれないんだよ!」

今のところ、こんな印象
0094Name_Not_Found
垢版 |
2019/07/09(火) 09:24:21.17ID:???
勉強中のものです。
「そこに何を代入しても何も起こらない、メモリも食わない、エラーにもならないオブジェクト」ってないものなんでしょうか。
例えば var element にDOM要素が入っているとして element.value="piyo"; という命令があるのはよくあるパターンですが、
このelementに中身が入ってないとエラーが出たりしますよね。
私は、いちいち if (element) element.value="piyo"; というふうな中身の確認をせずに、代入をできるようにしたい
(element の中身が「それ」なら、何も起こらず、エラーも出ない)んです。
こういうブラックホールみたいな値やオブジェクトみたいな存在ってないんでしょうか。
0095Name_Not_Found
垢版 |
2019/07/09(火) 10:03:35.42ID:???
>>94
> このelementに中身が入ってないとエラーが出たりしますよね。
> 私は、いちいち if (element) element.value="piyo"; というふうな中身の確認をせずに、代入をできるようにしたい


https://developer.mozilla.org/ja/docs/Web/API/Document/getElementById
> 文書内に一致する要素がなければ null です。

.getElementById の返値をチェックすれば?
0096Name_Not_Found
垢版 |
2019/07/09(火) 11:09:28.64ID:???
>>94
jQueryがそういう設計になってる。

例えばその例ではvalueを設定しているが、
jQueryの設計では「"0個以上の要素"に対してvalueを設定する」という書き方をする。
だから要素が見つからなくてもエラーにならないし、複数見つかれば複数設定できる。

いまだにブラウザ間の互換性問題が解決したからjQueryはいらないなんて言ってるやつがいるが
こういう設計がDOM APIとは異なってる(使いやすい)ライブラリなんだよ。

で話を戻すと、jQueryでは $('.foo').val('piyo') みたいにセレクタで指定することが多いが、
$(elemment).val('piyo') みたいに単一の要素を指定することも可能。
この場合、elementの中身が入っていなくてもエラーにならない。
(elementの取得だけDOM APIを使うこともないだろうから普通にセレクタ使えばいいだろうけど)
0097Name_Not_Found
垢版 |
2019/07/09(火) 12:27:20.24ID:???
>>94
変数にする以上はメモリを消費するので、メモリを消費しない方法はない
変数にしなければ、当然、メモリは消費しない

if (typeof element !== 'undefoned' && Object(element) === element)
element.value="piyo";

メモリを度外視するなら、Object.create(null) でラップオブジェクトを作って、setterかnew Proxyでプロパティを監視する事で実装可能
0098Name_Not_Found
垢版 |
2019/07/09(火) 12:39:17.95ID:???
jQueryってメモリ消費しないんですね。ありがとうございました。
0099Name_Not_Found
垢版 |
2019/07/09(火) 12:40:44.57ID:???
>>92,>>93
なんか勘違いしてるのかもしれないけど
思いを分かってもらいたいわけではなく
何か揉めたときに、テンプレに「自ら学ぶため」という言葉があれば
まあそれを持ち出して決着を付ける事が本当に良いことかは置いといて、
一応このスレのスタンスだからと言えるでしょ

でも今のままでは、俺が折角マニアックな質問を色々調べて回答してあげても
それにスレチだなんだケチがついたときにどっちが正しいとも言えず永遠喧嘩になるでしょ
それはどちらが悪いとかじゃなくて俺と彼とで考えるこのスレで扱うものの基準が違うという事で、それが何処にも示されていない以上、個人の好みになっちゃうんだから
それで俺も彼も質問者も不幸になることはもうやめたいんだよ

俺はpart20かそこらから質問回答してきて、自分だったり他人だったり実際そうやって嫌な思いを沢山してきたから
不幸になる人が少しでも減るようにテンプレに基準を入れてほしいと言ってるの
別に崇高な一般論を理解してもらおうと主張してるわけではない
最初からそういう俺の小さなお願いのつもりだったのに
なんでこんなに突っ込まれて話が大きくなったんだろうね?
もう俺のことはスルーしていいよ
0100Name_Not_Found
垢版 |
2019/07/09(火) 12:47:25.64ID:???
>>94
falsyな時だけ「空のオブジェクト」を代入するなら、こういう書き方はある
>>97は一つのオブジェクトで一元管理する

var element = document.getElementById('foo') || Object.create(null);

>>98
そんなわけない
変数にする以上は、メモリを消費する(>>97)
0101Name_Not_Found
垢版 |
2019/07/09(火) 14:20:24.60ID:???
コードは長くなるけど変数使わないからメモリ消費しないんだぜ!



そのコードを入れておくメモリが消費される
0102Name_Not_Found
垢版 |
2019/07/09(火) 14:21:23.30ID:???
>>100
この質問の本質は、そういうコードを書きたくないということでしょう?
0103Name_Not_Found
垢版 |
2019/07/09(火) 14:33:23.67ID:???
結局何をしたいのか分からん
C言語だって char *a = "abc"; と書いたとき、ポインタ a の分だけメモリ喰うわけだしな

したいことと、典型的なコードでなってしまうことの差が
具体的に分からないと何ともいえない

https://jsbin.com/yemedon/edit?html,js,console
こういうのとは違うみたいだし
0104Name_Not_Found
垢版 |
2019/07/09(火) 14:42:37.02ID:???
無理矢理いえば test() の返値は必ず入る
アセンブラのときにレジスタに必ず入るかどうかは知らない

0 との比較の場合はアセンブラ的には即値0が必要とならないケースが多い、はず
RISCでどうなるか等は知らない
サボリのためCASLの仕様書は読んでない
0105Name_Not_Found
垢版 |
2019/07/09(火) 15:13:50.86ID:???
変数は必ずしもメモリを消費しない
インライン化とエリミネーションで半分程度削減される
だからデバッガを有効にしてるとメモリを食う
0106Name_Not_Found
垢版 |
2019/07/09(火) 15:39:24.86ID:???
> 私は、いちいち if (element) element.value="piyo"; というふうな中身の確認をせずに、代入をできるようにしたい

そもそも、これって vanilla JS で実現できるの?
0107Name_Not_Found
垢版 |
2019/07/09(火) 15:46:49.40ID:???
入力があって、出力対象となるべき要素がなければ
parentNode に appendChild() するのが自然な考え方にもおもえる
無視して良いという仕様なのだろうか(そうだとしたら while で終わりか?)

メモリどうこうより仕様が気になるな
それとも「じつはライブラリ房でした」というオチなのか
0108Name_Not_Found
垢版 |
2019/07/09(火) 15:59:43.81ID:???
Rubyには通称ぼっち演算子っていってね、

a=nil
a&.foo
# =>nil

みたいに、値がnilでもエラーにならない方法があるんだよ。
どうせこれのこと言ってるんっでしょ?

でもね、コード上メモリを使ってないように見えても、
アセンブラレベルで見れば「if nil だったら nil を返す」って
コードになってて、コードの分のメモリ使ってますからw
0109Name_Not_Found
垢版 |
2019/07/09(火) 16:10:08.48ID:???
>>107
いつものRuby厨がしたり顔をしにやってきたが、
言いたいことを先に言われ、良い所を
jQuery厨に持っていかれたという流れw
0110Name_Not_Found
垢版 |
2019/07/09(火) 16:42:52.24ID:???
イケてる言語のNull条件演算子:
C#
?.
Swift
?.
Kotlin
?.
イケテナイ言語のNull条件演算子:
ブビィ
&.

ムダな認知負荷の大きいクソ言語。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況