2ch勢いランキング アーカイブ

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


Name_Not_Found [] 2019/05/19(日) 16:07:12.99:2J4OYdDV
JavaScript を自ら学ぶ人のための質問スレッドです。
次スレはが(本スレで改善案があれば考慮して)立ててください

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

■前スレ
+ JavaScript の質問用スレッド vol.139 +
ttps://mevius.5ch.net/test/read.cgi/hp/1555750241/
Name_Not_Found [] 2019/05/19(日) 16:08:41.33:2J4OYdDV
■FAQ

◆開発者ツール(Developer Tools)の基本的な使い方
 ▼諸注意
  - 本説明では Google Chrome の開発者ツールの名称に従います。他ブラウザで使う場合は適宜読み替えて下さい。
  - Edge- でコンソールを使うには予め開発者ツールを起動しておく必要があります(開発者ツールを起動しないと console.log() が機能しません)
  - Safari はデフォルトで開発者ツールが無効な為、有効に設定する必要があります。
  ttp://https://developer.apple.com/library/safari/documentation/AppleApplications/Conceptual/Safari_Developer_Guide/GettingStarted/GettingStarted.html
 ▼要素を検証
 1. ページ上で右クリックして [要素を検証]
 2. [Elements] パネルが開き、対象のDOMノードが選択される(選択対象が目的の要素でなければ [Elements] パネル上で選択し直す)
 3. 右側のサイドバーから知りたいステータス名のタブを選択する
   - [Styles] タブ … CSSプロパティの指定値を表示 (※カスケードによって上書きされたプロパティは取り消し線で表示される)
   - [Computed] タブ … CSSプロパティの算出値を表示("font-size: 1em" を指定していても算出後の "*px" で表示される)
   - [Properties] タブ … 選択したDOMノードのプロパティを表示
 ▼コンソール
 1. JavaScript コード上で console.log('Hello, World!'); と入力
 2. [Ctrl] + [Shift] + [I] キー(IE は [F12])で開発者ツールを開き、[Console] パネルを開く
 3. [Console] パネルに "Hello, World!" と表示される
 (※window.alert() は String 型に変換されますが、console.log() は Object 型の中身をそのまま表示してくれます。)
Name_Not_Found [] 2019/05/19(日) 16:09:34.88:2J4OYdDV
■FAQ(続き)
◆JavaScriptの実行速度
JavaScriptの速度は「ブラウザ名」「ブラウザのバージョン」「PCスペック」に依存します(ブラウザのバージョン毎に最適化具合が異なります)。
速度の疑問解消の為に ttp://http://jsperf.com/ (githubのアカウントが必要です)にコードをUPしてブラウザ毎に速度計測する事を推奨します。

例外として、仕様における理論上の速度が明確になっている場合があります。
例えば、正規表現によるマッチング処理を考えた場合、「RegExp#test > RegExp#exec > String#match」は ES5 仕様で保証(要出典)されています。
ES5 仕様において RegExp#test が最も処理数が少なく、String#match が最も処理数が多いことが明確だからです。
ブラウザによっては RegExp#test の最適化が十分でなく、String#match の最適化が RegExp#test より十分であれば逆転する可能性はありますが、各メソッドの最適化が一律であればこの前提が崩れる事はありません。

■各種仕様
◆ Standard ECMA-262
ttp://http://bclary.com/2004/11/07/ (ECMAScript 3 HTML版)
ttp://http://www2u.biglobe.ne.jp/~oz-07ams/2002/ecma262r3/ (ECMAScript 3 和訳)
ttp://http://www.ecma-international.org/ecma-262/5.1/ (ECMAScript 5.1 HTML版)
ttp://http://tsofthome.appspot.com/ecmascript.html (ECMAScript 5.1 和訳)
ttp://http://www.ecma-international.org/ecma-262/6.0/ (ECMAScript 6 / ECMAScript 2015)
ttp://http://kangax.github.io/compat-table/es5/ (ECMAScript 5 compatibility table)
ttp://http://kangax.github.io/compat-table/es6/ (ECMAScript 6 compatibility table)
◆ HTML Standard (HTML5)
ttp://http://www.whatwg.org/specs/web-apps/current-work/multipage/
ttp://http://momdo.s35.xrea.com/web-html-test/spec/WD-html51-20130528/Overview.html (HTML5.1 部分訳)
ttp://http://www.hcn.zaq.ne.jp/___/WEB/WebStorage-ja.html (Web Storage 和訳)
Name_Not_Found [] 2019/05/19(日) 16:10:12.05:2J4OYdDV
■各種仕様 (続き)
◆ Document Object Model (DOM) / CSS Object Model (CSSOM)
ttp://http://www.hcn.zaq.ne.jp/___/WEB/DOM4-ja.html (DOM Standard (DOM4) 和訳)
ttp://http://www.w3.org/TR/DOM-Level-3-Events/ (DOM3 Events)
ttp://http://www.w3.org/TR/uievents/ (UI Events)
ttp://http://www.hcn.zaq.ne.jp/___/WEB/cssom-ja.html (CSSOM 和訳)
ttp://http://www.hcn.zaq.ne.jp/___/WEB/cssom-view-ja.html (CSSOM View Module 和訳)
◆ その他のWeb関連仕様
ttp://http://domparsing.spec.whatwg.org/ (DOM Parsing and Serialization - innerHTML等)
ttp://http://www.hcn.zaq.ne.jp/___/WEB/XHR-ja.html (XMLHttpRequest 和訳)
ttp://http://www.hcn.zaq.ne.jp/___/WEB/File_API-ja.html (File API 和訳)
ttp://http://www.whatwg.org/specs/ (WHATWGの仕様一覧)
◆ MDN (Netscape/Mozilla)
ttp://https://developer.mozilla.org/ja/docs
◆ MSDN Library
ttp://https://msdn.microsoft.com/en-us/library/ie/hh828809 (Internet Explorer API)
ttp://http://msdn.microsoft.com/ja-jp/library/yek4tbz0.aspx (JavaScript)
ttp://http://msdn.microsoft.com/ja-jp/library/cc427807.aspx (JScript)
ttp://http://msdn.microsoft.com/ja-jp/library/cc409712.aspx (DHTML)
◆ JavaScript Garden (ja)
ttp://http://bonsaiden.github.com/JavaScript-Garden/ja/
◆ JSON (JavaScript Object Notation)
ttp://http://www.json.org/json-ja.html

■テンプレ案
ttp://http://fiddle.jshell.net/fH4cC/180/show/light/

■FAQ
ttp://http://fiddle.jshell.net/vSqKr/44/show/light/
Name_Not_Found [] 2019/05/19(日) 16:11:02.98:2J4OYdDV
■テンプレ案
ttp://https://fiddle.jshell.net/6ksf2087/show/light/

■参考URL
ダウンロード、CDN
ttp://http://jquery.com/download/
ブラウザサポート
ttp://http://jquery.com/browser-support/
jQuery UI
ttp://http://jqueryui.com/
jQuery UI ダウンロ−ド
ttp://http://jqueryui.com/download/
リファレンス等
ttp://http://alphasis.info/
ttp://http://www.jquerystudy.info/
ttp://http://js.studio-kingdom.com/
【翻訳まとめ】jQuery 3.0 アップグレードガイド - Qiita
ttp://http://qiita.com/fmy/items/345a264a1cf2e2a73f62
Name_Not_Found [] 2019/05/19(日) 16:11:52.19:2J4OYdDV
■JavaScript主要ライブラリ・フレームワーク

jQuery
ttp://http://jquery.com/
jQuery UI
ttp://http://jqueryui.com/
jQuery Mobile
ttp://http://jquerymobile.com/
Lo-Dash
ttp://https://lodash.com/
Backbone.js
ttp://http://backbonejs.org/
Underscore.js
ttp://http://underscorejs.org/
AngularJS
ttp://https://angularjs.org/
Knockoutjs
ttp://http://knockoutjs.com/
RequireJS
ttp://http://requirejs.org/
D3.js
ttp://http://d3js.org/
threejs
ttp://http://threejs.org/
Name_Not_Found [] 2019/05/19(日) 16:12:40.79:2J4OYdDV
Q. jQueryはどのバージョンを使えばいいのですか?
A. IE9以上であれば、jQuery 3.0を使用してください。
IE8以下にも対応するならば、jQuery 1.12を使用してください。

補足

jQuery 1.9 までは一系統しかなく、古いブラウザも含めて全て対応していました。
その後、古いブラウザを切り捨てるためにバージョンを分岐させました。
古いブラウザにも対応した1系(1.10、1.11、12)と
古いブラウザを切り捨てた2系(2.0, 2.1, 2.2)です。

1系と2系は対応ブラウザの違いだけで機能は全く一緒です。
機能が同じなのにメジャーバージョンが違っているのが分かりにくい
ということでバージョン番号の付け方を変えることになり、
新たに古いブラウザを切り捨てたjQuery 3.0、そして古いブラウザにも対応した
jQuery Compat 3.0がリリースされる予定でした。

しかしマイクロソフトが古いIEのサポートポリシーを変更し
サポート中であるOSで動く、最新のIEしかサポートしなくなったために、
2016年1月でVista上のIE8のサポートが終了しました。

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



ライブラリ固有の質問はこちらへ

JavaScript ライブラリ総合質問所 vol.5
ttps://mevius.5ch.net/test/read.cgi/hp/1465399470/
Name_Not_Found [] 2019/05/19(日) 16:16:42.41:2J4OYdDV
なお、回答者は sage ないでください。
回答者のふりをした「執拗な質問者叩き」が多発しているため、ご協力をお願いいたします。
Name_Not_Found (ワッチョイ 6e8f-4YhY) [] 2019/05/19(日) 16:32:16.21:2J4OYdDV0
批判の代わりに「AよりBが良い」のような代案を出す事

が禁止行為に入っていましたが、暫定的にリストから外しています。
「代案も何も出さない」「中身の全くない質問者叩き」よりは、生産性があるのではないでしょうか。
Name_Not_Found (ワッチョイ 6e8f-4YhY) [] 2019/05/19(日) 16:34:43.74:2J4OYdDV0

> 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。

これの扱いも、今後どうすべきか議論する必要があろうかと。
Name_Not_Found (ワッチョイ 6e8f-4YhY) [] 2019/05/19(日) 16:38:14.67:2J4OYdDV0
最後に。

他の板だと


!extend:checked:vvvvv
!extend:checked:vvvvv
!extend:checked:vvvvv
↑三行重ねる事(末尾にスペース付いていたら消す)

というテンプレが入っているケースがあります。以後どうするか、方針を考えていきましょう。
Name_Not_Found (ワッチョイ 6e8f-4YhY) [] 2019/05/19(日) 16:52:38.21:2J4OYdDV0
+ JavaScript の質問用スレッド vol.139 +
ttps://mevius.5ch.net/test/read.cgi/hp/1555750241/961
の転記漏れがあったので。


961 名前:Name_Not_Found (ワッチョイ 6e8f-4YhY)[] 投稿日:2019/05/19(日) 16:29:45.08 ID:2J4OYdDV0
そんな訳で2案。

1. age 進行
2. 回答者は !slip:vvvvv を名前欄に

対案あったらどうぞよろしくお願いします。
Name_Not_Found [sage] 2019/05/19(日) 17:17:31.62ID:???
ttp://https://svelte.dev/blog/virtual-dom-is-pure-overhead
Virtual DOM は速いという幻想を忘れましょう
Name_Not_Found [sage] 2019/05/19(日) 17:39:29.23ID:???
■バグリング君の持ち技
煽る
布教
二重基準
自爆

■バグリング君が質問する目的
わざと欠けてる情報で相手を釣る。
おちょくり回して遊ぶ。
最後にマウントする

■バグリング君への対策(質問編)
質問に不足情報があれば、補足要求する(回答してはいけない)
補足要求に対して情報開示しないレスを返して来たら、無視する
質問に煽りが少しでも入っていれば、無視する
「おまえわかってないだろ?」というニュアンスのレスも無視する
質問に不適切な態度をとっている者は徹底的に無視する

■バグリング君への対策(回答編)
ライブラリ布教活動は徹底的に無視する
回答に対しての嘲り/煽り/嘲笑行為も無視する
基本は質問者に回答する事だけに注力する
バグリング君の兆候がなければ、回答者同士で対話するのは可(初めはその兆候がなくても、途中で少しでも怪しいと感じれば、無視する)
ただし、布教活動の一環で自演質問してくる場合もある(jQuery使うとこんなに便利なんですね的な)ので、適宜判断して見切りをつける

■まとめ
荒らしは無視して、荒らし以外でコミュニケーションをとること
議論が白熱しても、「荒らしかもしれない」と感じたなら、即座に撤退すること
傍観者視点では撤退した方が「大人の対応」と受け取れる
Name_Not_Found [sage] 2019/05/19(日) 18:33:10.63ID:???
> 荒らしは無視して

そうやって書き込むことが、無視できてない証拠なんだがなw
Name_Not_Found (ワッチョイ 6e8f-4YhY) [] 2019/05/19(日) 23:58:35.73:2J4OYdDV0
SN比を意識するのは当然のことだとおもいます
ノイズは削る、と
Name_Not_Found [sage] 2019/05/20(月) 00:33:52.59ID:???
上級国民の飯塚 幸三さんが逮捕されない真の理由がヤヴァイ

ttp://https://youtu.be/r01EG3-OflE
Name_Not_Found [sage] 2019/05/21(火) 19:10:30.06ID:???
あえて荒らしを無視する必要はない
最近のレスの半分は荒らしなのだから
ここは半分は荒らしのためのスレであって
荒らしも普通と思えばいいだけ
それで何も問題ではなくなる
Name_Not_Found [sage] 2019/05/21(火) 20:33:45.42ID:???

質問者をつぶせば、回答する必要がなくなって解決か
Name_Not_Found (ワッチョイ 938f-h/tS) [] 2019/05/23(木) 08:49:53.51:t2rWukz00
前スレから。



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

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

質問者のかたは
1!slip:vvvvv
みたいなかんじで、よろしくお願いいたします。
Name_Not_Found (ワッチョイ 938f-h/tS) [] 2019/05/23(木) 08:51:20.98:t2rWukz00
うぉ
何か全然違うのに変わってる!!!
JaneStyleいじってないしIPアドレスもそのままの筈なのに何故ワッチョイ変わってるんだろう

すみません です
申し訳ございません
Name_Not_Found [sage] 2019/05/23(木) 09:06:08.98ID:???
ワッチョイは一週間ごとに変わるし
IPアドレスを変えても変わる。
ブラウザを変えても変わる。
そんくらい知ってるで?
Name_Not_Found (ワッチョイ 938f-h/tS) [] 2019/05/23(木) 10:15:50.49:t2rWukz00
8f- の部分は変わってないな
[0-9a-f]{2}なり[0-9a-f][0-9a-f]なりでマッチする
Name_Not_Found [sage] 2019/05/24(金) 09:58:40.51ID:???
ローカルストレージには、
localStorage.setItemの前にWindowsが付くものと付かないものがありますが、
どっちが正しいですか?
Name_Not_Found [sage] 2019/05/24(金) 11:26:12.85ID:???
windowでしょ、windowは省略可能というだけ
Name_Not_Found [sage] 2019/05/24(金) 12:22:03.44ID:???

Name_Not_Found [] 2019/05/24(金) 20:09:43.52:KkNLWWTl
わっちょいの目的って何?
Name_Not_Found [sage] 2019/05/24(金) 21:16:07.35ID:???
仮に2ch運営が想定した目的があるとして、
それはお前でも分からないようなものなのに尊重できるのか?
Name_Not_Found [sage] 2019/05/24(金) 21:43:18.37ID:???
> 仮に2ch運営が想定した目的があるとして、

え?あるでしょ?2ch運営が想定した目的。
まずそれを書くのが最初では?
Name_Not_Found [sage] 2019/05/24(金) 21:51:58.33ID:???
てめえで考えろそれが答えだ
Name_Not_Found [sage] 2019/05/24(金) 21:59:28.29ID:???
ワッチョイは自作自演防止
だからはなっから自作自演しようと
してない人には効果がない
Name_Not_Found [sage] 2019/05/24(金) 22:19:06.39ID:???
自作自演しようとしている人にはワッチョイは都合が悪い
Name_Not_Found [sage] 2019/05/24(金) 22:20:27.03ID:???
jQueryおじさんに反対してる人がこんなにいますって
自作自演がしづらくなったってこと?
Name_Not_Found [!slip:vvvvv] 2019/05/24(金) 22:23:48.34ID:???

- 回答に参加しているを見分ける判断材料
- いつもくだらない質問をしている人を見分ける判断材料

自作自演がどうというより、定常的に迷惑行為を働いているユーザを目立たせるのが目的
ワッチョイない人は黒よりのグレー
36 (アウアウエー Sa9f-LXSb) [sage] 2019/05/24(金) 22:24:45.54ID:???a
36!slip:vvvvv
36 (アウアウエー Sa9f-LXSb) [] 2019/05/24(金) 22:26:22.00:uY/5mLhia
sage + 36!slip:vvvvv だとID不明でワッチョイが付くのか...
Name_Not_Found [sage] 2019/05/24(金) 22:30:43.04ID:???

それを聞くと、目立ちたい人が、
ますます目立つためのものって気がするw
Name_Not_Found [sage] 2019/05/24(金) 22:45:06.47ID:???

意味不明
売名するなら「固定HN+トリップ」するだろうに
定期的にリセットされる上に他人とかぶる可能性があるワッチョイでは名は売れない
Name_Not_Found [sage] 2019/05/24(金) 22:50:53.61ID:???
つまりコテハントリップほどの
効果はないということかな?
Name_Not_Found [sage] 2019/05/24(金) 23:00:18.24ID:???

売名効果はな
Name_Not_Found [sage] 2019/05/24(金) 23:04:56.56ID:???

逆に聞くけど、なぜ売名効果があると思ったの?
Name_Not_Found [sage] 2019/05/25(土) 06:57:58.59ID:???
目立つから間違いなくあるね
Name_Not_Found [sage] 2019/05/25(土) 07:11:49.27ID:???

悪目立ちしてNGIDされるわけだな
素晴らしい
Name_Not_Found [sage] 2019/05/25(土) 10:36:01.20ID:???
売名!売名!(都合が悪いバグ...)
Name_Not_Found (ワッチョイ 938f-h/tS) [] 2019/05/25(土) 12:47:36.12:82GLT9wX0

その方が好ましい人には、1つの選択肢かと存じます。
皆様方が、自分にとって「最も好ましい」方法を選択なさるのが良いかと存じます。
Name_Not_Found (ワッチョイ 938f-h/tS) [] 2019/05/25(土) 12:50:23.18:82GLT9wX0

ttp://https://developer.mozilla.org/ja/docs/Web/API/Storage
ttp://https://developer.mozilla.org/ja/docs/Web/API/Storage/setItem

勉強になりました
ありがとうございます

MDN を調べる習慣をつけると生産性あがりますね
Name_Not_Found (ワッチョイ 938f-h/tS) [] 2019/05/25(土) 12:52:45.71:82GLT9wX0
+ JavaScript の質問用スレッド vol.139 +
ttps://mevius.5ch.net/test/read.cgi/hp/1555750241/998

> 998 名前:Name_Not_Found[sage] 投稿日:2019/05/25(土) 07:38:12.67 ID:???
> Bootstrapは何と読むのでしょうか?
> ブーツトラップでいいでしょうか?

mojibake が将来「もじべいく」と発音するのが
おおむね予定されているように
コの業界なら「ブーツトラップ」と読むのがメジャーになるかもしんない
Name_Not_Found [] 2019/05/25(土) 21:09:26.64:hxu4ZBjr
ぶ〜TSTラップって読むのが成功の元
Name_Not_Found [] 2019/05/26(日) 00:49:22.51:Nk03EplQ
今なら
「ラクテンスーパーポイントスクリーン」
登録するだけでRポイント150pが貰える!

※Androidアプリのみ
iPhoneユーザーはWeb版から登録のみ可能

登録完了後に表示される招待コ一ドをお持ちですか?のところで
「i9WPjs」
を入力する

完了

祭りだ♪ヽ('∀')メ('∀')メ('∀')ノワッショイ
Name_Not_Found [sage] 2019/05/26(日) 21:31:51.16ID:???
すいません。

まずメインのぺーじとして、例えばa.htmというフレームセット
<frameset rows="60, *" cols="*" frameborder="0" border="0">
<frame name="namea" src="namea.htm>
<frame name="nameb" src="nameb.htm>
があるとします。

で、その中のnamea.htmの中で
window.open("namec.htm","namec")
で別ウィンドウで1つ開きます。
この状態では当然namec.htmからnamea.htmのフォーム内の値は取れます。

その後nameb.htmのなかで
top.href = "a.htm"
とかやってa.htmを呼びなおします。

で、その後namec.htmからnamea.htmのフォーム内の値は取りたいってわけです。
Name_Not_Found [sage] 2019/05/26(日) 22:21:04.71ID:???

Name_Not_Found [sage] 2019/05/26(日) 22:27:18.38ID:???

そもそもフレームは使うな
Name_Not_Found [sage] 2019/05/26(日) 22:59:41.24ID:???
質問じゃないんだから独り言じゃね?
Name_Not_Found [sage] 2019/05/27(月) 00:10:45.81ID:???
すいません。
質問です。
Name_Not_Found [sage] 2019/05/27(月) 00:14:02.13ID:???
追加で質問です。

1行テキストに文字を入力した後にボタンを押し、

テキストエリアに文字を改行しながら、登録したいのですが

ボタンを押すと、上書きされてしまい、うまく行きません。

どなかわかる方がいれば、ご教授ください。お願いいたします。

<html>
<head>
<script type="text/javascript">
<!--

function move()
{a=document.form.text.value;
document.form.area.value=a}

//-->
</script>
</head>
<body>

<form name="form">
<input type="text" name="text" size="10" value="777">
<input type="button" value="move" onClick="move(); text.value=''">
<textarea name="area" cols="40" rows="20"></textarea>
</form>

</body>
</html>
Name_Not_Found [sage] 2019/05/27(月) 00:33:38.60ID:???

Name_Not_Found [sage] 2019/05/27(月) 00:39:11.32ID:???
すいません。

どうすればなにがどうなるのか、わかりません。
Name_Not_Found [sage] 2019/05/27(月) 00:45:01.55ID:???

の何が分からないと?
Name_Not_Found [sage] 2019/05/27(月) 00:57:24.48ID:???
何のために何をしろと言っているのか、わかりません。

何をしたら何がおきるのか、わかりません。

どういうときに、何をしたらいいのか、全くわかりません。
Name_Not_Found [sage] 2019/05/27(月) 01:01:24.66ID:???

ルールを守らない人にはまともな回答はつかない可能性が高くなる
Name_Not_Found [sage] 2019/05/27(月) 01:14:13.61ID:???
思考停止の指示待ち人間なら、質問せずにアウトソーシングすればいいと思う
Name_Not_Found [sage] 2019/05/27(月) 01:57:30.57ID:???

テンプレの範囲から外れてにもなって突然いい出したことを勝手にルールにされても困る
ここのルールは 以上
それが不満なら別スレ建てろ
スレタイにワッチョイ進行と入れるのを忘れずにな
Name_Not_Found [sage] 2019/05/27(月) 12:56:22.41ID:???
テンプレも一新したほうが良いと思う
とか今ではexecよりもtestの方がステップ数多いし
Name_Not_Found (ワッチョイ 938f-h/tS) [] 2019/05/27(月) 13:28:33.04:LhbQbJZv0
"ES5" と書いてあるからには ECMAScript(ES6) で同じように言える保証はない…
というのを質問者に理解するよう要求するのは難しいかなあ


新テンプレ案たのむ
Name_Not_Found [] 2019/05/27(月) 13:30:09.25:MF0WRVGW
じゃあ俺がそのテンプレで良いかどうかジャッジするわ
Name_Not_Found (ワッチョイ 938f-h/tS) [] 2019/05/27(月) 13:30:16.01:LhbQbJZv0

> 何のために

なりすまし・荒らしの防止のため、書いている人が特定できるようにするのが目的

> 何をしろ

名前欄に 52!slip:vvvvv と記入せよ
Name_Not_Found (ワッチョイ 938f-h/tS) [] 2019/05/27(月) 13:31:22.18:LhbQbJZv0

> 何をしたら

名前欄をそのままにしたら

> 何がおきるのか

なりすましが発生する可能性がある
荒らしが発生する可能性がある
そういうのが警戒されているのもあり、回答が付かなくなる
Name_Not_Found (ワッチョイ 938f-h/tS) [] 2019/05/27(月) 13:34:22.63:LhbQbJZv0

> テンプレの範囲から外れてにもなって突然いい出したことを勝手にルールにされても困る

前スレの末の方の議論を参照されたし
時期として「新スレを立てる必要性」が発生したとき、結論はまだ出ていなかった

やむなく、前スレで方針を確定し、 で今後のスレ運営の方針を記載
当然、当スレを立てた時点では、テンプレに入れられる訳もない


「これこそが」前スレから当スレに至る流れであり、
それが不満なら、「新しい流れ」のスレを君が立てたまえ
スレタイに「ワッチョイ無用」と入れるのを忘れずにな
Name_Not_Found (ワッチョイ 938f-h/tS) [] 2019/05/27(月) 13:39:38.85:LhbQbJZv0
そもそもなんだが frame の是非をおいたとしても


  <script type=”text/javascript”>

こんにちでは<script>で足りるし
古いブラウザでも運用上問題なかったりするんだが…。

<!-- とか、どういうブラウザを想定してるんだろう
その辺を明確にしないと、環境に適合した回答は不可能
ES6 のことをなーんにも知らないブラウザで全く動かなくて後からケチつけられても困る
Name_Not_Found [sage] 2019/05/27(月) 13:51:05.72ID:???
手抜きでコピペして終わるやつが多いからな。
無駄を削ぎ落として必要最小限にするという作業を
しないやつが多い。まあコピペばかりしていて出来ないんだろうけど

scriptにtypeをつけるやつとかHTML5なのに/>を使うやつとか
そういった手抜きしているやつは技術者じゃない
Name_Not_Found [sage] 2019/05/27(月) 14:29:29.21ID:???
frame というタグは、見たことがない!


[Javascript]TEXTAREAで改行させるには?
ttp://https://oshiete.goo.ne.jp/qa/572864.html

a=document.form.text.value;

b=document.form.area.value;
document.form.area.value = b + "\n" + a;

または、document.form.area.value += ( "\n" + a );

例えば、"aaa\nbbb" なら、1行目がaaaで、2行目がbbbなら、
改行コード"\n" が付いていないのなら、それを付け足さないといけない

質問者は話を続けるなら、名前欄に最初のレス番号を入れてください!
Name_Not_Found [sage] 2019/05/27(月) 15:55:27.62ID:???
お前が見たことあるかどうかなどどうでもいい。
Name_Not_Found (ワッチョイ 938f-h/tS) [sage] 2019/05/27(月) 16:52:56.66ID:???0
私、ECMAScript2015(ES6)を習い始めて1か月と経たない初心者なんでアレですが
から考えられるのって ttp://https://jsbin.com/xirucuz/edit?html こんなかんじですかねえ…

for ループの辺りは「古臭くて時代遅れだ」とか言われそうな気もしますが
何かしら、もっとスマートな書き方があれば御教示いただきたく存じます

br タグはテキトーに挿入しただけなので「デザインと分離しろ!」と言われそうな気がします
改善案があれば是非
Name_Not_Found (ワッチョイ 938f-h/tS) [sage] 2019/05/27(月) 17:08:39.61ID:???0
ttp://https://jsbin.com/seyidad/edit?html,output

若干変えてみました
Name_Not_Found [sage] 2019/05/27(月) 19:15:23.15ID:???

pの使い方が間違い

ttp://https://jsbin.com/zecisojode/edit?html,output
Name_Not_Found (ワッチョイ 938f-h/tS) [sage] 2019/05/27(月) 20:06:40.03ID:???0

質問です。

改善版の方は、入力の部分に<p.>
出力の部分で別途の<p>要素を用いて書いてみたものです。
おそらく CSS の class 属性等をうまく使えば、入力部品個々の要素に統一的なデザインを施せるのではないでしょうか

スタイルはhtmlデザインに依存するので、「入力部分のデザイン」「出力部分のデザイン」として設定できるように
個々にp要素を独立させ、 のように書いてみました。

<br> の場合でも似たようなことは実現できるかも知れませんが、意味として、1番目のp要素は入力関係、
2つ目は出力関係という区別もあり、分ける「意味」があるのではないでしょうか。


また、jQuery についても、確認したいことがございます。
このケースで、vanillaJS でも充分に書けるのに、敢えてjQueryを使う理由は何でしょうか。パフォーマンス??
また、3.3.1 を使っていない理由も、良く分かりません。jquery.om.js を使わない理由も、良く分かりません。どのようなメリットがあるのでしょうか。
Name_Not_Found [sage] 2019/05/27(月) 20:24:00.07ID:???
jQueryスレの存在意義…
Name_Not_Found [sage] 2019/05/27(月) 20:33:08.82ID:???

いやいや、お前正気か?
ですら見ることが期待できないのが現実なのに
お前は来る人全員にを見ろと言うのか?
それとも前スレから見てこいってことか?

飛び込みの未熟な質問者を守るためのルールじゃないのか?
一見様お断りみたいな事して本末転倒だろ
Name_Not_Found (ワッチョイ 938f-h/tS) [sage] 2019/05/27(月) 20:52:43.06ID:???0

そうだよー

「web制作板でやれ」的な発言を見掛けたら
全て注意しといたもん


> 飛び込みの未熟な質問者を守るためのルールじゃないのか?

そうだよー
名無しの荒らしが質問者を罵倒するのを防ぐためのルールだよ
Name_Not_Found (ワッチョイ 938f-h/tS) [sage] 2019/05/27(月) 20:55:41.38ID:???0

ですら見ることが期待できないのが現実なのに

も見て頂戴
んで の問題点をフルボッコにして頂戴
Name_Not_Found [sage] 2019/05/27(月) 20:57:36.50ID:???

すまんが俺から見たらお前は純粋な悪だわ

分かりやすく条件を示していないのに後からケチばかり付けるって
それ正に前スレの荒らし君と同じことだもの
悪気がないだけ荒らし君よりも質が悪い

だからまあお前の思う通りになることはないよ
誰のためにもなりやしないことだからね
Name_Not_Found [sage] 2019/05/27(月) 21:35:17.59ID:???
純粋な悪(笑) ベジータ
Name_Not_Found [sage] 2019/05/27(月) 21:44:44.40ID:???

そう思うなら、あなたが荒らしを排除する為の代替案を提案すればいいと思うよ
Name_Not_Found [sage] 2019/05/27(月) 22:01:55.06ID:???
ダメだしだけの上司が悪平等を振りかざしている図
Name_Not_Found [sage] 2019/05/27(月) 22:09:34.83ID:???

俺はそもそもその必要が無いと言っている
お前がこのスレをお前の思う通りに動かそうとするほうがよっぽど問題だわ
お前がお前のためのお前が回答しやすいスレを作るのは勝手だが
由緒正しきJS質問スレを乗っ取るのはやめろ
Name_Not_Found [sage] 2019/05/27(月) 22:12:10.86ID:???
そもそもというが
前スレでは結論なんて出てなかったし
ただ単にお前がで書いたことを守れと勝手に言ってるだけだろ
どんだけ自己中なんだよ
Name_Not_Found (ワッチョイ 938f-h/tS) [sage] 2019/05/27(月) 22:20:50.27ID:???0
あのさあ
こういう usage じみた名無し発言が質問者を委縮させてんの

分からない?


ケチつけまくるのは勝手だが
文責を明らかにしろよ

 「自作自演だ」「反対してるのは1人だけだ」「荒らしてだけだ」

と言われても文句いえないって分かってる?
Name_Not_Found (ワッチョイ 938f-h/tS) [sage] 2019/05/27(月) 22:23:55.15ID:???0
んで

node.jp とか electron はともかくとして
一般的には web で使われるでしょうに

ム板の人も Web 制作板でやるよう主張してるっつの
文句言ってるのは名無しだけだっつの
「1人の名無しが荒らしてる。やはりワッチョイなりIDなりは必要」と言われても文句いえない訳


そこまで言うなら「ワッチョイ無用スレ」作りなよ
名無しさん以外、文句言ってるひと「居ない」んだからさ
Name_Not_Found (アウアウエー Sa9f-9b2Z) [] 2019/05/27(月) 22:27:19.75:czKdDCVua
ワッチョイの有用性はに書いてある


俺はではないが、p要素の使い方は誤っていない
ただし、コードには改善の余地がある
ttp://https://jsbin.com/damadamoha/1/edit?html,output

ライブラリ関連はjQuery信者が熱心に布教して迷惑を被っているので、ライブラリ質問スレで質問してくれ
少なくとも、俺は今回の質問でjQueryを使う必要性は感じないが

+ JavaScript & jQuery 質問用スレッド vol.7 + [無断転載禁止]©2ch.net
ttps://mevius.5ch.net/test/read.cgi/hp/1478002550/l50
JavaScript ライブラリ総合質問所 vol.5
ttps://mevius.5ch.net/test/read.cgi/hp/1465399470/
Name_Not_Found (ワッチョイ 938f-h/tS) [sage] 2019/05/27(月) 22:29:13.67ID:???0

それっぽいかんじで
軽くデザイン的な要素を加えてみた…

「なぜ外部ファイルにしない」というツッコミは無しで
[clear]ボタンにアラート付けても良いかも
Name_Not_Found (ワッチョイ 938f-h/tS) [sage] 2019/05/27(月) 22:30:42.50ID:???0
ttp://https://jsbin.com/soqapev/edit?html,output

リンク忘れてた
Name_Not_Found [sage] 2019/05/27(月) 22:31:11.50ID:???

> 改善版の方は、入力の部分に<p.>
間違い。<p>をどんな時に使うのか調べろ

> このケースで、vanillaJS でも充分に書けるのに、敢えてjQueryを使う理由は何でしょうか。パフォーマンス??
短いから

> また、3.3.1 を使っていない理由も、良く分かりません。j
jsbinのリストから適当に選んだだけ
Name_Not_Found (ワッチョイ 938f-h/tS) [sage] 2019/05/27(月) 22:36:09.80ID:???0

> <p>をどんな時に使うのか調べろ

ソースの提示をお願いします
Name_Not_Found [sage] 2019/05/27(月) 22:40:56.81ID:???

間違いではないソースを掲示しておく
ttp://https://momdo.github.io/html/grouping-content.html#the-p-element
ラベルやフォームコントロール系を <p> で括るのは誤りではない
別回答になるような「ラベル」を使うのなら、<label> でマークアップすべきだ
Name_Not_Found [sage] 2019/05/27(月) 22:41:19.03ID:???
>91
> 俺はではないが、p要素の使い方は誤っていない
文章がまったくないのに「ひとまとまりの文章」を書く時に使う<p>を使うのは間違い

ttp://https://jsbin.com/damadamoha/1/edit?html,output

HTML5において/>はまったく効果が飾り
無いのが正しい。

> elements.input.value.replace(/(.)(?=.)/g, '$1\n');
やりたいことは(概ね)あってるんだが実は↓の方が短い
> elements.input.value.split("").join("\n") + "\n";

更に言うならこれらはサロゲートペアに対応してない
[...elements.input.value].join("\n") + "\n"; であればサロゲートペアでも問題ない
Name_Not_Found [sage] 2019/05/27(月) 22:43:23.84ID:???
<p>を使うのが間違いというのは、文法の話ではなくて
用途として間違いという話。
テーブル的なものじゃないのに、<table>を使っているのと一緒
91 (アウアウエー Sa9f-9b2Z) [] 2019/05/27(月) 22:43:32.89:XeD9DGMEa
=
Name_Not_Found [sage] 2019/05/27(月) 22:45:09.94ID:???

ttp://https://jsbin.com/damadamoha/1/edit?html,output
value="777" が value="" に変わってる。
resetを使いたかったのだろうが、これは仕様変更
Name_Not_Found [sage] 2019/05/27(月) 22:50:32.31ID:???
ttp://https://developer.mozilla.org/ja/docs/Web/HTML/Element/p
> HTML の <p> 要素は、テキストの段落を表します。視覚メディアにおいて、段落はふつう隣

テキストの "段落" に使うものです。
91 (アウアウエー Sa9f-9b2Z) [] 2019/05/27(月) 22:53:50.00:XeD9DGMEa

> HTML5において/>はまったく効果が飾り
> 無いのが正しい。

誤りではない
XHTMLとの互換性が考慮されている為、書いても良い

> [...elements.input.value].join("\n") + "\n"; であればサロゲートペアでも問題ない

効率が悪い


> <p>を使うのが間違いというのは、文法の話ではなくて
> 用途として間違いという話。

文法の話はしていない
「間違い」のソースがないので、暫定否認しておく
Name_Not_Found [sage] 2019/05/27(月) 22:54:45.82ID:???

サロゲートペアで正しく動かないって言ってるのに
効率云々レベルじゃないだろ
動かなくても早ければ良いのか?
Name_Not_Found [sage] 2019/05/27(月) 22:55:09.54ID:???

> 「間違い」のソースがないので、暫定否認しておく

間違いのソースは示した。
段落ではない。
91 (アウアウエー Sa9f-9b2Z) [] 2019/05/27(月) 22:57:15.49:XeD9DGMEa

MDNは仕様ではない

ついでにいうなら、「テキスト」の定義もない
input要素やtextarea要素が「テキスト」でないと確定しているわけではない
Name_Not_Found [sage] 2019/05/27(月) 23:00:01.75ID:???
それから効率とは何の効率のことを言ってるのか知らんが、
正規表現よりもjoinした方が速い(=効率がいい)

console.time("");"test".replace(/(.)(?=.)/g, '$1\n'); console.timeEnd("");

: 0.13623046875ms


console.time("");[..."test"].join("\n") + "\n"; console.timeEnd("");

: 0.010986328125ms
Name_Not_Found [sage] 2019/05/27(月) 23:01:05.23ID:???

> MDNは仕様ではない
だからなに? あんたが好きなpの使い方を書いてる仕様をもってくればいいじゃない。

> ついでにいうなら、「テキスト」の定義もない
テキストの定義の話なんかしてない

段落ではないと言ってる
Name_Not_Found [sage] 2019/05/27(月) 23:04:23.99ID:???
ttp://http://www.htmq.com/html5/p.shtml
Name_Not_Found [sage] 2019/05/27(月) 23:04:28.85ID:???
>
なんのためにXHTMLとの互換性を考慮する?
その理屈だとHTML4との互換性も考慮したほうが良いんじゃないのか?w
(つまりtype属性とか書け)
Name_Not_Found [sage] 2019/05/27(月) 23:05:05.93ID:???
> <p>タグは、ひとつの段落(パラグラフ)であることを表す際に使用します。
> <p>タグは、段落よりもふさわしい要素がある場合には使用するべきではありません。
> 例えば、以下の使用例は誤りではありませんが…
Name_Not_Found [sage] 2019/05/27(月) 23:06:22.06ID:???
「仕様」の意味知らないのかな?
しょうがないなぁ…
91 (アウアウエー Sa9f-9b2Z) [] 2019/05/27(月) 23:08:06.90:XeD9DGMEa

ttp://https://html.spec.whatwg.org/multipage/grouping-content.html#the-p-element
仕様には "The p element represents a paragraph." としか書かれていない

ttp://https://developer.mozilla.org/en-US/docs/Web/HTML/Element/p にも "text" の文言はない
ttp://https://developer.mozilla.org/ja/docs/Web/HTML/Element/p の「HTML の <p> 要素は、テキストの段落を表します。」は、日本語訳時に「テキスト」が混入したか、日本語版の文書が古い版を参照しているだけだ

仕様を読めるようになってから、出直してくれ
Name_Not_Found [sage] 2019/05/27(月) 23:08:52.55ID:???
内部実装を考慮していれば正規表現でパターンを解釈した後、1文字ずつマッチしているか検査して
マッチしていたら特定の書式に当てはめて合成するよりも、
単純に文字を1文字ずつ分解してくっつける方が速いってわかるだろうに
Name_Not_Found [sage] 2019/05/27(月) 23:09:45.41ID:???

一番下に良い使用例があるよ
91 (アウアウエー Sa9f-9b2Z) [] 2019/05/27(月) 23:10:08.29:XeD9DGMEa
こういう知ったかで煽る奴がいるから、ワッチョイの必要性を主張しているわけだが…
やれやれだな
Name_Not_Found [sage] 2019/05/27(月) 23:10:08.72ID:???

英語読めないなら翻訳してあげようか?

> 仕様には "The p element represents a paragraph." としか書かれていない
「p要素は段落を表します」

pは段落に使うもので段落以外に使うっていうのは、
tableをテーブル以外に使うのと同じことをしてるんだよ
Name_Not_Found [sage] 2019/05/27(月) 23:11:03.09ID:???
> 日本語訳時に「テキスト」が混入したか、日本語版の文書が古い版を参照しているだけだ

「テキスト」の話なんかしてないって言ってるのに
それを無視するのは、頭がおかしいとしか思えないなw
Name_Not_Found [sage] 2019/05/27(月) 23:11:36.06ID:???

Sa9f-9b2Z お前目立ってるぞ(笑)
91 (アウアウエー Sa9f-9b2Z) [] 2019/05/27(月) 23:12:20.58:XeD9DGMEa

そこは重要ではない
あなたが主張していた「テキストの」が消えていると言っているのだ
<p> はテキスト以外にも段落としてマークアップして良い
Name_Not_Found [sage] 2019/05/27(月) 23:12:44.58ID:???

> ワッチョイの有用性はに書いてある

より
> 自作自演がどうというより、定常的に迷惑行為を働いているユーザを目立たせるのが目的

なるほどw
Name_Not_Found [sage] 2019/05/27(月) 23:13:54.59ID:???

> あなたが主張していた「テキストの」が消えていると言っているのだ

だから、主張してないと何度も言わせるな。
主張していたのは "段落" だ
Name_Not_Found [sage] 2019/05/27(月) 23:18:01.88ID:???
またいつものアウアウエーがあらしてんのか
91 (アウアウエー Sa9f-9b2Z) [] 2019/05/27(月) 23:18:32.97:XeD9DGMEa
争点は「段落」の定義にあるが、お前はいつまでも前向きな議論にもっていかないので、これ以降は無視しておく

> 自作自演がどうというより、定常的に迷惑行為を働いているユーザを目立たせるのが目的

お前と俺が同様に目立つことで読者が判断の指標と出来る
お前だけが匿名になっている時点で不平等な状態になっているわけだが、やはり、匿名は無視すべきだな
Name_Not_Found [sage] 2019/05/27(月) 23:22:58.44ID:???
> お前だけが匿名になっている時点で不平等な状態になっているわけだが

自分でコテハンつけといて、自分だけにコテハン付いてるのは不公平だ!って
何言ってるんだろう?w
Name_Not_Found [sage] 2019/05/27(月) 23:25:27.93ID:???

> やはり、匿名は無視すべきだな

君さ、今度から匿名には一切レスしないで。
コテハンつけろっていうレスもしないで。
つーか匿名は全部見えなくしたほうが良いよ?
その方が君のためにもなるでしょ?
Name_Not_Found [sage] 2019/05/27(月) 23:29:51.49ID:???
匿名vsワッチョイだと、見かけ上複数になれる匿名が圧倒的に優位という事例
Name_Not_Found [sage] 2019/05/27(月) 23:32:36.38ID:???
そういやアウアウエーってauスマホだよな?
なんで自宅回線にしないんだろう?特定されるからかな?
Name_Not_Found (ワッチョイ 938f-h/tS) [sage] 2019/05/27(月) 23:33:22.76ID:???0

> 単純に文字を1文字ずつ分解してくっつける方が速い

正規表現での書き方を知らなかった(awk / Perlライクな書き方を思いつく余地はあったかも知れない)ので
文字列から文字を切り出す slice メソッドを使ったというのが1つ

const 4行等を使ったのは、ネストしまくって可読性が著しく低下するのではないかという危惧から
より簡単で、分かりやすく、slice よりよさげなコードについては、のちほど検討します


専ら html の話題なのでスレチかもですが
section要素として書いた場合:フォームの意味を見出しとして考える
ttp://https://jsbin.com/meqegom/edit?html,output

div要素として書いた場合:フォームの意味を見出しとして考えない
ttp://https://jsbin.com/vidajet/edit?html,output
Name_Not_Found [sage] 2019/05/27(月) 23:33:54.16ID:???

ワッチョイの目的

>
> - 回答に参加しているを見分ける判断材料
> - いつもくだらない質問をしている人を見分ける判断材料
>
> 自作自演がどうというより、定常的に迷惑行為を働いているユーザを目立たせるのが目的
> ワッチョイない人は黒よりのグレー
Name_Not_Found [sage] 2019/05/27(月) 23:35:05.85ID:???
実際、プログラム板の方が平和だからな

+ JavaScript の質問用スレッド vol.123 + [無断転載禁止]©2ch.net
ttps://mevius.5ch.net/test/read.cgi/tech/1491143438/l50

出来るなら、こちらもワッチョイ強制した方が平和だと思うわ
Name_Not_Found [sage] 2019/05/27(月) 23:35:37.19ID:???

あのさ?フォーム要素をまとめるのに
section要素かdiv要素かとかさ、

僕fieldsetを知りませんって
言ってるのと同じなんだけど、わかってる?
Name_Not_Found [sage] 2019/05/27(月) 23:37:31.14ID:???

正規表現病にならないように。
なんでも正規表現でやろうとする。
悪化すると数値の範囲チェックまで正規表現でやろうとするからなw
遅いのに
Name_Not_Found [sage] 2019/05/27(月) 23:39:39.87ID:???
こういう煽りながら、アドバイスを装う彼らが諸悪の根源よな
Name_Not_Found [sage] 2019/05/27(月) 23:40:13.88ID:???
嫌なら見るな
Name_Not_Found [sage] 2019/05/27(月) 23:42:10.61ID:???
喧嘩っ早いので、根は子供なんだろうなと
Name_Not_Found [sage] 2019/05/27(月) 23:46:20.97ID:???
アウアウエーが子供なのは前からわかってること
Name_Not_Found [sage] 2019/05/27(月) 23:50:34.17ID:???
が正解なんだろうな
Name_Not_Found [sage] 2019/05/27(月) 23:55:18.62ID:???

> 匿名vsワッチョイだと、見かけ上複数になれる匿名が圧倒的に優位という事例

1. 匿名が圧倒的に有利
2. ワッチョイで書き込む
3. 同じ人が匿名で書き込む
4. 圧倒的に有利な匿名が、ワッチョイを擁護する

という事例があるので注意なw
Name_Not_Found [sage] 2019/05/27(月) 23:55:52.39ID:???
こうどなじょうほうせんw
Name_Not_Found [sage] 2019/05/28(火) 00:00:56.40ID:???
は質問者が匿名を無視してないので、実質的に機能してないのが問題
のように完全ワッチョイ化する以外に多分、根本的解決はない
Name_Not_Found [sage] 2019/05/28(火) 00:07:38.89ID:???
完全ワッチョイにしたところで、質問者は特定のワッチョイを
無視しないだろうし、どうせアウアウエーも無視しないだろw
Name_Not_Found [sage] 2019/05/28(火) 00:17:28.08ID:???
jquery房が荒らしという事実を共有できるだけでも意味がある
Name_Not_Found (ワッチョイ 938f-h/tS) [sage] 2019/05/28(火) 00:23:18.85ID:???0

fieldset要素を知ってから6時間経ってませんので、否定するも何も…

ttp://https://www.w3.org/html/wiki/Elements/fieldset
ttp://https://www.w3.org/TR/html5/sec-forms.html#elementdef-fieldset
堂々と p 要素使ってますね…
Name_Not_Found [sage] 2019/05/28(火) 00:25:43.10ID:???
> 堂々と p 要素使ってますね…

すべてそこに "段落" が存在してるからという理由で
pを使ってるだろ?
Name_Not_Found [sage] 2019/05/28(火) 00:36:17.57ID:???
書いた人が段落と認識するから段落なんでしょ?
そこに何の問題が?
Name_Not_Found (ワッチョイ 8f9f-SglT) [sage] 2019/05/28(火) 00:37:58.01ID:???0
そういやlegendなんてあったなあ
Name_Not_Found [sage] 2019/05/28(火) 00:58:15.51ID:???
何の問題もなく、段落だな
Name_Not_Found [sage] 2019/05/28(火) 01:34:51.76ID:???
ではこれで一段落ということで。次。
Name_Not_Found [sage] 2019/05/28(火) 07:13:41.42ID:???
他のタグと比較しても古株である「p」要素にセマンティックな面など無い
なぜなら「段落」というのは地域や文化、状況によって効果や考え方が様々で
そのうちのどういう「段落」を表すものなのかは仕様にはない

もちろんHTMLの最初を考えれば国際論文的な段落だが
そういった点はHTML4以降、そしてHTML5で完全に形骸化してる
だからp要素は今では具体的な《何かのための要素》ではなく
どこまで言ってもそれっぽい《効果をもたらすための要素》でしかない

その意味合いは0ではないが非常に薄いので
比較的自由に使って良い要素
Name_Not_Found [sage] 2019/05/28(火) 07:28:30.88ID:???
結局スレ自体をワッチョイ化するか、このまま名無しでいくかしかなさそうだね
この流れで実証された
Name_Not_Found [sage] 2019/05/28(火) 08:42:34.89ID:???

最後に「個人の感想です」って付け足すの忘れるなよ
Name_Not_Found [sage] 2019/05/28(火) 09:48:16.15ID:???

jQuery の質問は、jQueryスレに書き込んでください!

jQueryのCDN は、Google, Microsoft を使う方がよい。
code.jquery.com は、配信が止まった事があるから、危険!

どの道、Bootstrap を使うと、jQueryを読み込むから、
jQueryを使う方が、可読性が高くてよい
Name_Not_Found [sage] 2019/05/28(火) 09:59:23.62ID:???
JavaScript は、サロゲートペアでバグるのか!
4バイト文字を、2バイト文字2つとして扱ってしまうのか

ES 2015 から、サロゲートペアに対応しているらしい
Name_Not_Found [sage] 2019/05/28(火) 12:10:16.56ID:???
わたし男だけど仕様通りの動作のことをバグとか言っちゃう男の人って無理。
Name_Not_Found [sage] 2019/05/28(火) 12:31:12.90ID:???

どこまで行っても個人の感想でしかない
仕様書は自然言語で書かれているのだから
でもお前よりも仕様に詳しい俺の感想
Name_Not_Found [sage] 2019/05/28(火) 12:40:27.86ID:???

にもいってやって
Name_Not_Found [sage] 2019/05/28(火) 12:57:11.07ID:???
でもお前よりも仕様に詳しい俺の感想

(故人の感想です)
Name_Not_Found [sage] 2019/05/28(火) 19:53:42.67ID:???

残念だけど事実だから
自分より上の存在を認識しないと伸びないよ
Name_Not_Found [sage] 2019/05/28(火) 20:14:20.33ID:???

Name_Not_Found (ワッチョイ 938f-h/tS) [sage] 2019/05/28(火) 20:55:20.67ID:???0
の発言の意味が良く分からないのですが、どういうことでしょうか。

fieldset 要素は flow content 要素を入れられる模様
ttp://https://www.w3.org/TR/html5/sec-forms.html#the-fieldset-element
> Content model:
> Optionally a legend element, followed by flow content.

div 要素も section 要素も、flow content に含まれる模様
ttp://https://www.w3.org/TR/html5/dom.html#flow-content-2


この2点を前提とすると、何がどう問題なのか分からなくなってしまいまして。
Name_Not_Found [sage] 2019/05/29(水) 06:31:11.72ID:???
よりその状況向けの要素があるからそっちを使えってことじゃないの
まあ別に好きにやればいいと思うけど
Name_Not_Found [sage] 2019/05/29(水) 06:50:42.03ID:???
は「個人の感想」だろ
なんでこの質問者は荒らしに構うのかね
Name_Not_Found [sage] 2019/05/29(水) 09:09:21.18ID:???
そういうお前が荒らしにかまってるわけだがw
Name_Not_Found [sage] 2019/05/29(水) 12:30:07.40ID:???
なにいってるのか分からんが、が荒らしといいたいのか
Name_Not_Found [sage] 2019/05/29(水) 12:36:18.75ID:???
つまり荒らしに触っちゃダメって話かと
Name_Not_Found [sage] 2019/05/29(水) 12:45:41.98ID:???
ようは一切レスをするなってこと。
荒らしに構うなということ自体が、荒らしにレスしてることになる
Name_Not_Found [sage] 2019/05/29(水) 12:48:59.18ID:???
その論理だと、が全員荒らしなわけだが
は同じ主張してるのに、なんて争そうのかね
Name_Not_Found [sage] 2019/05/29(水) 12:52:01.88ID:???
なんで荒らしに構うと荒らしになるんだ?
荒らしに構うなって言ってるだけだろ

正確には荒らしと思うやつにレスするな。
反論もするな。黙って受け入れろってことだが
163 [sage] 2019/05/29(水) 12:55:21.07ID:???

なぜに構うことが荒らしになるんだ?
162 [sage] 2019/05/29(水) 12:56:30.87ID:???
間違えた
===
Name_Not_Found [sage] 2019/05/29(水) 13:59:27.71ID:???

誰が「に構うことが荒らしになる」と
言ってるのか、まずそれを言おうか?
162 [sage] 2019/05/29(水) 18:11:19.30ID:???

Name_Not_Found [sage] 2019/05/29(水) 18:40:12.01ID:???
のお前が誰か」も明らかにしたら?
Name_Not_Found [sage] 2019/05/29(水) 19:03:07.54ID:???

荒らしに構うなって書いてあるだけだよね?
どこに荒らしに構うと、荒らしになるって書いてあるの?

なにか弁明することあるかい?w
Name_Not_Found [sage] 2019/05/29(水) 19:36:30.03ID:???

お前、それ荒らしだぞ
もう書き込み禁止ね
162 [sage] 2019/05/29(水) 20:15:09.53ID:???

に構ってはいても、荒らしに構ってないから、その指摘は不適当
162 [sage] 2019/05/29(水) 20:32:39.13ID:???

確かには荒らしだな
すまんかった
Name_Not_Found [sage] 2019/05/29(水) 20:32:41.15ID:???
いいから質問の回答をしろよ
クソ回答者共が
Name_Not_Found (ワッチョイ 938f-h/tS) [sage] 2019/05/29(水) 22:22:17.64ID:???0
まじめに読んでしまったのが間違いだったのかなあ
は上から目線で発言してるだけで、内容を読んだらブーメランだった、と
かつての位置付けは存じませんが、fieldset の現在の位置付けからしたら、完全に誤った内容だった、と


そりゃ確かに section 要素や div 要素は、避けるべきものであったり最終手段とすべきものであって
今回のケースでは span あたりの方が適切だったのかも知れませんが

ttp://https://www.w3.org/TR/html5/sections.html
ttp://https://www.w3.org/TR/html5/grouping-content.html#elementdef-div
ttp://https://www.w3.org/TR/html5/textlevel-semantics.html#the-span-element

…まだ確信が持てて無いので「ココ違うよボケカス」的なもので良いので指摘ねがいます…
Name_Not_Found [sage] 2019/05/29(水) 22:25:09.86ID:???
OS:Win Vista,ブラウザ:IE8使用(IE9はセキュリティが厳しいのでダウングレードしています。)
JSでテキスト(data1.txt)の中身を読み込んで、ブラウザでalert()出力したく思って
いますが何も表示されないので困っています。

テスト段階なのでdata1.txtは1行のみの極単純なものです。
(テキストの中身: 西暦,為替[円/$],名目GDP[兆円],間接税率[%],税収[兆円])

<書いた内容> ※すいません全部書きます。
function readFile(name) {
iomode = 1;
format = 0;//ASCIIフォーマットで読み込む
// ファイルシステムオブジェクト
myobject = new ActiveXObject("Scripting.FileSystemObject");
// OpenTextFile()でファイルを開く
file = myobject.OpenTextFile(name, iomode, true, format);
data = "";
// eofが来るまで 1行ごとに読む
while (!file.AtEndOfStream) {
// ReadLine() で1行読む
data += file.ReadLine()+"\n";
}
// ファイルを閉じる
file.Close();
// データを返す
return data;
}
window.alert(readFile("data1.txt")+" です");

すいませんが問題点をご指摘願います。
Name_Not_Found [sage] 2019/05/29(水) 22:26:51.73ID:???

たかがHTMLに避けるべきものも最終手段もクソもないよ
著しく非常識でないのなら好き勝手に書けばいい
75 (ワッチョイ 938f-h/tS) [] 2019/05/29(水) 22:27:23.94:abAA3gFU0
sage を外し忘れてたもんで
一連のQ&Aでの発言まとめときます
おかしなこと言ってる可能性たかいかも



(バージョン古くても平気な御人は無視すべきだったかも)




あたりです
レスアンカー多いと怒られたので途中まで
Name_Not_Found [sage] 2019/05/30(木) 00:17:56.53ID:???

15年くらい時間が巻き戻った気分!

急IEのJavaScriptはほぼJScriptのラッパーで
JScriptも半分くらいはActiveXのラッパーだから
そう言うこともあるもんだ

同期・非同期が問われるようなことするときは特に
Name_Not_Found [sage] 2019/05/30(木) 07:42:57.55ID:???
荒らしに構うなっていう書き込み自体は、荒らしに対するレスでは無いから、荒らしにならない!
正常な人に対する忠告だから

一方、荒らしに反応して書き込みを続ける者は、荒らし!
荒らしはレスが欲しい。レス乞食

荒らしは無視されるのが大嫌いだから、無視すべし!
Name_Not_Found [sage] 2019/05/30(木) 07:49:04.75ID:???
file = myobject.OpenTextFile(name, iomode, true, format);

ここで、10秒ぐらい、sleep すれば?
読み込むまで、確実に待つ

while (!file.AtEndOfStream) {
Name_Not_Found [sage] 2019/05/30(木) 08:04:19.21ID:???

だからそういう書き込みは、このスレの内容と
何の関係もねーだろ。関係ない話すんな
Name_Not_Found [sage] 2019/05/30(木) 08:51:39.52ID:???

まぁ死ねや
Name_Not_Found [sage] 2019/05/30(木) 10:53:24.80ID:???
さん文体に特徴ありすぎて一人コテ状態
Name_Not_Found [sage] 2019/05/30(木) 11:37:58.60ID:???
が人気すぎて、jQuery厨の俺も嫉妬(笑)
Name_Not_Found [sage] 2019/05/30(木) 11:57:16.72ID:???

相対パスはデスクトップ基準になるので絶対パスで指定する
Name_Not_Found [sage] 2019/05/30(木) 15:30:57.32ID:???
var str = "2x*(sqrt(-3/7+5))"
みたいな文字列があったときに、sqrtの後に続くカッコ内の"-3/7+5"だけ取り出そうと思ったら
どんな処理をするのがスマートですか?
Name_Not_Found [sage] 2019/05/30(木) 15:40:03.04ID:???

ちょっと質問が説明不足だったので補足すると
以下のように、ランダムな文字列があって
var str1 = "2*x*(sqrt(-3/7+5))"
var str2 = "4*x/3*(3*sqrt(-1/3+4*x))^2"
var str3 = "(4*x+2)^3/3*(3*sqrt(-1/2+2*x^2))^4"
sqrtの後に続くカッコ内の文字
str1であれば、-3/7+5
str2であれば、-1/3+4*x
str3であれば、-1/2+2*x^2
をそれぞれ取り出したい、といった場合、どういう処理をするのが良いですか?
Name_Not_Found [sage] 2019/05/30(木) 15:42:48.93ID:???
正規表現で抜き出す
str.match(/sqrt\((.+?)\)/)[1]
Name_Not_Found [sage] 2019/05/30(木) 15:46:12.13ID:???
str.replace(/.*sqrt\((.*?)\).*/, '$1')
Name_Not_Found [sage] 2019/05/30(木) 15:56:54.93ID:???
>>194
ありがとうございます!!!
Name_Not_Found [sage] 2019/05/30(木) 17:26:46.43ID:???
そんな特定の場合にしか使えない処理が
何の役に立つっていうんだろう?
Name_Not_Found [sage] 2019/05/30(木) 17:43:23.32ID:???
カス塵は黙ってろw
Name_Not_Found [sage] 2019/05/30(木) 18:10:06.29ID:???
寺いけ
Name_Not_Found [sage] 2019/05/30(木) 18:35:57.88ID:???
地球(テラ)へ
Name_Not_Found [sage] 2019/05/30(木) 21:25:30.44ID:???
jQスレにも貼ったがこちらにも貼っておく
jQueryの脆弱性が発覚した
ttp://https://portswigger.net/blog/abusing-jquery-for-css-powered-timing-attacks
jQuery独自のセレクタを巧みに使うことでタイミングアタックで情報が抜かれてしまう
直接使っている部分で絶対にセレクタに想定外の文字列が入ることがなくとも
プラグインやjQを利用するライブラリでどうなっているのか分からない

とりあえず当分は使われている全てのjQuery、もしくは全てのスクリプトの全ての関数定義
function〜(){〜を一括置換処理して
一行目にif((''+arguments[0]).length>30)throw 'Err'
などと入れることを勧める
75 (ワッチョイ 6f8f-pVhm) [] 2019/05/30(木) 21:58:48.40:Dx7zqLH/0

ここはライブラリのスレでも無いし…
vanilla js 自体の穴じゃないし…
Name_Not_Found [sage] 2019/05/31(金) 00:23:50.52ID:???
荒らしは相手にするな!

ソースコードを書かない奴は、荒らしだから無視しろ!
プログラマー以外とは、話をしないように!

荒らしは、30分毎に書き込むから、要注意!
Name_Not_Found [] 2019/05/31(金) 00:30:32.59:X+GRK4xK
JavaScript初心者です。

classBのオブジェクトからmethodAを呼び出したいんですが
methodAがないというエラーが出ます。
--------------------------------------------
function classA () {
}
classA.prototype = {
methodA: function() {
console.log('classA methodA');
},
methodB: function() {
console.log('classA methodB');
}
};

function classB () {
}
classB.prototype = new classA();
classB.prototype = {
methodB: function() {
console.log('classB methodB');
}
};
--------------------------------------------
継承先のクラスで特定のメソッドだけオーバーライドしたい場合は
classB.prototype.methodB = function() {
console.log('classB methodB');
};
のように個別に書いていくしかないんでしょうか。
Name_Not_Found [sage] 2019/05/31(金) 00:39:18.05ID:???
はい
IE対応しなくていいならclass構文使えばよろし
Name_Not_Found (ワッチョイ 669f-5vLt) [sage] 2019/05/31(金) 00:41:02.59ID:???0

ttp://https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Inheritance_and_the_prototype_chain

どちらかというとtypescript使った方が
らくちんな気がする……
203 [] 2019/05/31(金) 01:08:18.04:qxavy1wZ
とりあえず を参考に以下の書き方をしたら
思ったとおりの動作にはなったっぽいです。
--------------------------------------------
function classB () {
}
classB.prototype = Object.create(classA.prototype, {
methodB: { value function() {
console.log('classB methodB');
}}
});
--------------------------------------------
Chromeで動かす前提ならやっぱりclass構文使うほうがいいんですかね
Name_Not_Found (ワッチョイ a732-F4I1) [sage] 2019/05/31(金) 01:16:38.08ID:???0
Object.assign()使えるけど
圧倒的にclass構文で行くべき
ttp://https://jsfiddle.net/pL65gw4k/
207 [sage] 2019/05/31(金) 01:19:01.07ID:???
ミスった
ttp://https://jsfiddle.net/1tz2hn8b/1/
Name_Not_Found [sage] 2019/05/31(金) 05:49:09.78ID:???
まだIE30%ぐらいいるのかなとおもったら
もう10%切ってるのね
まー国内に限定すればもっといそうだけど
Name_Not_Found [sage] 2019/05/31(金) 09:58:22.09ID:???
みんなedgeに移ったからね
Name_Not_Found [sage] 2019/05/31(金) 12:36:12.79ID:???

なぜentendsを使わない?
Name_Not_Found [sage] 2019/05/31(金) 13:24:00.07ID:???
なんか最近
過去からタイムリープしてきてる人がいるな…
Name_Not_Found [sage] 2019/06/01(土) 00:53:09.91ID:???
すいません、質問になるのか分からないのですが
もしよろしければご教授ください。
ある案件でjqueryのライブラリをいくつか使った
数ページのちょっとしたサイトを納品しました。
納品先はクライアントではなく、
クライアントのサーバを管理する別の制作会社です。
で先日そこから突然サーバOSやインストールした
プログラム一覧が送られてきて「jqueryのバージョンもご確認ください」
とか意味不明なことを言ってきたのですが
(実際そこが作業したものの一覧ではなく
ホスティング業者が用意したfedora標準のリスト)
そこの会社の担当者は超絶馬鹿ってことで宜しいでしょうか。。
OSとミドルウェアとフロントエンドの区別も付かんとは。。
しかも自分のとこがjsの何を入れたかも分からんという。。。
Name_Not_Found [sage] 2019/06/01(土) 01:06:16.46ID:???

ここはJavaScriptの質問用スレッド
Name_Not_Found (ワッチョイ 6f8f-pVhm) [] 2019/06/01(土) 01:23:30.24:8anwgTmv0
+ jQuery 質問用スレッド vol.7 +
ttps://mevius.5ch.net/test/read.cgi/hp/1466750494/

+ JavaScript & jQuery 質問用スレッド vol.7 +
ttps://mevius.5ch.net/test/read.cgi/hp/1478002550/

どっちの方が適切か知らんけど
Name_Not_Found [sage] 2019/06/01(土) 01:52:36.45ID:???
nodeのグローバルにjQueryがインストールされている可能性が微レ存
Name_Not_Found (ワッチョイ 6f8f-pVhm) [] 2019/06/01(土) 02:46:31.77:8anwgTmv0
JavaScript ライブラリ総合質問所 vol.5
ttps://mevius.5ch.net/test/read.cgi/hp/1465399470/

【node.js】サーバサイドjavascript 5【Nashorn】
ttps://mevius.5ch.net/test/read.cgi/tech/1518528093/

あたり?
Name_Not_Found [] 2019/06/02(日) 15:17:18.79:T9wUlVDz
画像のスクロールに合わせてセレクトボックスを変更するにはどうすればいいでしょうか?
<img src="1.jpg" alt="">
<img src="2.jpg" alt="">
<img src="3.jpg" alt="">
<select style="left:0;top:0;position:fixed"></select>
<script>
for (var i=0, len=document.images.length; i < len; i++) {
option = document.createElement('option');
option.value = i;
option.text = i;
document.getElementsByTagName('select')[0].appendChild(option);
}
const observer = new IntersectionObserver((entries) => {
if (entries.isIntersecting) {
option.selected = true;
} else {
option.selected = false;
}
});
const img = document.querySelectorAll('img');
img.forEach(img=>{observer.observe(img)})
</script>
Name_Not_Found [sage] 2019/06/02(日) 15:48:51.61ID:???

entriesは配列

const selectbox = document.querySelector('select');
for (let i=0, len=document.images.length; i < len; i++) {
const option = document.createElement('option');
option.value = i;
option.text = i;
selectbox.appendChild(option);
document.images[i].dataset.value = i;
}
const observer = new IntersectionObserver(entries => {
entries.forEach(entry => {
if (entry.isIntersecting) {
selectbox.value = entry.target.dataset.value;
}
});
});
const img = document.querySelectorAll('img');
img.forEach(img => observer.observe(img));
Name_Not_Found [sage] 2019/06/02(日) 16:57:12.34ID:???
無駄を削ぎ落とした

const observer = new IntersectionObserver(entries => {
 const entry = entries.reverse().find(entry => entry.isIntersecting);
 if (entry) {
  $('select').val(entry.target.dataset.value);
 }
});
$('img').each(function(i) {
 $('select').append($('<option>', {value: i, text: i}));
 this.dataset.value = i;
 observer.observe(this);
});
Name_Not_Found [] 2019/06/02(日) 18:13:58.86:clpLsV2H
,220
ありがとうございました!
Name_Not_Found [sage] 2019/06/02(日) 20:47:15.28ID:???
+ JavaScript の質問用スレッド vol.141 +
ttps://mevius.5ch.net/test/read.cgi/hp/1559474974/

なんだ、こいつは?
Name_Not_Found [] 2019/06/03(月) 00:13:56.29:1bbMRnlG
Java scriptの心得がほとんど無い為、情報不足の折はご容赦ください。
マスターテーブルA,入力テーブルBと2つのテーブルがあり、Bテーブルの「分類A」を入力すると
Aテーブルの分類B、分類Cより
Bテーブルの分類D、分類Eへ値を返したい時、下記のスクリプトを
一部編集して使用するようなのですが、どこに各値の編集をすれば
よろしいでしょうか。
ご教示頂ければ幸いです。よろしくお願いいたします。

$p.events.on_editor_load = function () {
//Bテーブルの「分類A」の値が変更されるたびに呼び出されるイベント
$(document).on('change', '#Results_ClassA', function () {
//Bテーブルの「分類A」に値がセットされている場合のみ、Aテーブルの指定したレコードの値を取得する
if ($('#Results_ClassA').val()) {
$p.apiGet({
//Bテーブルの「分類A」の値(レコードID)を指定
'id': $('#Results_ClassA').val(),
'done': function (0) {
//Bテーブルの項目にAテーブルから取得した項目の値をセット
$p.set($('#Results_ClassB'), data.Response.Data[0].ClassB);
$p.set($('#Results_ClassC'), data.Response.Data[0].ClassC);
},
'fail': function (data) {
console.log(data);
}
});
} else {
//Bテーブルの「分類A」に値がセットされていない場合、Bテーブルの項目に空文字をセット
$p.set($('#Results_ClassA'), '');
$p.set($('#Results_ClassA'), '');
}
});
}
Name_Not_Found [sage] 2019/06/03(月) 06:44:48.72ID:???
スレタイ見て自分の書き込み見てなんにも思わないようなら
情報不足の前に質問者としての心構えが不足している
もしも気づけたら知恵遅れの方も訂正入れとけよ
Name_Not_Found [sage] 2019/06/03(月) 11:40:46.87ID:???
清々しい丸投げ
Name_Not_Found [sage] 2019/06/03(月) 23:58:58.89ID:???

20万円くらいで請け負ってもいいよ
Name_Not_Found [sage] 2019/06/04(火) 06:01:44.01ID:???
'done': function (0) {

//Bテーブルの項目にAテーブルから取得した項目の値をセット
$p.set($('#Results_ClassB'), data.Response.Data[0].ClassB);
$p.set($('#Results_ClassC'), data.Response.Data[0].ClassC);
},

done 内で、data という変数を使うなら、引数に、data を渡さないといけないのでは?
>'done': function (0) {
'done': function (data) {

Aテーブルの分類B、分類Cを、Bテーブルの分類D、分類Eへ設定するなら、
data.Response.Data[0].ClassB, data.Response.Data[0].ClassC を、
Bテーブルの分類D、分類Eへ設定すればよい

ここは、JavaScript のスレなので、
jQuery の質問は、下のスレへ移動してください!

+ JavaScript & jQuery 質問用スレッド vol.7 + [無断転載禁止]c2ch.net
ttps://mevius.5ch.net/test/read.cgi/hp/1478002550/l50
Name_Not_Found [sage] 2019/06/04(火) 10:35:44.64ID:???

jQueryにsetなんてメソッドはありません。
jQueryじゃないのならこのスレですね
Name_Not_Found [sage] 2019/06/04(火) 11:28:05.80ID:???
【速報】金券五百円分とすかいらーく優侍券をすぐもらえる  
ttps://pbs.twimg.com/media/D8I_rBwU0AIZUL2.jpg
    
@ スマホでたいむばんくを入手 
A 会員登録を済ませる
B マイページへ移動する 
C 招待コード→招待コードを入力する [Rirz Tu](スペース抜き)    
     
今なら更に4日18時までの登録で2倍の600円の紹介金を入手
クオカードとすかいらーく優待券を両方ゲットできます。   
      
数分で出来ますのでお試し下さい
Name_Not_Found [sage] 2019/06/04(火) 12:58:22.17ID:???

一万円の請求来たんだけどどういうこと??
Name_Not_Found [sage] 2019/06/04(火) 13:00:50.51ID:???

どれだけばらまくんだよ
Name_Not_Found [sage] 2019/06/04(火) 13:13:42.07ID:???

警察に相談する
事件に巻き込まれた場合は、警察に相談することが鉄則です。しかし、本当に詐欺にあったのかわからないため、警察に相談しづらいケースもあります。警察への相談に関して、パターン別に通報先をご紹介します。

相談窓口

詐欺かどうかわからないが何となく怪しさを感じている場合は、「#9110」の相談窓口に連絡しましょう。その地域を管轄する警察の相談窓口に繋がります。

必要に応じて、関係機関の紹介や、解決に向けてアドバイスしてもらえます。緊急を要する事件や事故は110ですが、緊急性のないものは#9110にかけましょう。むやみに110にかけると、他の緊急性のある事件や事故への対応が遅れる恐れがあります。

電話番号:#9110
受付時間:月曜〜金曜8:30〜17:15
休業日:土日祝(当直または音声案内)
Name_Not_Found [sage] 2019/06/04(火) 13:15:30.11ID:???

国民生活センターに相談する
国民生活センターは各地域にある消費生活センターのことで、詐欺被害にあった場合には、今後とるべき行動や再び被害にあわないための対策などをアドバイスしてもらえます。

また、業者と和解できるようあっせんしたり、解決に向けて協力するよう業者に伝えたりも可能です。警察に被害届を受理してもらえなかったり、他の関係機関に相談しても解決に至らなかったりする場合に相談しましょう。

電話番号:188(いやや)
受付時間:地域で異なる
休業日:地域で異なる(年中無休、年末年始を除く窓口が多い)
Name_Not_Found [sage] 2019/06/04(火) 13:58:47.98ID:???

えええ…
上の質問に答えるつもりはないけど
setは$pのメソッドだろ
Name_Not_Found [sage] 2019/06/04(火) 14:50:38.33ID:???
だから$pの使い方を知りたいなら、(jQueryではなく)
$pのクラスのマニュアルを見れと言ってる
jQueryの話じゃないんだからjQueryスレに誘導されても困る
Name_Not_Found [sage] 2019/06/04(火) 15:50:55.18ID:???
ライブラリのスレで聞けば?
Name_Not_Found [sage] 2019/06/04(火) 18:28:46.62ID:???
質問者も$pが何のライブラリから来てるか分かってなさそうだけどな
Name_Not_Found [sage] 2019/06/04(火) 18:44:51.23ID:???
ライブラリの質問をこのスレでされても困る
Name_Not_Found [sage] 2019/06/05(水) 11:30:46.92ID:???
Javascriptでの画面サイズの取得には、
window.innerWidthやscreen.widthとか複数の手段がありますが、
iPhoneXのような変態ディスプレイで取得できる値も
他のスマホと同様に実際の領域との認識で良いのでしょうか?
Name_Not_Found [sage] 2019/06/05(水) 11:35:06.58ID:???
いいえ違います。実際の領域はわかりません。
227 [sage] 2019/06/05(水) 21:51:47.83ID:???
$(document).on('change', '#Results_ClassA', function () {

'done': function (0) {
'fail': function (data) {

これは、jQuery じゃないの?

>'done': function (0) {
'done': function (data) {

引数を、data にしないといけないのでは?
Name_Not_Found [sage] 2019/06/05(水) 21:59:10.02ID:???
on changeにdoneとかfailとかないから明らかに違う
Name_Not_Found (ワッチョイ 6f8f-pVhm) [] 2019/06/05(水) 22:48:53.10:uH52cmvV0
vanilla js で $ マーク使う場面ってどんなん
Name_Not_Found [sage] 2019/06/05(水) 23:57:51.85ID:???
昔から識別子に使える文字だが?
Name_Not_Found [sage] 2019/06/06(木) 02:03:50.90ID:???
undefined が変数名としても使えるようなもんか(絶対違
Name_Not_Found [sage] 2019/06/06(木) 07:13:27.75ID:???

実際の領域を取得する方法は多岐にわたる
Name_Not_Found [] 2019/06/07(金) 17:02:00.30:YbWIMtcO
初歩的な質問かもしれませんが…

外部化したJSを、別のJSでdocument writeで出力した場合、元の内容は正しく記述されるのでしょうか?

入れ子構造のような形でJSを出力できるのかな、みたいな
Name_Not_Found (ワッチョイ 4f8f-Yhjd) [] 2019/06/07(金) 18:09:50.71:fyjtWq/E0
…なぜ document.write を使う…
Name_Not_Found [sage] 2019/06/07(金) 18:19:38.87ID:???
そこにdocument.writeがあるから
Name_Not_Found (ワッチョイ 4f8f-Yhjd) [] 2019/06/07(金) 18:27:54.93:fyjtWq/E0
strong discouraged
Name_Not_Found [sage] 2019/06/07(金) 21:47:36.00ID:???
document.write は、使うな!

一旦、そのページのすべての要素が削除されてしまうから!
つまり、上書きされる
Name_Not_Found [sage] 2019/06/07(金) 22:48:14.44ID:???
ナウなヤングはdocument.writelnだよな!
Name_Not_Found (ワッチョイ 4f8f-Yhjd) [] 2019/06/08(土) 10:24:50.98:SPSMcI1T0

ttp://https://www.jiichan.com/programming/programming.php?lang=js&no=03

このへん?
Name_Not_Found (ワッチョイ 4f8f-Yhjd) [] 2019/06/08(土) 11:23:52.43:SPSMcI1T0
呼び出し元
<script type="module" src="main.js">

main.js
import {name} from './module.js';
console.log(name);

module.js
export const name = "Taro";

こんな感じで動くっぽい @ Firefox 67.0.1
参照: ttp://https://analogic.jp/module-summary/
Name_Not_Found (ワッチョイ 4f8f-Yhjd) [] 2019/06/08(土) 11:42:00.55:SPSMcI1T0
んで

main.js
import {hikizan} from './hikizan.js';
console.log(hikizan(10,1));

hikizan.js
import {tasizan} from './tasizan.js';
export const hikizan = function(a,b){
return tasizan(a,-b)
}

tasizan.js
export const tasizan = function(a,b){
return a+b;
};

これで多分動く…とおもう
Name_Not_Found (ワッチョイ 4f8f-Yhjd) [] 2019/06/08(土) 15:58:17.63:SPSMcI1T0
ttp://https://iwb.jp/read-script-dynamic/
ttp://http://tech-blog.tsukaby.com/archives/894
ttp://https://aloerina01.github.io/blog/2016-10-14-1

この辺が役に立つかどうかは定かでない
Name_Not_Found (ワッチョイ 4f8f-Yhjd) [] 2019/06/08(土) 16:03:00.28:SPSMcI1T0
ttp://https://www.jiichan.com/programming/programming.php?lang=js&no=03

5つの方法を紹介するページがあったけれど
どういう場合に参考になるか定かではない
Name_Not_Found (ワッチョイ 4f8f-Yhjd) [] 2019/06/08(土) 16:37:10.38:SPSMcI1T0
Parcel とか WebPack とか CommonJS とか AMD とか良く分からん…
$.getScript も良く分からん…
Name_Not_Found [sage] 2019/06/08(土) 23:34:03.45ID:???
基本的には、VSCode, Node.js を使えばよい

Node.js は、Ruby のライブラリを置き換えたもので、CommonJS 方式(require)で読み込む。
ただし、Node.jsのrequireは同期処理で、CommonJSは非同期処理。
AMD 方式は、最近では聞かない

WebPack, browserify は、モジュールバンドラー。
Babel は、ES6(ES2015)をES5 に変換する。

Gulp, npm-scripts は、タスクランナー
Name_Not_Found [sage] 2019/06/08(土) 23:42:06.02ID:???
違う次元のものを並べて語るのなんかそわそわする…
Name_Not_Found [sage] 2019/06/09(日) 00:30:07.94ID:???
Node.js は、Ruby のライブラリを置き換えたもので
Name_Not_Found [sage] 2019/06/09(日) 00:30:56.83ID:???

死ね
Name_Not_Found [sage] 2019/06/09(日) 02:46:10.51ID:???
ざわざわ・・・
Name_Not_Found [sage] 2019/06/09(日) 03:47:02.50ID:???

さすがに草だよな
Name_Not_Found [sage] 2019/06/09(日) 09:45:32.74ID:???
function a(){
return false
}
if (a){alert("true")} else {alert("false")}
これはfalseが表示されると思っているのですがなぜかtrueです。
また
function a(){
return false
}
alert(a)
これは関数の文字列?
「function a(){
return false
}」
が表示されてしまいます。期待しているのはfalseが表示される事です。なぜfalseが表示されないのでしょうか? 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
Name_Not_Found [sage] 2019/06/09(日) 10:01:50.05ID:???

Name_Not_Found [sage] 2019/06/09(日) 10:04:41.97ID:???
自決
Name_Not_Found (ワッチョイ 4f8f-Yhjd) [] 2019/06/09(日) 11:00:18.62:MBWs3EIF0

console.log(typeof a);
Name_Not_Found (ワッチョイ 4f8f-Yhjd) [] 2019/06/09(日) 11:05:58.91:MBWs3EIF0
すみません仕事で javascript は使ってません

を書いたのは「javascript モジュール」で検索すると過去の経緯とか現状とか出て来るので
「たぶん実務では babel か何かを通してから使うんだろうなあ」と思いつつ、です


検索の過程で出て来たソフトウェアの名前を列記したので
性質の違うものが並んでいる・並んでいる可能性があるのは認識しつつ、でした
「実務に詳しい人が補足してくれるだろう」と思ったのでした
Name_Not_Found [sage] 2019/06/09(日) 18:13:00.40ID:???

が少し変な人だっただけで質問は別におかしくないよ
わかんなくて、とりあえず自分で調べたなりに聞いてんだから

んで、今JSは超大雑把に
ブラウザの中でウェブの一部として動くものと、そうでないものがあって
コードのモジュール化についてはそのどちらなのかによって対処は変わるよ
って話
Name_Not_Found [sage] 2019/06/09(日) 21:06:10.42ID:???

いいや、今では実務でも直接モジュールつかうよ
まともなところならもうトランスパイラなんかは使ってない
考えてみたら分かる
いくらモジュールや構文をレガシーブラウザで動かせてもAPIに差がありすぎるので
1つのスクリプトで賄うのは無理があるということ

だからあえてmoduleにしてモダンブラウザ用のコードをメインとして提供して
nomoduleを使ってレガシーブラウザ用の本当に最低限な機能をちょこっと書く
これが一番効率がいい
Name_Not_Found [sage] 2019/06/09(日) 21:07:42.15ID:???
× まともなところならもうトランスパイラなんかは使ってない
○ トランスパイラ使ってない所=まとも。うちは使ってない、だからまとも。はい論破!
Name_Not_Found [sage] 2019/06/09(日) 21:43:03.86ID:???
最近は「自決」とだけ書いて
質問を投げ捨てるの流行ってるのかなあ
Name_Not_Found [sage] 2019/06/09(日) 21:55:07.68ID:???
自決って書くのも面倒
Name_Not_Found [sage] 2019/06/09(日) 22:02:17.97ID:???
function a(){ return false }

if (a)

a は、関数を呼び出していない。
関数そのもの

a( ) は、関数を呼び出す。
( )は、関数呼び出し演算子
Name_Not_Found [sage] 2019/06/09(日) 22:02:38.64ID:???

知ってる
Name_Not_Found [sage] 2019/06/09(日) 22:49:31.32ID:???
かえって「自決」って書かない方が印象良い気がする
Name_Not_Found [sage] 2019/06/09(日) 23:39:28.91ID:???

Name_Not_Found [] 2019/06/11(火) 07:34:04.73:5bxagqDM
自決って自殺のこと
Name_Not_Found [sage] 2019/06/11(火) 08:50:58.06ID:???
学校で習った民族自決は?
Name_Not_Found [sage] 2019/06/11(火) 16:42:11.45ID:???
あー!
自分で解決しました、で自決って書いてたのか

自殺したって書くのが若い子の間で流行ってるのかと思ってた(´∀`)
Name_Not_Found [sage] 2019/06/11(火) 19:40:42.11ID:???
紛らわしいから今度から「じ」って書くことにするよ
Name_Not_Found [] 2019/06/11(火) 19:51:21.43:oZMwi+uu
もう「自決」NGで良いよ
Name_Not_Found [sage] 2019/06/11(火) 22:26:28.14ID:???
大義のない今の世の中
自尻だろw
Name_Not_Found [sage] 2019/06/11(火) 23:07:32.22ID:???
斬新な自家発電
Name_Not_Found [sage] 2019/06/11(火) 23:09:09.04ID:???
じけつしました
Name_Not_Found [sage] 2019/06/12(水) 20:25:58.62ID:???

痔尻
Name_Not_Found [sage] 2019/06/12(水) 21:45:41.63ID:???

いや、痔血w
Name_Not_Found [] 2019/06/13(木) 15:57:02.88:Ni0h74Wk
よくdocument.writeは使うな!って言われるけど、何がしかのhtmlを出力したい時って代わりに何を使えばいいの?

windiw.onloadでページを全部読み込んだ後に処理されるようにしても、やっぱり使っちゃダメなの?
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/13(木) 18:36:16.28:PwSIvUNk0

<p id="foo">
とか html 側で書いておいて getElementByID して textContent を変更

どうしてもタグ入れたいなら innerHTML を使う
あるいは createChild するとか

p要素でもdiv要素でもspan要素でも何でも良いんだが、コンテンツやコンテキストによるかな
Name_Not_Found [sage] 2019/06/13(木) 18:46:38.04ID:???
$('#p').text(テキスト);
$('#p').html(HTML);

かんたーんかんたーん。
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/13(木) 18:49:01.54:PwSIvUNk0

ttp://https://jsbin.com/hawupah/7/edit?html,output
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/13(木) 18:56:37.10:PwSIvUNk0
こんなのもアリ
ttp://https://jsbin.com/zamanax/1/edit?html,output

これは document.write じゃ無理っしょ?
Name_Not_Found [sage] 2019/06/13(木) 23:36:17.15ID:???

error
TypeError: Failed to execute 'insertBefore' on 'Node': 2 arguments required, but only 1 present.

あと、dとd1はconstでいいだろ
Name_Not_Found [] 2019/06/14(金) 01:21:28.48:RcKxhTr6
スライドトグルとかは生のJavaScriptで書くのは難しいからジェイクエリーを使った方がよいですよね?
Name_Not_Found [sage] 2019/06/14(金) 02:45:49.74ID:???
別に難しくはないから使わんな
ああいうのは今時はメインはCSSの処理で、JSはクラスの追加/削除くらいしかしないし
Name_Not_Found [sage] 2019/06/14(金) 04:51:05.08ID:???
クラスの追加/削除程度なら使っても遅くならんし
簡潔にかけるjQueryの方が良くね?
Name_Not_Found [sage] 2019/06/14(金) 06:36:10.77ID:???
ヤフーニュースのランキングで、
ttp://https://news.yahoo.co.jp/ranking

<a>要素を、クリックする前には、href が、
ttp://https://headlines.yahoo.co.jp/何々」なのに、

クリックした後には、
ttp://https://rdsig.yahoo.co.jp/何々」に変えてしまうのは、なぜでしょうか?

ただし、rdsig をクリックしても、headlines の方に移動するので、どういう意味があるのでしょうか?


クリック前
<a onmousedown="this.href='ttp://https://rdsig.yahoo.co.jp/何々'"
href="ttp://https://headlines.yahoo.co.jp/何々"></a>

クリック後
<a onmousedown="this.href='ttp://https://rdsig.yahoo.co.jp/何々'"
href="ttp://https://rdsig.yahoo.co.jp/何々"></a>
Name_Not_Found [sage] 2019/06/14(金) 06:37:14.95ID:???
13×8が難しいからとわざわざ電卓借りてきて使うのか?
俺は最初から手元にあっても使わない
Name_Not_Found [sage] 2019/06/14(金) 06:41:06.95ID:???

Bootstrap には、無いの?

Bootstrapは、jQuery で作られているから、各部品を自分で作らなくてもよい
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/14(金) 07:07:47.62:IUNfs48K0

保存してなかったorz
御指摘、感謝です

const 書かなかったのは手抜きでした _o_

ttp://https://jsbin.com/zamanax/4/edit?html,output
Name_Not_Found [sage] 2019/06/14(金) 09:27:55.00ID:???
bootstrapはついに5からjquery抜くんだとw
おせーよww
Name_Not_Found [sage] 2019/06/14(金) 14:50:26.76ID:???
5ではjquery抜きのついでにIE11サポートもやめるんだろ?
つまり(日本では)仕事では使えない、役立たずFWってことだな
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/14(金) 18:18:23.17:IUNfs48K0
使いたい層が一定以上見込めるなら、しかるべきベンダが保守するだろ

ライセンス上は、保守によるパッチを公開する義務ないだろ
GPL じゃないんだし
Name_Not_Found [sage] 2019/06/14(金) 21:15:29.86ID:???
人に基本的なとこ説明する必要があって、各種プリミティブ型は箱モデル、オブジェクト(配列含む)はラベルモデルで説明しようと思ったんだけど、個人的に文字列について基礎的なとこ分かってないことが明らかになったのでちょっと教えて下さい。
1)文字列を数値や真偽値と同様箱モデルで捉えることに問題はないですか?
2)let a = '文字列', b = '文字列';であるとき、
a === bの結果は当然trueですが、aの指す'文字列'とbの指す'文字列'はメモリ上同一オブジェクトですか?つまり実態はアドレスを比較しているだけ?
そしてそれはesの仕様で決まっているのですか?それとも実装に任されているのですか?

よろしくお願いします。
Name_Not_Found [sage] 2019/06/14(金) 21:22:21.55ID:???
に追加で以下もお願いします
3)
let str = 'abc';
str[1] = 'B';
console.log(str);
//=> abc(aBcではなく)
となる説明、あるいは参考サイト(MDNレベルの噛み砕いてある説明なら理解できますが仕様書を紹介いただいても私には敷居が高いです…)
Name_Not_Found [sage] 2019/06/14(金) 22:19:37.75ID:???
Ruby では、同じ内容(等価)の文字列でも、異なるオブジェクトID(同一ではない) になる

a = '文字列'; b = '文字列'

p a.object_id, b.object_id
#=> [15684800, 15684760]

一方、Python のsys.intern() は、内容が同じ「等価」な文字列に対して、
実行環境上で「同一」の文字列を返す。
返された文字列どうしは、==(等価)ではなく、is(同一)でも一致する
Name_Not_Found [sage] 2019/06/14(金) 22:42:03.40ID:???
文字列は、数値型と同じで、オブジェクトじゃなくて、primitive。
参照を持っていないので、代入しても、参照ではなく、値が代入される。
書き込みできないオブジェクト

str[ 1 ] で、参照はできるけど、代入はできない

str = 'abc';

console.log( str[ 1 ] ); // b
Name_Not_Found [sage] 2019/06/14(金) 22:59:13.34ID:???
ttp://https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String#Character_access
ブラケット記法を使用した文字アクセスでは、これらのプロパティに値を設定したり削除したりすることはできません。関連したプロパティは書き込みも設定もできません。
間違ってるかも (ワッチョイ 3f8f-bbbA) [] 2019/06/15(土) 00:10:56.90:tagTKy3a0
うーむ。

let s = "abc";
console.log(s);
s[1] = "B";
console.log(s);

let t = s[0] + "b" + s[2];
console.log(t);
t[1] = "B";
console.log(t);

文字列を作ると、メモリの中に「変更できない文字列」が作られます。
文字列の変数は、実際には、その文字列を参照するだけのものです。
なので、文字列を「変更」したいときには、必ず、「新しい文字列」を作る必要があります。


…とか…
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/15(土) 00:13:18.50:tagTKy3a0
ttp://https://developer.mozilla.org/ja/docs/Glossary/Mutable

これか
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/15(土) 01:32:51.44:tagTKy3a0

> 一方、Python のsys.intern() は、内容が同じ「等価」な文字列に対して、
> 実行環境上で「同一」の文字列を返す。
> 返された文字列どうしは、==(等価)ではなく、is(同一)でも一致する

ttp://https://ja.wikipedia.org/wiki/Flyweight_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3
これですね
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/15(土) 01:37:21.62:tagTKy3a0
ttp://https://paiza.io/projects/2ElxZCMDL2N4kyyev5Lspw?language=c

似て非なるモノ
Name_Not_Found [sage] 2019/06/15(土) 07:02:13.08ID:???
ESでは値は原則消されることも無ければ複製されることもない
新しい値ができることと、
それに新しい名前が付けられ共有されることの繰り返しで成り立っている
ただし他の多くのメジャーな言語とは違い実装と事と仕様は原則綺麗に分離されている

実装では例えば原則参照の値渡し
ただしアドレス値に埋め込めるSMIはそのまま使うなどの
多くの人間的な工夫をした上で、
更に機械的な最適化段階を通すので
ロジック的な意味合いを考えるのは無益
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/15(土) 07:38:32.67:tagTKy3a0

長文なので抽象的すぎて
何のことを書いてるか分からん

サンプルコードで示して貰えまいか
のように
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/15(土) 07:39:07.58:tagTKy3a0
禁止されたのでレス分ける


で不充分と考えているのだとしたら
サンプルコードを示しつつ具体的に書いてもらえまいか
質問者の前提も、お忘れなく
Name_Not_Found [sage] 2019/06/15(土) 09:56:48.04ID:???
からのレスはないようだから、もう見てないのだろう
回答する必要はない
Name_Not_Found [sage] 2019/06/15(土) 11:21:18.97ID:???

えぇ…
文字列どころかプリミティブ値全部イミュータブルなのね、衝撃だわ…
Cと全然違うんだね。
じゃJavaScriptでは変数を箱モデルで説明すんのは厳密には間違いなんだね。
これからはラベルモデルで説明するわ。
mdnにこんなページあったのか…
Name_Not_Found [sage] 2019/06/15(土) 11:46:32.77ID:???
ワッチョイ出てない質問者は自演で回答に文句いいそうで怖い
「もういない」と指摘された途端に出てくるのもね…
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/15(土) 11:48:37.07:tagTKy3a0

> mdnにこんなページあったのか

1次情報で裏取るのが一番ですね

日本語の JS の情報ページは古すぎたり、あやふやだったり…
英語の方がまだマシだったりするし…
Name_Not_Found [sage] 2019/06/15(土) 12:00:52.30ID:???

プログラム板でC言語と混同してる疑いが持たれた奴がいたが、同一人物じゃないかね
ttps://mevius.5ch.net/test/read.cgi/tech/1491143438/148-
プログラム板の奴は「解決したら放置、追加質問があるならレス」だった
このスレの奴は「いることをアピール」すれば、追加情報が得られそうなので出てきた
情報搾取する輩は無視して良し
Name_Not_Found [sage] 2019/06/15(土) 12:42:25.38ID:???
プリミティブはイミュータブルとか見当違いのレスばかり
実際にはJSにそのような制限はない、実質的にそう考えても矛盾はしないというだけ
ラッパーオブジェクトの内部プロキシが吐くディスクリプタが書き込み禁止になっているだけ
Name_Not_Found [sage] 2019/06/15(土) 12:46:35.24ID:???
そんな事を言うと、JavaScriptで変数を箱モデルで説明すればいいのか
ラベルモデルで説明すればいいのか、わかんなくなるだろw
説明を実装で変えるような馬鹿だからな
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/15(土) 12:47:14.32:tagTKy3a0

> プリミティブはイミュータブルとか見当違いのレスばかり

ttp://https://ja.wikipedia.org/wiki/Flyweight_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3

この記述と整合性の取れる説明を、サンプルコードを示しながら書いて貰えんもんかねえ
Name_Not_Found [sage] 2019/06/15(土) 12:57:35.44ID:???

サンプルコードとか何いってんの?
あるコードがこういう挙動示すのは、どういう意味合いでどういう仕組みなのかって話をしてるでしょ
内部の話をする所で表層のサンプルコードもクソもないでしょ
ただ単純に、ES仕様やブラウザの内部実装を見ればいいだけでしょ
Name_Not_Found [sage] 2019/06/15(土) 13:07:47.01ID:???

煽って回答を引き出す戦略は止めて貰えませんかねえ
こういう質問者ばかりだから廃れるんだよ
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/15(土) 13:23:43.48:tagTKy3a0

サンプルコードすら示せないのであれば
「MDN の記載を見当違いと言い張る」大嘘吐き扱いになるのですが
それでも構わない、と?

あと私は質問者じゃないので
ちゃんとワッチョイなり ID なり確認されたく。
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/15(土) 13:27:36.52:tagTKy3a0
参照ページ
ttp://https://developer.mozilla.org/ja/docs/Glossary/Primitive
ttp://https://developer.mozilla.org/ja/docs/Web/JavaScript/Data_structures
Name_Not_Found [sage] 2019/06/15(土) 13:48:09.38ID:???

> あと私は質問者じゃないので
あなた()がに回答を求めてるよね
それは質問じゃないの?

> ちゃんとワッチョイなり ID なり確認されたく。
はワッチョイもIDも隠しているから、あなたと同一人物じゃないと証明できてないよ
前スレでのような行為が行われた現状では、こちらの可能性を疑われても仕方ない
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/15(土) 14:08:40.89:tagTKy3a0

うん
質問じゃないよ

MDNの記述と真っ向から矛盾することを書いておいて、サンプルコードすら示せないってありえないじゃん
説明する責任はソッチ

なので、説明を求められるのは当然であって、それは「質問」じゃない
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/15(土) 14:11:56.24:tagTKy3a0

> はワッチョイもIDも隠しているから、あなたと同一人物じゃないと証明できてないよ


それは無理な主張だなあ

私は前スレからワッチョイを出している訳だが?
8f- という文字列で検索すれば全部出て来る

しかも に対して回答をしている( )
Name_Not_Found [sage] 2019/06/15(土) 14:54:41.19ID:???

- あなたの中で矛盾があろうが、質問は質問
- 俺がの説明責任を負ういわれはない
- 回答していようが自演は出来る(前スレの奴はやりかねない)

一番重要なのは「煽るな(=荒らすな)」
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/15(土) 15:47:47.04:tagTKy3a0
さて、大嘘吐きさんは逃亡したようですね
「プリミティブラッパーオブジェクト」 (See: ttp://https://developer.mozilla.org/ja/docs/Glossary/Primitive )と混同している気配はあったかな


ワッチョイも無し、IDも無しで言われても…
ブーメランの可能性は自覚しているのかなあ
「俺がの説明責任を負ういわれはない」と断言できる根拠が無いのですね


あと、現代日本語を逐語解釈しても「疑問」と「反語」は区別できないので念のため
を逐語解釈した場合、さて、どうなるんでしょうねえ
Name_Not_Found [sage] 2019/06/15(土) 16:14:03.31ID:???

相変わらず、煽り続けるので「荒らし」と確定した
Name_Not_Found [sage] 2019/06/15(土) 16:22:32.70ID:???
荒らしとか言いながらお前らそれを一番楽しんでんじゃん
ミイラ取りがミイラになってもなおミイラ取りするみたいな
Name_Not_Found [sage] 2019/06/15(土) 16:26:59.86ID:???
少なくとも、"ワッチョイ 3f8f-bbbA" は論破するのが楽しくて煽ってるところがあるから、荒らしだろうな
Name_Not_Found [sage] 2019/06/15(土) 16:53:02.54ID:???
多分、彼には「君子危うきに近寄らず」で敬遠された自覚はないと思う
Name_Not_Found [sage] 2019/06/15(土) 17:59:43.32ID:???
俺は「天網恢々、疎にして漏らさず」でオナニーしてる
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/15(土) 19:04:31.65:tagTKy3a0

MDN の記述と真っ向から矛盾すること書いておいて
「君子危うきに近寄らず」は無いでしょ

…ずいぶん高踏的な物言いですねえ…
Name_Not_Found [sage] 2019/06/15(土) 19:42:40.54ID:???

混同も何もブラケット演算子を適応した場合は
一時的にラッパーオブジェクトが作られそれへの操作になるんだが
常識だろう
だからそれに対する挙動を持ってプリミティブ型の性質を語るのはちゃんちゃらおかしい
str[n]=hoge
が働かないというのはまず、StringObjectの性質であって
Stringプリミティブ型の制限ではない
JSではプリミティブ型を書き換える手段が提供されていないというのが正しいのであって
プリミティブはイミュータブルと決まっているわけではない
ESは様々な拡張が許されており、仮にイミュータブルが書き換え可能でも
その他の部分で矛盾や不都合は発生しない
あと、仕様の話でMDNを見るな、ここを見て語れ
ttp://https://tc39.es/ecma262
Name_Not_Found [sage] 2019/06/15(土) 20:01:20.31ID:???
あと抽象的だのなんだの言ってる奴が居るがこれもまたちゃんちゃらおかしい
仕様書を読めば分かるが仕様書というのは基本的に自然言語で書いてあるのだから
こういう捉え方しかできないというところもあれば、色々な捉え方ができるところもある
特にESの仕様書というのは物理マシンや実装エンジンの世界を殆ど持ち出さずに
正にESというものの概念を定義してるのだから抽象的であるに決まりきっている
ES仕様で最も多く使われているlet〜beなどという言葉だってその挙動をどう捉えるかは難しい
少なくともa is bはbが複写されてaとする、と考えると矛盾する
だからここはbにaという新しい名前を付けると解釈しないといけない
そういったa is bが何十何百何千積み重なって多くのロジックを形成してるので
つまるところESの変数の仕組みだって名付けの連鎖だと帰着できる
一方ESに削除や複写が殆ど無いこともこうやって全てのロジックを追っていけば分かる
勿論そういう概念にこだわっても物理マシンや実装エンジンの世界では無益に近いが
ESの仕様をできる限り忠実に語ろうとするのであればそういう無益な話をせざるを得ない
Name_Not_Found (アウアウエー Sa82-aVKm) [] 2019/06/15(土) 22:24:08.74:DMISqiD0a

同意だが、何をいっても煽られるのが目に見えているので、説明する時間が勿体ないと思う
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/15(土) 22:49:10.79:tagTKy3a0

> 仕様の話でMDNを見るな

仰る通り
手抜きでした
申し訳ない
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/15(土) 23:40:11.54:tagTKy3a0
ん…?


> ブラケット演算子を適応した場合は
> 一時的にラッパーオブジェクトが作られそれへの操作になる

ttp://https://www.ecma-international.org/ecma-262/6.0/
を square bracket や bracket notation で検索するも見当たらないですね


12.3.2 Property Accessors
> Properties are accessed by name, using either the dot notation:
...
> or the bracket notation:
> MemberExpression [ Expression ]
> CallExpression [ Expression ]

という記述があるのみ
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/16(日) 00:20:19.76:n1lpDHLV0
【初心者に教えるとき】
a[1] = "A"; とか書いても文字列 a の内容は変わらない、と。
「書き換えることはできない、それが仕様」と。



あんまり空中戦やりたくないんだが


> JSではプリミティブ型を書き換える手段が提供されていないというのが正しい

9.4.3 String Exotic Objects を読む限り、"the encapsulated String value" を操作することが禁止されているとまでは読めないが…。
そうすると、「プリミティブ型を書き換える手段」を提供する実装が存在したとして、それは「規格に適合していない」とはいえない、
すなわち「今の時点で、プリミティブ型を書き換える手段が提供されているブラウザは無い」というのが(この板の性質上)正しいのでは?


> 4.3.2 primitive value
...
> A primitive value is a datum that is represented directly at the lowest level of the language implementation.
(以下省略)

「ECMAScript2015において、すべてのプリミティブ型はイミュータブルである」とは書かれていない。
「その意味で MDN の記述は誤っている」と言う余地もあろだろうし、「実装依存の話であって、誤っていない」と言う余地もあるだろう
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/16(日) 01:06:59.77:n1lpDHLV0
【ありそうなこと】
 かつて IE7 あたりで a[1] という記法が使えなかった名残で、
 コーディング規約上 .charAt() を使うことになっている

IE11 では使えるし、さすがに無いか…?
Name_Not_Found [sage] 2019/06/16(日) 02:57:36.58ID:???
配列内の要素から、簡単に、HTML の<td> タグを作るような方法が、ありませんか?

lodash にあるかな?
jQuery よりも、出来れば、素のJS が良いです

var ary = [ 1, 2, 3 ];

<td>1</td><td>2</td><td>3</td>
Name_Not_Found [sage] 2019/06/16(日) 04:09:29.36ID:???
const arr = [1,2,3];
// 文字列で作る
const str = arr.map(v => `<td>${v}</td>`).join('');

// DocumentFragmentで作る
const fragment = document.createDocumentFragment();
arr.forEach(v => {
const td = document.createElement('td');
td.textContent = v;
fragment.appendChild(td);
});
Name_Not_Found [sage] 2019/06/16(日) 06:02:54.22ID:???
// jQueryで作る
const str = $.map(ary, function(i) { return "<td>" + i + "</td>"; }).join("");

// jQueryで作る 2
const str = $.map(ary, i=>`<td>${i}</td>`).join("");

// lodashで作る
const str = _.map(ary, i=>`<td>${i}</td>`).join("");

// lodashで作る 2
var compiled = _.template("<% _.map(ary, function(i) { %><td><%- i %></td><% }); %>");
const str = compiled({'ary': ary});
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/16(日) 08:25:14.43:n1lpDHLV0
for で書いてみた


var ary = [ 1, 2, 3 ];
var str_result = "";

for (var i = 0; i < ary.length; i++) {
str_result += "<td>" + ary[i] + "</td>";
}
console.log(str_result);
Name_Not_Found [sage] 2019/06/16(日) 09:15:14.79ID:???

俺はMDNが間違っているとは言わない
 実質的にそう考えても矛盾はしない と言ってるだろう
プリミティブ型がイミュータブルと言ってはいけないとまでも言わない

俺が言いたいのは、どちらにせよ
a[1] = "A"
の挙動に於いてプリミティブ型がどうのを持ち出す流れが完璧におかしいってこと
本当に言いたかったのはそこだけであとは蛇足
Name_Not_Found [sage] 2019/06/16(日) 09:22:39.41ID:???
素のJSで書いたが一番見やすくて分かりやすいな
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/16(日) 09:35:17.63:n1lpDHLV0

あまり真似しないで欲しいが
ttp://https://jsbin.com/viyoduh/edit?html,js,output
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/16(日) 09:36:45.82:n1lpDHLV0
ありがとうございました。


色々勉強になり、より知識体系も改善したようです。
きっかけを作っていただき、感謝しております。
Name_Not_Found [sage] 2019/06/16(日) 09:53:54.64ID:???

例は数値配列だからいいけど
実際には< とか > とか含む文字列だったりしないのかな
xss的なめんどくさいことにならないといいんだけど
Name_Not_Found [sage] 2019/06/16(日) 09:54:27.12ID:???

ごめんなさい
安価間違えた
Name_Not_Found [sage] 2019/06/16(日) 10:21:42.99ID:???
ワッチョイ 3f8f-bbbAは正義感が強いのはいいが、自信過剰で他人を煽ってるのが当然の権利と言わんばかりなのが鼻についた
自分の誤りに気が付いた途端に謙虚になったが、初めからそうすればいいのに
Name_Not_Found [sage] 2019/06/16(日) 11:14:27.49ID:???
      , -,____
   /レ/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;`'-,__
 i!、i;;;;;;; ;;; ;; ;;; ;; ;; ;;;;; ;; ;; ;;; ;;;;;;、
 >;;;;;;;;;;;;;;; ;;; ;;; ;; ;; ;;;;; ;;; ;;; ;;;;;;;;;
/〉,、;;/ / !  ̄ ̄ ̄ ̄`ヽ !;;;;;;;;;;i
 /( !;;| ノ=-    -==\|;;;;;;;;;;;l
   `! ,.--、    ,---、 },;;;__;;;!
    ,i.i ●_i    !_● _! リ', i|    ___________
    .l|  ̄ ノ     ̄    i l!   /
    !  l,_        ,__/!   < でも回答者が悪いんですよ
    i   ======    /〉;;/    \___________
    ヽ        / ルi!、
    //`ー───' .//lllll\
 _/llllll!、      / /|||||||||
'||||||||||||||l \_ /ニ ̄  ./|||||||||||
||||||||||||||||i, く;;;;;;;;;;|\ ./|||||||||||||
|||||||||||||||||! 〉;;;;;;/  ー/||||||||||||||
Name_Not_Found [sage] 2019/06/16(日) 11:32:19.23ID:???
真面目に分析すると、ワッチョイ 3f8f-bbbA の中では「このスレを正しい情報だけにしよう」という気概が強くあるのだと思う。
彼にとっては「MDNは絶対的に正しいはず」であり、それを否定する情報を寄せる輩は是正すべき相手。
だから、「お前の言ってる事は間違ってる。悔しかったら言い返してみろよ。」というスタンスでやり込めたつもりなんだろう。

一流の技術者は「自分の知識を疑うこと」が出来るし、相手の考えを聞くまでは判断を保留する冷静さがある。
そういう意味では彼は二流(or三流)だね。
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/16(日) 11:48:06.61:n1lpDHLV0

ttp://https://jsbin.com/qayivic/edit?html,js,console,output


jQuery 等のライブラリにあるのかも知れんし
もっと効率的な書き方もあるかも知れんけど…

html だとバッククオートは放置でも良いんだっけ…?
Name_Not_Found [sage] 2019/06/16(日) 12:09:50.46ID:???

> html だとバッククオートは放置でも良いんだっけ…?
仕様を読まないのは「手抜き」ではなかったのですか
Name_Not_Found (アウアウエー Sa82-okRp) [] 2019/06/16(日) 12:21:16.50:u8bqBROXa

HTMLタグを文字列で管理する手法はお勧めしない

// for-of
const td = document.createElement('td');
const df = document.createDocumentFragment();
for (let value of [1,2,3]) df.appendChild(td.cloneNode(false)).textContent = value;

// reduce
const td = document.createElement('td');
const df = [1,2,3].reduce((df, current) => (df.appendChild(td.cloneNode(false)).textContent = current, df), document.createDocumentFragment());

tr要素ノードを含めて挿入する場合は、insertCell()を使用しても良い

// insertCell
const tr = document.createElement('tr');
for (let value of [1,2,3]) tr.insertCell().textContent = value;
Name_Not_Found (アウアウエー Sa82-okRp) [] 2019/06/16(日) 12:32:04.75:u8bqBROXa

何度も挿入するコンテンツなら、template要素も検討に値する
IE11対策は、子ノードをcloneNode()する代替コードを書けば良い
ttp://https://developer.mozilla.org/ja/docs/Web/HTML/Element/template
Name_Not_Found [sage] 2019/06/16(日) 12:33:43.74ID:???

ttp://https://lodash.com/docs/4.17.11#template

// Use the HTML "escape" delimiter to escape data property values.
var compiled = _.template('<b><%- value %></b>');
compiled({ 'value': '<script>' });
// => '<b>&lt;script&gt;</b>'
Name_Not_Found [sage] 2019/06/16(日) 12:34:47.81ID:???
文字列を使うとDOM APIを呼び出さないので速いよ
Name_Not_Found (アウアウエー Sa82-okRp) [] 2019/06/16(日) 13:28:20.38:u8bqBROXa
> 文字列を使うとDOM APIを呼び出さないので速いよ
文字列として扱う分には無害だが、のように最終的にDOMツリーに挿入する為にサニタイズ処理が必要なら話は別だ
ネイティブで用意されている機能を使わず、手動でサニタイズするのは労力の無駄(車輪の再発名)
そして、将来的に機能のアップデートがあった場合に追従出来ない可能性がある
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/16(日) 13:56:00.43:n1lpDHLV0

> あまり真似しないで欲しいが
> ttp://https://jsbin.com/viyoduh/edit?html,js,output

コレが原因で荒れてしまったようで申し訳ない


// for で単純に
ttp://https://jsbin.com/wuxayaj/edit?html,js,output

// 御教示いただいた insertCell を使用
ttp://https://jsbin.com/fawowuv/edit?html,js,output

// one-liner
ttp://https://jsbin.com/dowewag/edit?html,js,output

こんな感じですかねえ…。

replace で正規表現を使うと "." とかで不具合が出るので要注意、と。
ttp://https://noumenon-th.net/programming/2016/01/29/xss/ みたいなのもあるようなので油断大敵、と。
Name_Not_Found [sage] 2019/06/16(日) 14:12:13.86ID:???

> 手動でサニタイズするのは労力の無駄(車輪の再発名)
ライブラリ使えばいいやん
外部サイト見たくないという人のために (ワッチョイ 3f8f-bbbA) [] 2019/06/16(日) 14:20:11.46:n1lpDHLV0
> // for で単純に
> ttp://https://jsbin.com/wuxayaj/edit?html,js,output

var ary = [ 1, 2, 3 ];
var e = document.getElementById("target");
var row = document.createElement("tr");
var cell = {};

e.appendChild(row);

for (var i = 0; i < ary.length; i++) {
cell = document.createElement("td");
cell.textContent = ary[i];
row.appendChild(cell);
}
外部サイト見たくないという人のために (ワッチョイ 3f8f-bbbA) [] 2019/06/16(日) 14:20:43.40:n1lpDHLV0
> // 御教示いただいた insertCell を使用
> ttp://https://jsbin.com/fawowuv/edit?html,js,output

var ary = [ 1, 2, 3 ];
var e = document.getElementById("target");
var row = document.createElement("tr");
var cell = {};

e.appendChild(row);

for (var i = 0; i < ary.length; i++) {
cell = row.insertCell();
cell.textContent = ary[i]
}

> // one-liner
> ttp://https://jsbin.com/dowewag/edit?html,js,output

var ary = [ 1, 2, 3 ];
var e = document.getElementById("target");
var row = document.createElement("tr");

e.appendChild(row);

for (var i = 0; i < ary.length; i++) {
row.insertCell().textContent = ary[i]
}
Name_Not_Found [sage] 2019/06/16(日) 14:21:21.02ID:???
読み返してみても、に触れてるのは本人だけだった
なんかズレてる気がするなあ…
Name_Not_Found [sage] 2019/06/16(日) 14:22:11.37ID:???
なんでcellわざわざ{}で初期化してるの?
Name_Not_Found [sage] 2019/06/16(日) 14:24:57.72ID:???

ネイティブの方が早いよ
Name_Not_Found [sage] 2019/06/16(日) 14:25:22.97ID:???
何も考えてないから。
動くコードをそのまま真似して、動けばOKで終わるやつはそうなる
Name_Not_Found [sage] 2019/06/16(日) 14:25:48.45ID:???

ライブラリはネイティブコードで書かれているんですよw
Name_Not_Found [sage] 2019/06/16(日) 14:28:53.77ID:???

知ってるよ
でも、に対する反論で「手動が無駄」と彼は主張してる
それに対してライブラリを勧めるのはおかしい
Name_Not_Found [sage] 2019/06/16(日) 14:32:21.24ID:???
> それに対してライブラリを勧めるのはおかしい

理由は?
Name_Not_Found [sage] 2019/06/16(日) 14:33:58.18ID:???


を見ればわかるように、
ライブラリを勧めるのがおかしいのは、ネイティブじゃないから

でも、
ライブラリはネイティブであることを認めた

こういう矛盾を平気でするやつってこと
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/16(日) 14:34:28.84:n1lpDHLV0
ん…

って「サニタイズは必要ない」と保証されてます?
Name_Not_Found [sage] 2019/06/16(日) 14:34:30.14ID:???
あぁ、相手にしない方がいいですね。
それかちょっとからかってやるとかw
Name_Not_Found [sage] 2019/06/16(日) 14:34:48.38ID:???

保証されてる
Name_Not_Found [sage] 2019/06/16(日) 14:34:52.02ID:???

から「遅い」と苦情がくる
Name_Not_Found [sage] 2019/06/16(日) 14:35:45.89ID:???

> const arr = [1,2,3];
> // 文字列で作る
> const str = arr.map(v => `<td>${v}</td>`).join('');

サニタイズしろボケ
Name_Not_Found [sage] 2019/06/16(日) 14:36:23.53ID:???

そりゃネイティブじゃなくて、DOM APIでやれば遅いだろうね
Name_Not_Found [sage] 2019/06/16(日) 14:36:47.18ID:???

君は前スレで散々、暴れた奴か
Name_Not_Found [sage] 2019/06/16(日) 14:37:35.84ID:???
VirtualDOMがなんのためにできたのか?
どういう技術なのかわかってないやつが多い

遅いDOM APIを使わないで、JavaScriptネイティブ(=文字列操作)でやるから速いんだが
Name_Not_Found [sage] 2019/06/16(日) 14:38:05.58ID:???

> そりゃネイティブじゃなくて、DOM APIでやれば遅いだろうね

え…、DOMってネイティブじゃなかったのか…
Name_Not_Found [sage] 2019/06/16(日) 14:38:16.05ID:???

違いますが、君は「前スレで散々、暴れた奴」に
「敵対する奴」ってことでFAですねw
Name_Not_Found [sage] 2019/06/16(日) 14:38:54.84ID:???

当たり前だろw
JavaScript(ECMAScript)のどこにもDOM APIは定義されてない
Name_Not_Found [sage] 2019/06/16(日) 14:39:21.81ID:???
VirtualDOMも最終的にはDOM APIで操作してるんだがな
タイミングを理解している奴はDOM APIで書いても速い
Name_Not_Found [sage] 2019/06/16(日) 14:40:57.86ID:???

今重要なのはDOM APIは遅いという事実と
遅いDOM APIを使わずにできることは
DOM APIを使わないほうが速いという事実です。
Name_Not_Found [sage] 2019/06/16(日) 14:41:36.76ID:???
ここマウント取りたがる奴が多いな
無自覚な荒らし
Name_Not_Found [sage] 2019/06/16(日) 14:42:22.27ID:???

では、DOM APIを使わずに書いてみてくれ
Name_Not_Found [sage] 2019/06/16(日) 14:43:42.71ID:???
DOM APIには「速い書き方」と「遅い書き方」がある、だと思ってた
Name_Not_Found [sage] 2019/06/16(日) 14:51:53.66ID:???
速いほうが良いとは限らないだろ
俺の会社のPC前任者が訳のわからないソフト入れてて遅かったお陰で俺だけ最新のに買い替えて貰ったし
Name_Not_Found [sage] 2019/06/16(日) 14:55:54.04ID:???

すでに書いていますが?

お題 ()
> 配列内の要素から、簡単に、HTML の<td> タグを作るような方法が、ありませんか?

答え ()
// lodashで作る 2
var compiled = _.template("<% _.map(ary, function(i) { %><td><%- i %></td><% }); %>");
const str = compiled({'ary': ary});


このスレってお題すらちゃんと読めない人が多いんですよねぇw
Name_Not_Found [sage] 2019/06/16(日) 14:56:25.12ID:???
間違えた

すでに書いていますが?

お題 ()
> 配列内の要素から、簡単に、HTML の<td> タグを作るような方法が、ありませんか?

答え ()
// lodashで作る 2
var compiled = _.template("<% _.map(ary, function(i) { %><td><%- i %></td><% }); %>");
const str = compiled({'ary': ary});


このスレってお題すらちゃんと読めない人が多いんですよねぇw
Name_Not_Found [sage] 2019/06/16(日) 14:57:20.58ID:???

> 速いほうが良いとは限らないだろ

そりゃそうだな。開発効率のほうが重要
Name_Not_Found [sage] 2019/06/16(日) 15:00:20.42ID:???

サニタイズ処理は?
Name_Not_Found [sage] 2019/06/16(日) 15:02:10.61ID:???
に書いてあるだろ。ほんと呆れるわ


ttp://https://lodash.com/docs/4.17.11#template

// Use the HTML "escape" delimiter to escape data property values.
var compiled = _.template('<b><%- value %></b>');
compiled({ 'value': '<script>' });
// => '<b>&lt;script&gt;</b>'
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/16(日) 15:10:41.92:n1lpDHLV0

const ary = ["a<br>b"];
let str = $.map(ary, function(i) { return "<td>" + i + "</td>"; }).join("");
console.log(`jQuery_1: ${str}`);

str = $.map(ary, i=>`<td>${i}</td>`).join("");
console.log(`jQuery_2: ${str}`);

str = _.map(ary, i=>`<td>${i}</td>`).join("");
console.log(`lodash_1: ${str}`);

let compiled = _.template("<% _.map(ary, function(i) { %><td><%- i %></td><% }); %>");
str = compiled({'ary': ary});
console.log(`lodash_2: ${str}`);

…なるほど…
Name_Not_Found [sage] 2019/06/16(日) 15:13:51.36ID:???

ライブラリ依存でDOM APIとの前方互換性は排除した形か
もうわかったからこれ以降、書かなくていい
Name_Not_Found [sage] 2019/06/16(日) 15:18:17.43ID:???

それも指摘したとおり


> const arr = [1,2,3];
> // 文字列で作る
> const str = arr.map(v => `<td>${v}</td>`).join('');

サニタイズしろボケ
Name_Not_Found [sage] 2019/06/16(日) 15:18:52.75ID:???

いや書くよw
Name_Not_Found [sage] 2019/06/16(日) 16:22:02.10ID:???
やはり、完全ワッチョイ化が必要だな
Name_Not_Found [sage] 2019/06/16(日) 16:39:42.51ID:???
質問()が読めない奴は消えてなくなればいいのに

> jQuery よりも、出来れば、素のJS が良いです
Name_Not_Found [sage] 2019/06/16(日) 16:41:19.23ID:???
「出来れば」
Name_Not_Found [sage] 2019/06/16(日) 16:42:00.34ID:???
より
> lodash にあるかな?
Name_Not_Found [sage] 2019/06/16(日) 16:43:02.36ID:???
lodashはそりゃOKに決まってるよ。
質問者がその名前を出してるんだから
今回はライブラリはOK
Name_Not_Found [sage] 2019/06/16(日) 16:46:06.85ID:???

console.log( ary.map(v => '<td>' + String(v) + '<td>').join('') );
Name_Not_Found [sage] 2019/06/16(日) 16:47:32.23ID:???
あ、もうそのまんま回答されてた
Name_Not_Found [sage] 2019/06/16(日) 17:17:18.96ID:???
出来ないやつってことねw
Name_Not_Found [sage] 2019/06/16(日) 17:24:29.02ID:???
の(2)ってどなたか説明できませんか?
アドレス同士の比較で高速なのならなんで'文字列'(1回目)と'文字列'(2回目)の===がtrueなのかサッパリ。
'文字列'(1回目)と'文字列'(2回目)は別のアドレスにメモリ割り当てられてるんじゃないの?それだとtrueはおかしくありません?
それともまさか===なのに一文字づつ比較してるわけじゃないよね?
Name_Not_Found [sage] 2019/06/16(日) 17:38:38.65ID:???

もう答えられてなかったっけ?
本人か成りすましか知らんけど
Name_Not_Found [sage] 2019/06/16(日) 17:43:31.29ID:???
にあるじゃん
回答全部読めと
Name_Not_Found [sage] 2019/06/16(日) 17:51:51.84ID:???
数日放置して忘れた頃にレスが来るのは悪質だわ
Name_Not_Found [sage] 2019/06/16(日) 17:59:00.83ID:???
話題をすり替えようとする手
Name_Not_Found [sage] 2019/06/16(日) 18:02:03.49ID:???

勝手に質問をねつ造されても迷惑だわ
解決報告もせん奴だし、張り合いがない
Name_Not_Found [sage] 2019/06/16(日) 18:10:13.42ID:???
本当に解決しようとするなら、回答に対して「〜が分かって、〜は〜まで理解できたが、〜が分からん」とか自分で切り分けして返信しようとするもんだ
それがないって事はたいして重要な問題でもないんだろうさ
Name_Not_Found [sage] 2019/06/16(日) 18:13:05.40ID:???

それの(2)の回答じゃないじゃないですか…
ウンチクじゃなくて回答下さいよ
Name_Not_Found [sage] 2019/06/16(日) 18:15:03.77ID:???

君に理解できない事が分かっただけでも良かったじゃないか
Name_Not_Found [sage] 2019/06/16(日) 18:16:55.12ID:???
分からないなら絡んでくるなよ
Name_Not_Found [sage] 2019/06/16(日) 18:18:18.11ID:???
図々しい奴だな
「わからないんですかと煽っても無駄です」のテンプレを思い出した
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/16(日) 18:21:27.28:n1lpDHLV0

ttp://https://www.ecma-international.org/ecma-262/6.0/#sec-equality-operators-runtime-semantics-evaluation
Name_Not_Found [sage] 2019/06/16(日) 18:44:18.99ID:???

1文字ずつ比較してるに決まってるでしょ
それにJSにアドレスという概念はない
Name_Not_Found [sage] 2019/06/16(日) 18:53:54.80ID:???

つまり
let a = 'abc', b = 'abc';
a === b
としたときも
let a = 'abc';
let b = a;
a === b
としたときも、
'abc'の一文字づつ比較されてすべて等しかったからtrueが返されてると、そういうことですかね?
Name_Not_Found [sage] 2019/06/16(日) 19:37:07.09ID:???
型を限定した配列を簡単に作成する方法はありますか。
例えば、String型しか代入できず、String型以外を代入したらTypeErrorを返す配列、とか。
Name_Not_Found [sage] 2019/06/16(日) 19:43:51.15ID:???

一文字ずつ比較するとかそういうロジック的なことは仕様にはない
とにかく同じ文字コード列ということが確認できればtrueが帰る
そこでアドレスの一致を利用するかどうかはエンジンの問題

君もいい加減分かったほうがいい
仕様に沿う実装方法なんて幾つもあるということ
エンジンは最適化もしないといけないし仕様のステップどおりに実装してるわけでもない
仕様から期待される挙動と同等の挙動ができるように実装されている
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/16(日) 19:52:04.62:n1lpDHLV0

const i = 1;
let u;
const b = true;
const o = {};

console.log(typeof i);
console.log(typeof u);
console.log(typeof b);
console.log(typeof o);
Name_Not_Found [sage] 2019/06/16(日) 19:53:26.19ID:???

配列ではないようですが、どういう意味でしょう?
Name_Not_Found [sage] 2019/06/16(日) 20:00:22.90ID:???

Proxyを使うといい。簡単に作るとこんな感じ
ary = new Proxy( [ ], { defineProperty (self, key, desc) {
if ( typeof desc.value != 'string' ) throw new TypeError( 'value is not a string' )
return Object.defineProperty( self, key, desc )
} } )
あと必要ならlengthをケアすればいい
Name_Not_Found [sage] 2019/06/16(日) 20:12:49.44ID:???

情報ありがとうございます。
その方向性だと、最終的には、ユーザ定義の class を作る事になりそうですね。

- Proxyでプロパティget/setを制御
- lengthを定義
- Array.prototype系メソッドを定義

この辺りを自前実装しなくてもビルトイン関数があるのではないか、と考えていましたが、未だに無さそうなのが残念です。
Number 型なら Int32Array がほぼ要件を満たすのですが。
Name_Not_Found [sage] 2019/06/16(日) 20:19:14.91ID:???
typescript使えばよくね?
Name_Not_Found [sage] 2019/06/16(日) 21:09:14.68ID:???

要件がよく分からんけど、でもArrayのメソッド使えるよ
もし、mapとかsliceとかで返ってくる値なんかもProxyにしたいということなら
@@speciesを利用して

function StringArray( len ) {
 return new Proxy( len ? Array( len ) : [ ], {
  defineProperty (self, key, desc) {
   if ( typeof desc.value != 'string' && key != 'length' ) throw new TypeError( 'value is not a string' )
   return Reflect.defineProperty( self, key, desc )
  }
  ,get ( self, key, rec ) {
   if ( key == 'constructor' ) return { [Symbol.species]: StringArray }
   return Reflect.get( self, key, rec )
  }
 } )
}

みたいなの作ればいいと思うよ
これ以上なにか必要?
Name_Not_Found [sage] 2019/06/16(日) 21:18:33.14ID:???
Int32Arrayは速くなるのに、
それは逆に遅くなるのが嫌だな
Name_Not_Found [sage] 2019/06/16(日) 21:31:57.45ID:???
Int32Arrayは数値以外でも例外出さないじゃん
例外出さなくてキャストしてほしいのなら
設定は許して値を利用する直前に変換掛けるか、値を利用するときに""+でもした方が良いのでは?
427 [sage] 2019/06/16(日) 22:11:39.74ID:???

要件をくみ取って頂いてありがとうございます。
私が期待する要件をほぼ満たしていました。
Reflect.get や Symbol.species は未知の分野だったので、学習します。

> これ以上なにか必要?

今思いつく範囲では下記がありますが、これ以上甘えるわけにはいきませんので、自分で書きます。

- new StringArray した際の [[Prototype]], @@toStringTag を StringArray 相当に
- 扱える引数を Array もしくは Int32Array 相当に Int32Array -- ex: new StringArray('a', 'b'), new StringArray(['a', 'b'])

元々、ヒントを頂ければ十分と考えていたので、ここまでコードを書いて頂けるとは思ってもいませんでした。
お世話になりました。

---

当初の質問の意図は、「Int32Array に代わる、ビルトイン関数はないか」というものでした。
Number 型だけでなく、String 型, Boolean 型, Object 型など、汎用的に使える配列用コンストラクタがあれば、コーディングの幅が広がると考えました。
Object 型には WeakMap がありますが、列挙不可能ですし、new Map は配列と比較してメソッドが圧倒的に少ないようです。
new Array か new Map を基本インターフェースとして独自classを作る事を考えましたが、ビルトイン関数があれば更に良いと考えたのが質問のきっかけです。
現状では独自コンストラクタを作成するしかないと結論しますが、何らかのビルトイン関数をご存知の方がいらっしゃいましたら、教えて頂けると助かります。

※ちなみに、は私(質問者)ではありません。
Name_Not_Found [sage] 2019/06/16(日) 22:22:44.97ID:???
ES2015以前からTypedObjectの提案があるけど何回もポシャってる
ttp://https://github.com/dslomov/typed-objects-es7
数値型はバイナリを扱うために必要だとしても
基本的にはJSではキチキチに制限するよりもそれっぽく扱っていったほうが良いと思う
Name_Not_Found [sage] 2019/06/16(日) 22:26:48.61ID:???
まあディズニーランド来て何でスパイダーマンライドが無いんだと喚いてるようなものだからな。USJ行けと。
427 [sage] 2019/06/16(日) 22:55:23.32ID:???

> ES2015以前からTypedObjectの提案があるけど何回もポシャってる
そういう動きがあったのですね。
ポシャった理由が気になります…。

> 基本的にはJSではキチキチに制限するよりもそれっぽく扱っていったほうが良いと思う
Int32Array が ToNumber しているように、TypeError を返すよりも型変換した方がJSらしい、というような思想は理解できます。

ただ、コードを書いていく上で制限をかけた方がパターン数が減って都合が良い事はあると思います。
例えば、変数には一つの型を決めるコーディング規約が一般的ですが、これは受け取る変数の型を一つに限定する事で、想定される変数の組み合わせを少なくする効果があります。
どんな型が来ても良い設計にすると、7つの型全てを考慮しなければなりませんが、一つの型になれば、アルゴリズムを考えるコストは1/7です。
同じ理由で配列の値に期待される型を一つに限定する事で、考えるコストを減らす事が出来ます。
Name_Not_Found [sage] 2019/06/16(日) 23:02:44.29ID:???
typescript使えばよくね?
Name_Not_Found [] 2019/06/16(日) 23:33:37.22:X+WthsNM
言語自体はだいたいわかったけど仕事の真似事みたいなことがしたい
なにをしたらいい?
Name_Not_Found [sage] 2019/06/16(日) 23:44:38.37ID:???
スーパー初心者です
引数について質問なのですが
(とあるページのコードです)

const func = ({ hoge = 'foo' } = {}) => console.log(hoge);
func(); // 'foo'
func({ hoge: 'bar' }); // 'bar'

3行目のように「何らかの値をオブジェクトや配列にして渡す」という場合は
そのオブジェクトや配列を定義しておく必要ないんですか?
Name_Not_Found [sage] 2019/06/17(月) 02:46:32.40ID:???

一行目の関数定義でデフォルト引数設定してあるからね。
const func = ({ hoge}) => console.log(hoge);
ならhogeプロパティ持ってるオブジェクトを引数に与えないとエラー。
const func = ({ hoge = 'foo' }) => console.log(hoge);
でhogeプロパティ持ってないオブジェクトでもOKに。hogeのデフォルト値に'foo'を指定してあるから。
const func = ({ hoge = 'foo' } = {}) => console.log(hoge);
でオブジェクトすら与えなくてもよくなる。デフォルト引数に空オブジェクト{}を指定してあるから。その後はひとつ上と同じ。
347 [sage] 2019/06/17(月) 04:04:33.63ID:???
皆さん、多くの回答を、ありがとう!

確かに、ERB みたいな、テンプレートファイルじゃなく、
JavaScript(JS) ファイル内の配列から、簡単に要素を作りたいから、
文字列から要素を作るよりも、JS のメソッドで、要素を作った方がよいかも

map みたいなもので、1行で書けて、ループの記述を排除できれば、うれしいです。
可読性も高い方がよい

でも、同じ手法を、3回使うので、テンプレートエンジンでも良いのか

それと、配列内の数値は、他者からの入力ではなく、自分で用意したものなので、サニタイズは不要です

DOM 操作は遅いけど、createDocumentFragment で、まとめてDOM に追加すれば、
1回になるから、速いのでは?
Name_Not_Found [sage] 2019/06/17(月) 06:25:08.65ID:???
速いっていうのが何を大事にしてるのか良く分からん
実際大事なのはUXであって処理の速さではない
処理を分割したほうが良いという場合も多分にある
Name_Not_Found [sage] 2019/06/17(月) 06:43:03.88ID:???
今はinnerHTMLを使うほうが速いのか?
ttp://https://jsperf.com/document-fragment-vs-innerhtml-vs-looped-appendchild/90
Name_Not_Found [sage] 2019/06/17(月) 06:53:18.27ID:???
str変数にHTMLをためていって、最後にinnerHTMLをするよりも
div.innerHTML += で変更していくほうが速いのか?

createDocumentFragmentを使うほうが遅くなるんだな
Name_Not_Found [sage] 2019/06/17(月) 06:58:51.55ID:???
パーサーとレイアウトは非同期で一部マルチスレッド化されてるんだから
そのときの他の処理の状況にもよるし何が速いとか言うことはできない
Name_Not_Found (オッペケ Sra3-1W9y) [] 2019/06/17(月) 08:10:36.67:5lEvkncvr
innerHTML += のような、既存DOMの参照を破壊するコードは、選択肢にしてないな
template要素を使う事が多い
Name_Not_Found [sage] 2019/06/17(月) 12:57:16.60ID:???

あらゆる型毎にコードを用意する必要なんかなくて、ただ欲しい型に変換すればいいんだからあまりコストはかからないと思うよ
numberを期待してるところにオブジェクトが来ても、もしかするとvalueOfが定義されてるかもしれないでしょ?
numberを期待してるところにbignumが来たらそれで弾くっていうのも勿体ない
JSはスクリプト言語でもあるし、基本的に来る値は寄越した方に責任があると思う
だから未知のものに怯えずに取り敢えず来たものは使おうとしてみるっていうのは悪くないと思う
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/17(月) 14:39:51.66:a6fecDOj0

> map みたいなもので、1行で書けて、ループの記述を排除できれば、うれしいです。

ループをそこまで避けたがる理由、よく分からん…コーディング規約???
可読性についても さんのような意見もあるし、チーム構成によるかも知れず、保守担当(考えだしたらキリないな)
規約に関して言えば、DOM 操作に関してどうなっているものやら…?
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/17(月) 14:42:11.88:a6fecDOj0
何にしても実装依存…?


ウチではこんな結果
ttps://i.imgur.com/SHVXElj.png
IE11 は "innerHTHL += " の部分の途中で「この操作を完了するための十分な記憶域がありません」とギブアップ。

do ... while / while() {} / for
の速度比較やってるサイトも存在したような気もする

他には、jQuery で、古いIE向けの div#foo とか div.foo とかのハンドオプティマイズが逆効果になっているとか何とか


x86/x64 なら「文字列の追加処理」のコストが高いのは当然のような気がしないでもない
都度 realloc() のような処理をして、ヒープ領域からメモリ領域を確保してそう
innerHTML の実装は分からんけど、大きめのバッファを確保しているのかも知れず、状況次第で innerHTML 変更のコストもバカにならないかも


do ... while で100回やるとき

let i = 100;
do {
i--;
console.log(i);
} while(i)

とか書くのは可読性の面で駄目なんだろうなあ…
Name_Not_Found [sage] 2019/06/17(月) 21:45:13.81ID:???
これで完璧かはわからないけどレイアウトを強制するようにしてみた
ttp://https://jsperf.com/document-fragment-vs-innerhtml-vs-looped-appendchild/94
Name_Not_Found [sage] 2019/06/17(月) 22:44:19.58ID:???

そのコードって本当にdiv変数見えてるの?
Name_Not_Found [sage] 2019/06/18(火) 00:25:05.62ID:???

ありがとうございます!
すいません質問の仕方がよくなかったです。
デフォルト引数とかよりももっともっと低級の質問でした…

const fn = (obj)=>{

const keys = Object.keys(obj);

for(let i = 0; i < keys.length; ++i) {

console.log(keys[i]);

}

};


fn({a:0,b:1,c:2,d:3,e:4,f:5});

上のコードで関数fnに渡されているオブジェクトは…

const obj = {a:0,b:1,c:2,d:3,e:4,f:5};
fn(obj);

のように定義してから渡さなくてもいいの?というのが疑問なんです。
Name_Not_Found [sage] 2019/06/18(火) 00:39:48.30ID:???

はい。直接書いちゃって構いません。
コードの分かりやすさや、効率のために変数に入れてから使う方がよいことももちろん多くはありますが、少なくとも文法上はまったく問題なく、またよくそのように書かれています。
Name_Not_Found [sage] 2019/06/18(火) 01:02:59.23ID:???

これでモヤモヤが晴れました!
ありがとうございました。
Name_Not_Found [sage] 2019/06/18(火) 01:10:59.26ID:???

ググるときは 無名の変数とか無名のオブジェクト でな(´・ω・`)
Name_Not_Found [sage] 2019/06/18(火) 01:52:58.75ID:???

いい加減なこと言うな!
無名の変数とやらの具体例を出してみろ!
Name_Not_Found [sage] 2019/06/18(火) 02:14:52.33ID:???

ごめんそうだね
何で変数って言ったんだろう俺
Name_Not_Found [sage] 2019/06/18(火) 02:15:33.67ID:???
土下座して謝れ
Name_Not_Found [sage] 2019/06/18(火) 02:23:28.15ID:???
分かればいいんだ…
ビックリマーク付けてすまなかった…
Name_Not_Found [sage] 2019/06/18(火) 02:26:27.47ID:???
ゆるしてやんよ
Name_Not_Found [sage] 2019/06/18(火) 03:03:19.95ID:???
parseIntって、整数にするやつって習ったのだけど、
「4.956…」とかの数字を「4」って感じに小数点以下を切り捨てるのは、また別のメソッドですか?
切り捨ては、Math.floorしか方法はないですか?
Name_Not_Found [sage] 2019/06/18(火) 06:34:06.79ID:???
parseIntは文字列を単位付き整数値としてパースするものでしょ
Math.floorは負の無限大方向への丸めであって切り捨てではない
切り捨てはMath.trunc
Name_Not_Found [sage] 2019/06/18(火) 10:58:35.38ID:???

"mdn Math.floor" というキーワードでググったら良かったかも。
Name_Not_Found [sage] 2019/06/18(火) 11:45:31.71ID:???
ページを開いた時、マウスの座標を取得する方法ってないんでしょうか?
mousemoveイベントで取得する方法だとページを開いてから1ピクセルでもマウスを動かすまでは取得できなくて不便だなぁと困っております
Name_Not_Found [sage] 2019/06/18(火) 12:28:57.10ID:???
そもそもタッチ系のデバイスだと
タッチされた後マウスが動くまでポインタが消えるものもあるし
そう考えると開いたときのマウス位置を取るってことは、開かれる前の最後に起こったイベントを取りたいってことで
越権行為だということが分かるよね
Name_Not_Found [sage] 2019/06/18(火) 12:41:38.04ID:???
どなたかご存じの方いましたら教えてください。
DOMとかいうやつのdocumentっていつ作られるんでしょうか?
function() { document.getElementById('hoge'); } // documentを宣言してないけど使える
documentがいつ、どこで、どんな風に作られるのか、技術的な仕様はあるのでしょうか?
仕様があれば、どこの仕様書のどの部分に書かれてるのか教えて下さい。
それともdocumentが作られるかどうかは(仕様がなく)ブラウザによってまちまちなのでしょうか?
Name_Not_Found [sage] 2019/06/18(火) 12:41:38.38ID:???

あるよ
Name_Not_Found [sage] 2019/06/18(火) 13:20:01.33ID:???
そこ気になるのにwindowは気にならないのかw
Name_Not_Found [sage] 2019/06/18(火) 13:33:50.40ID:???
windowが作られるのはウインドウが出来た時に決まってるじゃん
Name_Not_Found [sage] 2019/06/18(火) 13:45:47.52ID:???
ウインドウって?ブラウザのこと言ってる?タブ複数開いたらどうなる?
Name_Not_Found [sage] 2019/06/18(火) 14:20:07.11ID:???
ブラウザの実装次第
Name_Not_Found [sage] 2019/06/18(火) 14:20:23.70ID:???
そして今はブラウザの実装の話なんかしてない
Name_Not_Found [sage] 2019/06/18(火) 14:20:46.74ID:???
つまり関係ない話にすり替えようとするな
Name_Not_Found [sage] 2019/06/18(火) 14:26:49.06ID:???

考え方が逆かも
documentはDOMのエントリー点となるインターフェイス
documentがあるからDOMが存在できる
HTMLだけじゃなくXMLでもSVGでも一緒

なのでdocumentが作られるのはDOMができる前

documentはDocument()コンストラクタから作られる
試しにnew Document()ってやってみるといい

いやーこんな説明したの
20年ぶりかもw
Name_Not_Found [sage] 2019/06/18(火) 15:02:48.33ID:???
答えた気になっているようだが

> documentがいつ
→答えていない

> どこで
→答えていない

> どんな風に作られるのか
→答えていない

> 技術的な仕様はあるのでしょうか?
→答えていない

> 仕様があれば、どこの仕様書のどの部分に書かれてるのか教えて下さい。
→答えていない
Name_Not_Found [sage] 2019/06/18(火) 15:08:18.13ID:???

documentが作られるのはドキュメントが出来た時に決まってるじゃん
Name_Not_Found [sage] 2019/06/18(火) 15:13:25.98ID:???
ttp://https://www.ecma-international.org/ecma-262/6.0/

には document オブジェクトの定義自体が無い
なので web ブラウザの document オブジェクト自体は web ブラウザの実装に依る

あとは

ttp://https://developer.mozilla.org/ja/docs/Web/API/Document

とか、好きなもの・必要なものを読めば良い
Name_Not_Found [sage] 2019/06/18(火) 16:09:01.45ID:???
DOMはESの枠外なのにESの仕様にはない!(キリッ って当たり前じゃんw
Name_Not_Found [sage] 2019/06/18(火) 16:33:12.39ID:???
documentが必ず存在するってことは、
jQueryの$(document).on(〜)は
body終了直前じゃなくても、$(function() {〜})の
中に入れなくても問題ないってことなのかな?
Name_Not_Found [sage] 2019/06/18(火) 17:10:40.82ID:???

問題があるかどうかは一般的には言えない
body終了直前に書くべきかどうかは色々な議論がある
Name_Not_Found [sage] 2019/06/18(火) 17:44:23.98ID:???

じゃあ問題があるブラウザは今のところ
見つかってないってことでいい?
Name_Not_Found [sage] 2019/06/18(火) 18:26:16.91ID:???
そもそもhead内でも動くでしょーが
Name_Not_Found [sage] 2019/06/18(火) 18:38:24.32ID:???
ブラウザにこだわっててちょっとウケるw
Name_Not_Found [sage] 2019/06/18(火) 19:21:18.08ID:???

これでいいのかえ?

> documentがいつ
→ DOMが出来る前

> どこで
→ ブラウザなどの実行環境で

> どんな風に作られるのか
→ Documentコンストラクタのインスタンスとして

> 技術的な仕様はあるのでしょうか?
ttp://https://dom.spec.whatwg.org/#dom-document-document

> 仕様があれば、どこの仕様書のどの部分に書かれてるのか教えて下さい。
ttp://https://dom.spec.whatwg.org/#dom-document-document
Name_Not_Found [sage] 2019/06/18(火) 20:24:59.72ID:???
うむ、ごくろう
Name_Not_Found [sage] 2019/06/18(火) 21:20:37.84ID:???

ありがとうございます。
perseIntは逆にMDNの説明を読んでも、なんだかよく分かりませんでした。
全角数字を数値に変えるってこと?くらいでした。

しかし、mathも記事が多過ぎで、truncと教えてもらっておいてよかったです!
なぜ、floorで習ったのかは分からないですが、floorのこともわかった気がします。
ありがとうございます!
Name_Not_Found [sage] 2019/06/18(火) 21:35:16.95ID:???

ttp://https://html.spec.whatwg.org/#the-window-object
documentはwindowが作られるときに作られる
Name_Not_Found [sage] 2019/06/18(火) 21:58:45.59ID:???

parseIntは数値っぽい文字列を数値に変えるので
0x10みたいな、文字も変換してしまう。
まあ、バグやな
Name_Not_Found [sage] 2019/06/18(火) 22:05:07.87ID:???

四捨五入はfloorが正しいで。
10引いてから四捨五入するのも
四捨五入してから10引くのも
同じだと思うやろ?
Name_Not_Found [sage] 2019/06/18(火) 22:10:29.61ID:???

金融系の四捨五入なら正しいな
Name_Not_Found [sage] 2019/06/18(火) 22:15:55.09ID:???
「仕様通りでも俺の期待に反したからバグ!」
Name_Not_Found [sage] 2019/06/18(火) 22:26:14.83ID:???

まてまて
四捨五入ってのは
0〜4は切り捨て、5〜9は切り上げ
だから四捨五入なんじゃねえの?
Name_Not_Found [sage] 2019/06/18(火) 22:28:36.53ID:???

なんのために四捨五入するかだろ
半分を境目として、少ないならば、少ない方へ丸めるのが四捨五入だ
Name_Not_Found [sage] 2019/06/18(火) 22:32:49.29ID:???
税金計算とかで五捨六入とかあったな
Name_Not_Found [sage] 2019/06/18(火) 22:34:35.71ID:???

意味はそれであってる
Name_Not_Found [sage] 2019/06/18(火) 22:40:50.60ID:???

でもfloorって5より上でも切り捨てちゃうじゃん
roundなら5未満だけど
Name_Not_Found [sage] 2019/06/18(火) 22:41:03.48ID:???
有効数字の桁が
Name_Not_Found [sage] 2019/06/18(火) 22:45:12.95ID:???

意味不明
Name_Not_Found [sage] 2019/06/18(火) 22:46:03.80ID:???
マイナスの世界でも切り捨ては
少ない値の方に行くべきだろ
Name_Not_Found [sage] 2019/06/18(火) 22:47:28.19ID:???

銀行丸めのことなら、違うと思うが
Name_Not_Found [sage] 2019/06/18(火) 22:50:44.59ID:???

floorで四捨五入って出来なくね?って話
自分で数字確かめてから
5未満ならfloor、以上ならceilとかするならわからんでもないけど
Name_Not_Found [sage] 2019/06/18(火) 23:02:09.10ID:???
2   1   0   -1   -2
  1.1  0.1  -0.9


1.1なら1、0.1なら0なんだから、-0.9なら-1だろ
Name_Not_Found [sage] 2019/06/19(水) 01:26:22.75ID:???
四捨五入の場合は桁に注意、だろうなあ

小数第二位とかで処理するときは
「文字列→数値→そのまま Math.round() で処理」だと誤差が出る可能性がある

'^[0-9][0-9]*(\.[0-9]*$|$)' が来る前提で
"." で split して 小数以下の必要な桁数を繋いで Math.round() するくらいしか思いつかないので
誰かもっと良い方法あったら補足して貰えるとありがたい
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/19(水) 01:36:09.05:Dy76fnOX0

> -0.9なら-1だろ

そういう処理をする関数が古典BASICに存在した気がする
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/19(水) 01:47:16.70:Dy76fnOX0
var numArray = ("" + number).split("e");

は "1e-1" とかの処理か…把握
Name_Not_Found [sage] 2019/06/19(水) 02:09:33.24ID:???
インテルドライバーサポートアシスタントみたいなのって
どうやって作るんですか?
Name_Not_Found [sage] 2019/06/19(水) 02:47:27.56ID:???
mathとかの話を質問した者です


ありがとうございます。
その例えは、かなりしっくりきました!

math.floorは四捨五入というよりも、
何か数字があるなら「より、0に近付ける」みたいな感じみたいですね。
今回、自分はmath.floor(math.random(*6)+1);で、1〜6までの乱数に応じて、サイコロの目を振りたかったのです。
書き方、間違えてるかもです。
でも、多分、統計を取ったらfloorじゃなくて、truncにしないともしかしたら偏りが出そうですね。
Name_Not_Found [sage] 2019/06/19(水) 02:49:12.56ID:???
ちょっとまだ、引数とか変数とか取得とか、正しく使えてないかもなので、日本語変だったら、すみません
Name_Not_Found [sage] 2019/06/19(水) 02:58:28.48ID:???
あと、それで、じゃあなんで、parseIntの話が出てきたかと言うと、Math.randomだと0.486……とかとなるので、
「+1する」と習ったのですが、「それなら*10して、小数点以下を切り捨てたらいいのでは?」と思いまして、誤解ではありましたが、parseIntが「小数点のない正数に変換する」というものだと思っていたので、

var num = Math.floor(Math.random()+1);



var num = Math.random()*10;
parseInt(num);

のどっちも同じ様に使えるのか?
と疑問だったのです
Name_Not_Found [sage] 2019/06/19(水) 03:07:09.39ID:???
INT(RND(1)*6)+1 ...
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/19(水) 03:11:11.61:Dy76fnOX0
var sai = function() {
return Math.floor((Math.random()*6))+1;
}

for (var i = 0; i < 20; i++){
console.log(sai());
}
Name_Not_Found [sage] 2019/06/19(水) 03:14:29.59ID:???

桁上げて、四捨五入して、桁戻すのじゃダメかな
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/19(水) 03:46:05.21:Dy76fnOX0
\d も + も使えるのですね
それなら ^\d+(\d$)$ を split して小数点以下を拾えなくもない…けれども IEEE 754-2008 を正確に理解していないので正確なコードの書き方わからんちん

ttp://https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Math/round
の「よりよい解決策」が参考になるかも知れんけど、正確な理解が出来てないので何とも


+5 して自力で書く…のは車輪の再発明と言われそーだな
Name_Not_Found [sage] 2019/06/19(水) 04:42:50.08ID:???

「javascript mouse 座標」で検索!
Name_Not_Found [sage] 2019/06/19(水) 05:12:39.92ID:???

マイナスにならないなら、floorもtruncも同じ。
数学的に正しいのはfloorで、小数点以下をなくすのがtrunc

> 1〜6までの乱数に応じて、サイコロの目を振りたかったのです。
lodashを使うほうが間違いがない

ttp://https://lodash.com/docs/4.17.11#random
> _.random(0, 5);
> // => an integer between 0 and 5

1〜6なら _.random(1, 6); だろう
Name_Not_Found [sage] 2019/06/19(水) 05:14:01.42ID:???

数値計算でできるものを文字列に変換して、
文字列処理をして、また数値に戻すのはダサすぎる
遅いし
Name_Not_Found [sage] 2019/06/19(水) 05:32:33.91ID:???

ありがとうございます!
便利そうなのですが、これはライブラリというのをインストールしないと使えないのですね。
凄く便利そうなのに…

このライブラリをインストールするというのは、
自分が使うのではなくて、htmlのscriptの中に書くのはよくないですよね?
当然、観覧者がインストールされてなければ使えないのですよね?
Name_Not_Found [sage] 2019/06/19(水) 05:37:32.90ID:???
<html>
<head>
 <script src="どこか/lodash.min.js"></script>
 <script>
  もうつかえる
 </script>
</htm>
Name_Not_Found [sage] 2019/06/19(水) 05:47:32.04ID:???
そんなにサクッと使えるものなのですね。
ユーザーさんに取り入れてもらえるものなら、良いものですね!
Name_Not_Found [sage] 2019/06/19(水) 05:57:04.62ID:???
あ!勘違いしてました!
ユーザーにライブラリをインストールしてもらうわけじゃなくて、自分のとこのサーバーに入れといて、呼び出すだけなのですね!
Name_Not_Found [sage] 2019/06/19(水) 06:12:04.05ID:???
自分のところに入れてもいいし、CDN使っても良い。
CDN使ったほうが速いが、CDNが落ちた場合に困る
Name_Not_Found [sage] 2019/06/19(水) 06:34:04.41ID:???
バカすぎ
欲しい範囲のランダム整数すらもライブラリに頼るようなら
そもそも完成物ごとどこかからコピペした方が良い
どうせコーディングできないのだから
Name_Not_Found [sage] 2019/06/19(水) 06:43:38.63ID:???
ちみちみ、作りたいのはランダム整数を取得する処理ではないよ?
ランダム整数を使った何かだ。
手段と目的を履き違えたらだーめだーめ
Name_Not_Found [sage] 2019/06/19(水) 10:04:41.34ID:???
それでもたかが
(Math.random()*6|0)+1
のためにlodashとか使うのは、ただのばか
Name_Not_Found [sage] 2019/06/19(水) 10:08:28.23ID:???
他にも使えばいいじゃん
Name_Not_Found [sage] 2019/06/19(水) 12:24:40.74ID:???

えっ
Name_Not_Found [sage] 2019/06/19(水) 12:26:31.27ID:???
特定の手段を使いたいがために目的を増やすバカ
Name_Not_Found [sage] 2019/06/19(水) 12:54:00.98ID:???

> マイナスにならないなら、floorもtruncも同じ。
0.5 は何になる?

> 数学的に正しいのはfloorで、小数点以下をなくすのがtrunc
負の無限大への丸めが数学的な四捨五入?
Name_Not_Found [sage] 2019/06/19(水) 13:13:26.66ID:???
切り上げ/捨てって言葉を使うのをやめた方が混乱が少ないかもね

Math.floor()
引数より小さい最大の整数

Math.ceil()
引数より大きい最小の整数

Math.round()
引数を四捨五入した整数

Math.trunc()
引数の小数部分を切り飛ばした整数
Name_Not_Found [sage] 2019/06/19(水) 16:06:31.75ID:???
vanilla JS でのコードが既に出ているのに lodash を持ち出すってイミフ
パフォーマンスに有意な差があるかどうかは知らんけど
Name_Not_Found [sage] 2019/06/19(水) 16:09:34.27ID:???

Math.floor(Math.random()*6)+1



Math.floor(Math.random()*6|0)+1

の違いが良くわからん…
ビットごとの or 取って何が変わるんだろう
Name_Not_Found [sage] 2019/06/19(水) 16:23:32.68ID:???

もしかして、パフォーマンス以外で見るべき所がわからないの?
Name_Not_Found [sage] 2019/06/19(水) 16:35:18.82ID:???

知らんし分からんのだが
何を見るべきなのだろうか…?

複数人が関わるプロジェクトとかなら、規約の範囲に留めなければならないことくらいかなあ?
(そういうのなら既存のモノを import させたりしそうなものだが、そういう話が出て来ない時点で(ry
Name_Not_Found [sage] 2019/06/19(水) 16:38:12.64ID:???
可読性やろ
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/19(水) 16:46:43.82:Dy76fnOX0

vanilla JS でも

var my_rand = function (max, min) {
Math.floor(Math.random()*(max-mix+1))+min
}
※エラー処理は省略している

を関数にブッ込めば可読性も似たようなものかと…
ビット演算の必要性は分からん
あとは名前汚染の危険性か

エラー処理については全体で統一的に処理する、か
この点が面倒なら lodash もアリか


個別の問題としては、前提条件不明なので何とも
Name_Not_Found [] 2019/06/19(水) 17:10:30.13:kfvjmMpy

整数化している
ビット演算はintegerだから
Name_Not_Found [sage] 2019/06/19(水) 18:19:03.76ID:???

なので、floorが無駄
ついでに32bitに丸めてる(デメリット)
Name_Not_Found [sage] 2019/06/19(水) 18:30:16.94ID:???

あ、でもちょっと結果変わる、のかな?
負の数だったときとか
Name_Not_Found [sage] 2019/06/19(水) 18:34:17.26ID:???

有名ライブラリだと、入社したばかりの人でも
前に使っていて知ってるってことがある
その場合に使い方を調べる必要がない。
オレオレライブラリだとそうはいかない
Name_Not_Found [sage] 2019/06/19(水) 19:35:06.38ID:???
とんでもないスパゲティコードって、
長年使われてきた自社製ライブラリもどきが原因のことがかなりあると思う
まあJavaScriptじゃそこまでの規模のに関わったこと無いけど
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/19(水) 20:32:19.05:Dy76fnOX0

ふむ…

+( hoge ) とどう違うん?
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/19(水) 20:35:49.19:Dy76fnOX0
ああなるほど
+( hoge ) だと数値化に過ぎない、と
Name_Not_Found [sage] 2019/06/19(水) 20:41:51.15ID:???
分かる人にはわかると思うけど、こういうのが
「可読性が低い」っていうんやで

このコードにはどういう意味があるんだ?ってみんなが思ってたら
コードレビューにならないだろ
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/19(水) 20:45:34.53:Dy76fnOX0
ttp://https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Operator_Precedence

* の方が | より優先なので

(Math.random()*6|0) + 1

で充分、と


コレ lodash で書く意味あるん???
即値の 6 とか1 とかを都度書いて問題なさそうにも見える
Name_Not_Found (ワッチョイ 3f8f-bbbA) [] 2019/06/19(水) 20:49:31.48:Dy76fnOX0

> このコードにはどういう意味があるんだ?ってみんなが思ってたら
> コードレビューにならないだろ

この点は総論として同意できる

大昔に INT(RND(1)*6)+1 とか山ほど見てたからな…。
実務上でコレの慣例的表現が見られないらしいことにビックリだよ。。。


その意味では lodash はアリ、なのか
Name_Not_Found [sage] 2019/06/19(水) 21:02:33.13ID:???
|0にはなんにも異存はないけど
演算子の左右は1スペ空けてほしい…
Name_Not_Found [sage] 2019/06/19(水) 21:10:44.47ID:???

> その意味では lodash はアリ、なのか
そんなもん場合によるとしか言えんだろうな

> 大昔に INT(RND(1)*6)+1 とか山ほど見てたからな…。
このような主観からもわかるように、
山ほど見てきたから = じゃあ山ほど見てない場合はどうなんだ?って話

山ほど見てきた人が、この書き方を知らないわけがないので、
山ほど見てない人というのは確定

その人にlodashを使う回答をするのはありだし、それみて、その人が便利だと思ったのだから
lodashを使った回答をした意味があったということ
Name_Not_Found [sage] 2019/06/19(水) 21:23:31.67ID:???
山程見てなくても
これくらいは見てすぐ理解できるくらいの人を雇いたいなあ
現場では
Name_Not_Found [sage] 2019/06/19(水) 22:34:37.65ID:???
多くの場合 Date.now()%6+1 で良い件
Name_Not_Found [sage] 2019/06/19(水) 22:40:14.90ID:???
+ や |0 は熟練者なら大概知ってる
初心者をターゲットにするなら、勿論、使うべきではない
Name_Not_Found (ワッチョイ 8332-fQ4D) [sage] 2019/06/19(水) 22:42:08.93ID:???0
たった数行の処理に名前付けるだけでオレオレライブラリなんて言われたら
最早何もできん
Name_Not_Found [sage] 2019/06/19(水) 22:45:31.45ID:???

可読性警察だ! 神妙にせよ!
Name_Not_Found [sage] 2019/06/19(水) 22:50:06.15ID:???
よっしゃ!サイズ10の乱数の配列作ったろ!

Array.from({length:10},()=>Date.now()%6+1);
//=> [4, 4, 4, 4, 4, 4, 4, 4, 4, 4]

あ、あれ?

一方…
Array.from({length:10},()=>(Math.random()*6|0)+1);
//=> [4, 2, 5, 2, 4, 2, 5, 2, 6, 6]
Name_Not_Found [sage] 2019/06/20(木) 01:14:30.56ID:???
普通はこう。
a = Math.floor( Math.random( ) * 6 ); //=> 0〜5
a + 1; //=> 1〜6

「浮動小数点数 | 0」

これをよく見るけど、可読性も悪いし、
どういう意図なのか、わからないから、考え込まされる

書いた人の仕様(答え)は、読む人にはわからないから、
考えてもあくまで推測だから、正解とは言えない!

最初から答えがあるのだから、推測する時間が無駄!
Name_Not_Found [sage] 2019/06/20(木) 01:25:39.85ID:???

lodash
ttp://https://github.com/lodash/lodash

CDN もあるみたい

// Cherry-pick methods (つまみ食い)で、そのメソッドだけを読み込める?
var at = require( 'lodash/at' );

at.js だけを読み込めるのか?
Name_Not_Found [sage] 2019/06/20(木) 01:48:42.11ID:???
Math.floorも|0も可読性はたいして変わらんよ
_.random(1, 6)ならわかりやすい?
lodashのドキュメントなり読まなきゃ意味は分からんだろ

可読性いうなら、コードはどれでもいいからコメントつけろよ
Name_Not_Found [sage] 2019/06/20(木) 02:39:41.93ID:???
まあアンダースコア始まりの関数なら
アンダースコアかローダッシュだなってのはなんとなくわかるからいいでしょ
そんなに珍しいもんでもないし
関数名と前後のコードでだいたいわかるし
Name_Not_Found [sage] 2019/06/20(木) 05:57:21.72ID:???
> 可読性いうなら、コードはどれでもいいからコメントつけろよ
コードの可読性が悪いからコメントが必要になる。

コードとコメントの二箇所に同じことが書かれてるのはdryではないし
コメントがコードの内容を正しく示しているかレビューする必要がある
Name_Not_Found [sage] 2019/06/20(木) 06:00:02.00ID:???
> lodashのドキュメントなり読まなきゃ意味は分からんだろ

読まなきゃ意味がわからない = 読めば意味がわかる

オレオレライブラリだと覚えた所で他のプロジェクトで知識を
再利用できる可能性は低く、覚えても無駄になるが
有名なものであれば、知識を再利用できる
Name_Not_Found [sage] 2019/06/20(木) 06:41:45.92ID:???

そのような呼び出し方で上の結果にならないアルゴリズムである保証はMath.random関数にはない
Math.randomの実装がDate.nowを使っていても仕様に反しない
一度に沢山欲しいときは保証されているcrypto.getRandomValuesを使うこと
Name_Not_Found (ワッチョイ 2b8f-f3ih) [] 2019/06/20(木) 07:32:17.19:jeXdM+ZB0
hoge | 0 ) を使うことに関して、現にこれだけ議論がある訳だし
| 0 ) を使って良いか否か、コーディング規約に入れるべきかなあ

lodash を使う業務なら、議論の余地は無いだろうなあ



サイコロって話だから、乱数のエントロピーは Math.random() 程度で良いかと思って書きましたが
crypto.getRandomValues で「保証されている」と言い切られると若干違和感…
Name_Not_Found [sage] 2019/06/20(木) 08:27:57.86ID:???
このサイコロの目の6つが一定の回数の結果、最もバランスよく出るのが優れた正解ということになるのですかね?
習った先生の話だと、Math.floor(Math.random()*6+1)は比較的、6が出にくいだったか、出やすいだったか…と言ってた気がするのですよね。
まだ、習った範囲だとfor文とかで1000回とか、サイコロの結果を出す事までしか頭が回らないのですが、
きっと「1〜6までの数字を1000回出した結果、どの数字が何回出たか?」みたいのを出力する方法がありますよね
for文で1000回振って、ifで仕分けするみたいな感じですかね
Name_Not_Found [sage] 2019/06/20(木) 08:33:50.15ID:???

- Math.random()が返す範囲
- 6倍した時の範囲
この辺を頭の中で整理して考える作業が足りない
Name_Not_Found [sage] 2019/06/20(木) 09:38:14.69ID:???
サイコロなんだから回数なんか配列でインクリメントすればいいだけ
Name_Not_Found [sage] 2019/06/20(木) 09:38:56.09ID:???
配列でインクリメントすると困るだろ
Name_Not_Found [sage] 2019/06/20(木) 09:53:47.00ID:???
const counts = [...new Array(7)].fill(0);
for (let i = 0; i < 100000; ++i) {
counts[Math.floor(Math.random() * 6 + 1)]++;
}
console.log(counts); // [0, 16571, 16727, 16748, 16686, 16448, 16820]

まあ、普通は配列でやるよね
Name_Not_Found [sage] 2019/06/20(木) 12:40:45.89ID:???

cryptoの方は暗号学的な一定レベルの保証がある
Mathの方は実装者の考え方次第で下限が無い
どの程度の乱数か予想することもできないので程度という言葉は使えない
その辺りがどうでもいいと言うときだけMathの方を使う
Name_Not_Found [sage] 2019/06/20(木) 16:40:15.66ID:???
サイコロに関しては商業ゲーでもやらかした例がいくつかあるから侮れんよな
Name_Not_Found (ワッチョイ 2b8f-f3ih) [] 2019/06/20(木) 21:40:42.32:jeXdM+ZB0

ttp://https://jser.info/2016/01/27/math.random-xsfhit/

主要ブラウザの仕様は、おおむねこんなかんじ
crypto.getRandomValues はああいうことを「保証」すると言えるのか不明

…なお「10回振る」のを1000万回繰り返しても
Chrome / Firefox ともに1度も重複が無かった模様

Worker 以外の何らかの方法で複数スレッド作れば
マルチコアも活かせるんだろうけど未確認
Name_Not_Found (ワッチョイ 2b8f-f3ih) [] 2019/06/20(木) 21:43:30.43:jeXdM+ZB0
| 0

すると int32 (singed int) になる様子 @ Chrome / Firefox / IE11
Math.floor は uint64
Name_Not_Found (ワッチョイ 2b8f-f3ih) [] 2019/06/20(木) 22:18:05.54:jeXdM+ZB0
あと

JS 上では、ARM って big endian だったっけ
x86 / x64 は little endian だけど

uint64 / int64 の実装は今後どうなるか不明
BigUint64Array のサポート状況は MDN 等を参照されたし
(Chrome で似たようなドキュメントがあるかどうかは未確認)
Name_Not_Found [sage] 2019/06/21(金) 00:49:45.91ID:???
test
Name_Not_Found [] 2019/06/21(金) 00:50:01.42:7UEK4Hac
test2
Name_Not_Found [sage] 2019/06/21(金) 06:25:25.98ID:???
Math.floorはdoubleを返すんだが
Name_Not_Found [sage] 2019/06/21(金) 08:18:06.16ID:???

既出
実装の前に、ビット演算子の仕様を参照
Name_Not_Found (ワッチョイ 2b8f-f3ih) [] 2019/06/21(金) 08:31:40.33:LzAKbx6F0

> ビット演算子の仕様

では「 uint32 ではなく int32 になる」ことが明示的に書かれていませんよ?

ttp://https://www.ecma-international.org/ecma-262/6.0/#sec-grouping-operator-static-semantics-isfunctiondefinition
12.11.2 Static Semantics: IsValidSimpleAssignmentTarget
12.11.3 Runtime Semantics: Evaluation
参照のこと。
Name_Not_Found (ワッチョイ 2b8f-f3ih) [] 2019/06/21(金) 08:44:21.62:LzAKbx6F0

> Math.floorはdoubleを返すんだが

> 20.2.2.16 Math.floor ( x )
>
> Returns the greatest (closest to +∞) Number value that is not greater than x and is equal to a mathematical integer. If x is already an integer, the result is x.
>
> If x is NaN, the result is NaN.
> If x is +0, the result is +0.
> If x is ?0, the result is ?0.
> If x is +∞, the result is +∞.
> If x is ?∞, the result is ?∞.
> If x is greater than 0 but less than 1, the result is +0.
Name_Not_Found [sage] 2019/06/21(金) 11:02:48.23ID:???
Numberは倍精度浮動小数点なんだから、別にdoubleでもいいじゃん
つーか、その程度の突込みの為にわざわざ仕様だらだらコピペするなよ
Name_Not_Found [sage] 2019/06/21(金) 12:21:03.55ID:???
マウント取りたいんだろ
Name_Not_Found [sage] 2019/06/21(金) 19:14:28.40ID:???

趣旨は「仕様を参照」なんだが
初めから仕様を出してくれたなら、何もいわなかった
Name_Not_Found [sage] 2019/06/21(金) 21:40:30.71ID:???
間もなくES2019(ES10)が勧告されるってときにES6の仕様をリンク紹介してるやつ何なの?
もう丸4年も経ってるってことにそろそろ気付こうや
きっと中身があんまり変わってないと思ってるんだろうけど
特にここ2年くらいで冗長さを減らして読みやすくする試みがされてきてるから
ES6の仕様書にリンクする価値は全く無い

リンクする時は未来永劫残したい時は最新版、書き捨てで良い時はLS版
Name_Not_Found [sage] 2019/06/21(金) 21:44:05.17ID:???
ES6→10?
次の次の勧告いつになるんだろうね
Name_Not_Found [sage] 2019/06/21(金) 21:54:17.61ID:???
毎年あっただろ忘れたのか
Name_Not_Found [sage] 2019/06/21(金) 21:59:36.16ID:???
12月に追加機能を決めて6月に勧告という流れで毎年出る
したがって次のES2019は数日後
次の次のES2020は2020年6月勧告予定
もうLS版は2020になってる
Name_Not_Found [sage] 2019/06/22(土) 07:49:09.53ID:???
Math.floor が返すのは integer なのに
Name_Not_Found [sage] 2019/06/22(土) 12:40:53.83ID:???
Math.floor(Infinity) → Infinity
Name_Not_Found [sage] 2019/06/22(土) 12:59:17.77ID:???
で言うintegerは整数という意味で型とは関係ないのにね
Name_Not_Found [sage] 2019/06/22(土) 14:40:31.00ID:???
我が名はインフィニティ、無限のメモリーなり。
Name_Not_Found [] 2019/06/22(土) 16:54:46.84:CEwL9SKA
tamper monkyで音をならしたい
以前書いたスクリプト↓でできるとおもうんだが、音声ファイルをどう呼び出せばいいのかわからない。
PC内のファイルにはアクセスできないよね?
フォントみたいにWeb上からよみだせないのかな?

function playSound() {
var audioElement = document.createElement("audio");
audioElement.src="pico2.mp3";
document.body.appendChild(audioElement);
audioElement.play();
} // ---
Name_Not_Found [] 2019/06/22(土) 16:56:13.49:CEwL9SKA
あ、tamper monkyってのは、ブラウザ上でユーザスクリプトを実行するためのchrome 拡張機能です
Name_Not_Found [sage] 2019/06/22(土) 17:27:42.09ID:???

ttp://https://www.ipentec.com/document/javascript-play-sound-using-audio-object
コレみたいなのではダメ?
Name_Not_Found [sage] 2019/06/22(土) 18:22:02.07ID:???

base64にエンコードしてjsコード内に埋め込んでからするって手もあるぞ
Name_Not_Found [sage] 2019/06/22(土) 18:42:50.39ID:???
特に制限かかってないサイトで使いたいのであれば
サーバー上にあるものなら普通に絶対URLで指定すればok
ローカルにあるものはDataURIに変換してスクリプトに直に書く

twitter並の制限がかかってるサイトの場合は
DataURIでデータを用意してDataURI to Blob等で検索して出てくる変換かけてURL.createObjectURLでURLを生成

github並にガチガチに制限かかってる場合はTampermonkeyではなくViolentmonkey独自の
@inject-into content
使わないと無理かも
Name_Not_Found [] 2019/06/22(土) 19:08:34.42:CEwL9SKA
ダウンロード用のURL指定したら↓でできました

一秒ごとに音鳴らしたいのだけど↓のplaySound()をグローバルで定義してsetInterval()でループしたらループするごとに音源のサイトにアクセスするのだろうか??
audioElement.src = は グローバルに直接書いたほうがいいのだろうか?
DataURIとbase64も興味あるけど難しそう

function playSound() {
var audioElement = document.createElement("audio");
audioElement.src="ttp://https://soundeffect-lab.info/sound/button/mp3/decision1.mp3";
document.body.appendChild(audioElement);
audioElement.play();
} // ---
Name_Not_Found [sage] 2019/06/22(土) 19:25:58.80ID:???
サーバー側の設定がおかしくなければキャッシュされるはずだけど
そのplaySoundを毎秒呼び出したら毎回appendChildして無駄にメモリ消費し続けるよ
audioElementは外で定義してsetIntervalでやるのはaudioElement.play();だけでいい
Name_Not_Found [sage] 2019/06/22(土) 21:57:04.84ID:???
1秒ごとに音鳴らしたいなら、再生時間1秒の音声データを
ループ再生させりゃいいだけだろ
なにめんどくさいことやろうとしてんだ
Name_Not_Found [sage] 2019/06/23(日) 08:42:54.50ID:???
その方法やsetIntervalだと誤差が積み重なるでしょ
setTimeoutで誤差の蓄積を最小限に留めるのが次点で
WebAudioAPIを使ってスケジューリングするのがベスト
Name_Not_Found [sage] 2019/06/23(日) 09:57:04.88ID:???
すまんが全然分からん
Name_Not_Found [sage] 2019/06/23(日) 10:00:33.67ID:???
漏れは、Ruby で、selenium-webdriver, nokogiri を使って、
ローカルPC 内の画像を、ブラウザで見てる

<img src="C:/Users/ユーザー名/Pictures/a.jpg">

これで見れる

URL なら、前に、file:/// を付けて、こうとか

file:///C:/Users/ユーザー名/Documents/index.html
Name_Not_Found [sage] 2019/06/23(日) 13:23:05.21ID:???
画像見るだったらブラウザの標準ファインダで見ていけばいいんじゃないの?
Name_Not_Found [sage] 2019/06/24(月) 01:10:28.35ID:???
ttp://https://insights.stackoverflow.com/survey/2019#technology-_-web-frameworks

Most Popular Technologies
Web Frameworks

1. jQuery 48.7%
2. React.js 31.3%
3. Angular/Angular.js 30.7%
4. ASP.NET 26.3%
5. Express 19.7%
6. Spring 16.2%
7. Vue.js 15.2%
8. Django 13.0%
9. Flask 12.1%
10. Laravel 10.5%
11. Ruby on Rails 8.2%
12. Drupal 3.5%
Name_Not_Found [sage] 2019/06/24(月) 01:16:03.06ID:???

> React.js and Vue.js are both the most loved and most wanted web frameworks by developers, while Drupal and jQuery are most dreaded.
Name_Not_Found [sage] 2019/06/24(月) 01:19:27.00ID:???

現実見ろって話だねw
Name_Not_Found [sage] 2019/06/24(月) 01:31:33.58ID:???
Wanted jQuery5.0%からして、jQueryシェアは既存シェアが残っているだけで、新規に増やしたくない様子が伺えるな
Name_Not_Found [sage] 2019/06/24(月) 01:36:35.86ID:???
でもまだ増えとるで?
ttp://https://w3techs.com/technologies/history_overview/javascript_library/all/q

1年で+0.7% Usage
73.3% 73.3% 73.6% 73.9% 74.0%

1年で+0.4% Market Share
97.0% 97.2% 97.3% 97.3% 97.4%

Reactなんて1年で+0.1%しか増えてない
Name_Not_Found [sage] 2019/06/24(月) 01:38:37.05ID:???
増やしたくないと思うのと増えるかどうかは別の話で、
Reactの方が良いと思っても、現実にはReact使うまでもないことばかりってことなんだろうね
Name_Not_Found [sage] 2019/06/24(月) 03:13:22.04ID:???

vueをやり始めた俺が
これを見ても折れないハートの強さはどこでクローン出来ますか?
Name_Not_Found [sage] 2019/06/24(月) 05:56:33.02ID:???

Loved, Wantedを見よう
Name_Not_Found [sage] 2019/06/24(月) 07:24:24.86ID:???
Bootstrap は、jQuery で作られているから、

Bootstrapを使うと、jQueryの利用率は上がっていく!
Name_Not_Found [sage] 2019/06/24(月) 07:31:40.12ID:???
Angular, React.js は、ゼロとみなしてよい

Ruby on Rails では、jQuery 必須。
Vue.js を使う人もいるかも

Junichi Ito (伊藤淳一)の動画

Rails 5.1で作るVue.jsアプリケーション 〜Herokuデプロイからシステムテストまで〜
ttp://https://www.youtube.com/watch?v=ycOeM2umXkY
Name_Not_Found [sage] 2019/06/24(月) 07:46:46.07ID:???

Name_Not_Found [sage] 2019/06/24(月) 07:58:56.57ID:???
laravelとvueの組み合わせの勉強に週末を費やした僕にも
なんか優しい言葉ください!
Name_Not_Found [sage] 2019/06/24(月) 08:11:21.75ID:???

シェアが全てではないよ
自分が必要と思う技術を身につけることが大事
Name_Not_Found [sage] 2019/06/24(月) 08:11:57.46ID:???
たとえ無駄になるとしても
Name_Not_Found [sage] 2019/06/24(月) 08:19:40.22ID:???
無駄にはならないから安心しなさい
Name_Not_Found [sage] 2019/06/24(月) 08:44:44.05ID:???
backbone、angular・・・
Name_Not_Found [sage] 2019/06/24(月) 11:56:23.45ID:???
Ruby で、Sinatra, Rails フレームワークを学ぶと、CakePHP も出来るようになる。
なぜなら、CakePHP は、Rails のコピーだから!

実は、JavaScript のNode.js, jQuery, Lodash も、Rubyに似てる!

Kotlin も、Rubyに似てる
Name_Not_Found [sage] 2019/06/24(月) 12:46:22.16ID:???
Ruby布教活動は止めれ
Name_Not_Found [sage] 2019/06/24(月) 13:08:35.15ID:???

死ねや
Name_Not_Found [] 2019/06/25(火) 11:15:53.14:LGUvJXJu
です。みなさんありがとうございました。
さんの方法でやりました。
さんの方法についてですが、
Webページ上の数値を一秒ごとに読み取ってある数値以下になると音を鳴らし続けたいのですが、コードの書き方がよくわからないです。
そっちのほうがいいかもしれませんが、setInterval()で繰り返し音を鳴らす方法に特に大きな問題ないようでしたら、今のままでやりたいと思います。
Name_Not_Found [sage] 2019/06/25(火) 12:27:27.96ID:???
再取得の可能性を無くしたいのなら
blobで取るか、abでとってaudiobufferにするか SWを使うか
色々ある
Name_Not_Found [] 2019/06/26(水) 11:40:22.88:7Fqxnpy/
localStorageに表形式のデータを格納するならどのような構造にするのがよいですか?
検索は頻繁にしますが、過去データの改変はあまりする予定は余りありません。
重複登録を削除するために直前のデータを削除するぐらいです。

例えば
名前 性別
太郎 男
花子 女
二郎 男
みたいなデータです。

var data = {
"name": ["太郎", "花子", "二郎"];
"gender": ["male", "female", "male"]
}

↑のようなかんじですが
列ごとにJSONにいれて列の各要素を配列にするのを考えています。
JSONはJSON.parseでlocalStorageを出し入れ
配列は、デリミタでストリング化←→配列化して出し入れ
にしようかと。
何かもっと良い方法ありますか?

JSから結構離れていてJSONへのデータの出し入れの仕方もよくおぼえてないのですが…
Name_Not_Found [] 2019/06/26(水) 11:54:42.77:7Fqxnpy/
データの新規登録も頻繁に行います
データは常に上の表で言えば行単位で追加します。

配列の中に↓のような配列入れるパターンも考えています。
[ ["taro", "male], ["hanako","female"]] # 行単位で配列の入れ子にするパターン
[ ["taro", "hanako"], ["male", female]] # 列単位で配列の入れ子にするパターン

統計処理する場合は、列単位でまとめたほうがいいですよね?
Name_Not_Found [sage] 2019/06/26(水) 11:59:03.64ID:???
俺ならこうするな

var data = [
{ name: '太郎', gender: 'male' },
{ name: '花子', gender: 'female' },
{ name: '二郎', gender: 'male' },
]
Name_Not_Found [sage] 2019/06/26(水) 12:24:41.18ID:???
表形式にこだわらず
プログラムで使いやすいかたちのままぶっこんじゃう意識低い系です
Name_Not_Found [] 2019/06/26(水) 14:24:24.90:7Fqxnpy/
配列のほうがメソッドが充実してて扱いやすいきがするんですがどうですか?
JSONだとデータ処理どうなんでしょう?

例えば、太郎という名前の人の身長だけ取り出して、平均を求めるとかそういうふうに、
統計処理をヘビーにやりたいのですが。
Name_Not_Found [sage] 2019/06/26(水) 14:37:37.31ID:???
JSONてのはあくまでファイルやlocalStorage等に出し入れする時のフォーマットでしょ?
628みたいに配列の中に連想配列を入れる方法一度だと思うけど
Name_Not_Found [sage] 2019/06/26(水) 14:38:05.48ID:???
一度じゃなくて一択ね
Name_Not_Found [sage] 2019/06/26(水) 14:49:00.52ID:???
結構斬新な研究をしてるな
俺はミカという女はキツイ性格をしてると思う
Name_Not_Found [sage] 2019/06/26(水) 14:52:53.96ID:???
JSONをlocalStorageに出し入れするよりも、
俺のアンダーバーをミカというキツイ性格をしてる女に出し入れしたい。
Name_Not_Found [sage] 2019/06/26(水) 15:35:39.31ID:???

データはのようにして、太郎の身長の平均を求めるなら

function averageHeight(name) {
 const target = data.filter(e => e.name === name)
 return target.reduce((acc,cur) => acc + cur.height, 0) / target.length
}
console.log(averageHeight('太郎'))

みたいに書ける
Name_Not_Found [sage] 2019/06/26(水) 16:20:46.96ID:???
var data = [
 { name: '太郎', gender: 'male', height: 180 },
 { name: '花子', gender: 'female', height: 160 },
 { name: '太郎', gender: 'male', height: 170 },
];

lodashを使えば、平均を求める関数が用意されてるから
更にわかりやすくかける。統計処理をヘビーにやりたいなら便利

console.log(_.meanBy(_.filter(data, {name: '太郎'}), 'height'));
Name_Not_Found [sage] 2019/06/26(水) 16:28:19.99ID:???
単一の値を返す場合はこっちのほうがシンプルかな?

console.log(_(data).filter({name: '太郎'}).meanBy('height'));
Name_Not_Found [sage] 2019/06/26(水) 18:43:40.59ID:???

> 検索は頻繁にします
IndexedDB API
ttp://https://developer.mozilla.org/ja/docs/Web/API/IndexedDB_API
Name_Not_Found (ワッチョイ 9b32-/kZW) [sage] 2019/06/26(水) 21:44:59.01ID:???0
次期「Microsoft Edge」のプレビュー版、 Windows 7/8/8.1にも提供開始
ttp://https://www.google.com/amp/s/forest.watch.impress.co.jp/docs/news/1191/455/amp.index.html
よっしゃよっしゃ
後はアップデートで強制インスコしてくれれば
IEのみとかいうクソ環境を無視して話が出来る
Name_Not_Found [sage] 2019/06/27(木) 00:24:12.06ID:???
インスコされても古いIEが残ってる限りなんにも変わんないよ
古いIEが急に使えなくなったら役所や準役所相当企業の
化石HPも1年位かけてアップデートされるだろうけどさ
Name_Not_Found [sage] 2019/06/27(木) 07:30:16.85ID:???

名前が、唯一(ユニーク)のものなら、普通は辞書を使う。
名前が重複ありなら、id みたいなユニークな列を用意する

基本的には、データベース設計と同じ


みたいに、オブジェクトを使うこともできる
Name_Not_Found [sage] 2019/06/27(木) 19:23:05.78ID:???
行末のセミコロンって無くても良いの?
Name_Not_Found [sage] 2019/06/27(木) 19:46:41.90ID:???

好き勝手に付けたり付けなかったりしたら思わぬところで意図しない動作をすることがあるのでセミコロン付けたくないならJavaScript Standard Styleというそれなりに人気のあるスタイルガイドに従うといい。
ttp://https://qiita.com/munieru_jp/items/ca16cbfa859468137d2e
まあ一番人気のスタイルガイドはセミコロン強制だけどね。
Name_Not_Found [sage] 2019/06/27(木) 20:29:58.50ID:???
一番人気とか何で平気で嘘つくの?
Name_Not_Found [sage] 2019/06/27(木) 21:08:07.14ID:???

を読んでJavaScriptスタンダードスタイルガイドが一番人気だと言ってると思ったの?小学校の国語からやり直した方がよいのでは?w
Name_Not_Found [sage] 2019/06/27(木) 21:33:11.02ID:???
不必要なセミコロンを付けないように心がけている人は付け間違えてもすぐにミスに気が付く
必ず付けないと気が済まない人はつけ間違いやreturnなどで過度に付けていても気が付かない
Name_Not_Found [sage] 2019/06/27(木) 21:45:05.26ID:???
セミコロンのつけ間違いとかreturnに過度につけるって実害あるの?
セミコロンなしの実害はreturn+改行で間違いなくあるけど
Name_Not_Found [sage] 2019/06/27(木) 21:50:30.30ID:???

セミコロンなしの実害はreturn+改行ではない
return+改行の問題はセミコロン付ける派が、セミコロンを付けなければ継続するという勘違いによるもの
Name_Not_Found [sage] 2019/06/27(木) 21:59:36.50ID:???

てめえの犯したバグになんで人の流儀が関係あるんだよボケ
イスラム教徒が過ちを犯すのはキリスト教徒の教えのせいだっていうのと同じだぞ
Name_Not_Found [sage] 2019/06/27(木) 22:10:34.63ID:???
ちなみに一番人気の
Airbnb JavaScript スタイルガイドでは?

セミコロンは付けるべきですか?
もちろん。
なぜ? JavaScriptはセミコロンなしで改行を検出すると、自動セミコロン挿入(Automatic Semicolon Insertion)と呼ばれる一連の規則を使用して、
その改行をステートメントの終わりと見なし、(名前が示すとおり)改行の前にセミコロンを入れなければその行が壊れると考えた場所に、セミコロンを配置するかどうかを決定します。
ただし、ASIにはいくつかの風変わりな動作が含まれており、JavaScriptが改行を誤って解釈した場合、コードは壊れます。
新機能がJavaScriptの一部になるにつれて、これらのルールはより複雑になります。
ステートメントを明示的に終了し、不足しているセミコロンを検知するようにリンターを構成すると、問題に遭遇するのを防ぐのに役立ちます。

ttp://https://github.com/mitsuruog/javascript-style-guide/blob/master/README.md#semicolons
Name_Not_Found [sage] 2019/06/27(木) 22:49:37.71ID:???

でもさ、Rubyは逆にセミコロン省くんだよな。
セミコロン省いたために変な挙動をすることがあるのは同じなのに
Name_Not_Found [sage] 2019/06/27(木) 22:58:54.34ID:???

で、つけ間違いやreturnなどで過度に付けることの実害は?
純粋にケースを知りたいんだが
Name_Not_Found [sage] 2019/06/27(木) 23:09:47.61ID:???
あいつらはバカだから。
浅薄な考えで関数呼び出しのカッコ省略できるようにしたせいで高階関数でdef定義の関数渡したり返したり出来なくなってprocやらlambdaやら.callでの呼び出しやらでムッチャクッチャのグッチャグチャになった。
Name_Not_Found [sage] 2019/06/27(木) 23:10:15.21ID:???
宛て
Name_Not_Found [sage] 2019/06/27(木) 23:55:46.70ID:???
仕様でセミコロン必須にしとけばよかったのにな
こんなつまらんことでもめなくて済んだのに
Name_Not_Found [] 2019/06/28(金) 00:21:44.75:gH7SBzbG
あいう
かきく

と云うようなテキストがある時
コレをそのまま
var text = " あいう
かきく";

みたいにそのまま代入できないのでしょうか?
何行もあると↓みたいに書き直すのがすごくめんどくさいのです。
text = "あいう\nかきく"
text ="あいう" +
"かきく"
Name_Not_Found [sage] 2019/06/28(金) 00:26:48.18ID:???

バッククォートで囲む

var text = `あいう
かきく`;
Name_Not_Found [sage] 2019/06/28(金) 06:20:00.25ID:???

頭大丈夫?
セミコロンを意図的に省いたが自動挿入によって思わぬ結果を招くのは
論理的に考えてどちらかといえばセミコロン必須派の問題でしょ
省略派は常に自動挿入されることを意図してコードを書いてるのだから
自動挿入されると思っててされてなかったというのなら省略派の問題だけど
Name_Not_Found [sage] 2019/06/28(金) 06:49:38.03ID:???
セミコロンなしの副作用ってそんなに無いんだよね
例で関数式の直後に括弧があるとくっついちゃうとか、returnのやつとかあるけどさ
普段そんなコード書かないもんな
必要な時だけ書くけどね
Name_Not_Found [sage] 2019/06/28(金) 07:14:14.43ID:???
この二つだけでOK
・return の後は改行しない
・括弧で始まる文の先頭には ; をつける
Name_Not_Found [sage] 2019/06/28(金) 07:35:04.45ID:???


function f1() {
 return
  1;
}

function f2() {
 return
  2
}

console.log(f1()) // undefined
console.log(f2()) // undefined
Name_Not_Found [sage] 2019/06/28(金) 07:35:47.63ID:???
甘いなぁ。
その程度の理解なら大火傷が目に見えてる。
セミコロン付けたくないならおとなしくjs standard styleに従え。
従っていればセミコロンなしでも問題ないように知見入れ込まれてるんだから。
Name_Not_Found [sage] 2019/06/28(金) 07:45:36.29ID:???
セミコロンなしのメリットって何?
どっちみちプログラマが気を付けることには変わらないよね
Name_Not_Found [sage] 2019/06/28(金) 07:47:45.40ID:???

誰も意図して書こうとはしないだろう
誤って書いてしまう場合があるからダメなのだよ
所詮人のやることと思わなきゃ
Name_Not_Found [sage] 2019/06/28(金) 07:53:21.13ID:???

どっちにしろダメってことかw
Name_Not_Found [sage] 2019/06/28(金) 08:47:57.58ID:???

「タイプ数が減る」しか思いつかないな
「文法を知っている必要がある」という点ではどちらも同じ
Name_Not_Found [sage] 2019/06/28(金) 11:52:30.05ID:???
なんか癖になってるからセミコロンつけないのはソワソワする
ご飯の後にご馳走さま言わない感じに近い
Name_Not_Found [sage] 2019/06/28(金) 12:35:49.70ID:???
極力セミコロンを付けないと気が済まないって
極力constを使わないと気が済まないとか
極力型チェックをしないと気が済まないとか
みたいでヒステリックで嫌いだな
Name_Not_Found [sage] 2019/06/28(金) 13:06:32.31ID:???
逆だね。可能な限りセミコロンを書かずに済ますにはASIの摩訶不思議挙動を完璧に把握している必要がある。
セミコロン省略派のほうがconst厨に性質が近い。
Name_Not_Found [] 2019/06/28(金) 13:10:00.41:gH7SBzbG
javascriptでスクレイピングしたいのだけど
リンクをクリックして読み込んだら実行みたいなのはどうすればいいの?
Name_Not_Found [sage] 2019/06/28(金) 13:15:45.54ID:???
実行とは?
Name_Not_Found [sage] 2019/06/28(金) 13:34:10.16ID:???

fetch(url)で

IE対応したいなら
ポリフィル読むか、ライブラリ使うか、XMLHttpRequestで
Name_Not_Found [sage] 2019/06/28(金) 13:46:15.67ID:???
実行できないんですが?
Name_Not_Found [] 2019/06/28(金) 14:19:17.92:gH7SBzbG
テーブルデータが複数ページにまたがってるサイトがあるとします。
そこでテーブル内の各データを取得して←実行
次ページに移る
以降繰り返しクロムのデブツールのコンソールで行いたいと思っています
Name_Not_Found [sage] 2019/06/28(金) 14:35:02.73ID:???
実行、という言葉がここでは通じてないオレオレワードだよ
や借りように説明してくれ
Name_Not_Found [sage] 2019/06/28(金) 15:12:47.58ID:???
や借りとは?
Name_Not_Found [sage] 2019/06/28(金) 15:32:12.10ID:???
すまん誤記
わかるように説明してくれ
HTMLは実行するものじゃない
Name_Not_Found [] 2019/06/28(金) 16:00:42.10:EEeoBsxu
テーブルのデータが静的なデータならfetch/XMLHttpRequestで取得したページのデータを解析してテーブル内の各データを抽出する
テーブルデータがjavascript等を使って動的に作成されるならselenium webdriverあたりを使ってスクレイピングする
Name_Not_Found [sage] 2019/06/28(金) 17:16:58.59ID:???
ブラウザ上で行わないとダメな理由が良く分からん
取得した情報を何へ流し込んで、その後どう利用したいのかしらん
Name_Not_Found [sage] 2019/06/28(金) 17:27:02.68ID:???

その取得したテーブルデータをどうしたいんだ?
データベースに保存したいの?
Name_Not_Found [sage] 2019/06/28(金) 18:52:00.76ID:???


そういう思い込みが一番ダメ
Name_Not_Found [sage] 2019/06/28(金) 18:54:22.21ID:???
…と無職が一喝。
Name_Not_Found [sage] 2019/06/28(金) 19:00:06.42ID:???
無職じゃないよ設備屋兼投資家してる
でも厨房からやってて一番経験長いのがWeb
Name_Not_Found [sage] 2019/06/28(金) 19:05:58.76ID:???
Cから派生した言語はほとんどセミコロンいるからな
無いと気持ち悪いんだろうよ
Name_Not_Found [sage] 2019/06/28(金) 19:12:37.04ID:???
セミコロンなし強要したいんなら他の言語行ってくれとしか
jsの歴史と現状見るに害悪というか混乱の元
Name_Not_Found [sage] 2019/06/28(金) 19:14:40.31ID:???
> 「文法を知っている必要がある」という点ではどちらも同じ

これに尽きる
理解していれば、どちらも同じ
Name_Not_Found [sage] 2019/06/28(金) 19:17:44.24ID:???
なんやセミコロン要らんかったんか!www
これから全部省いたろ!めんどくせーしwww

var a = []
(function(a){
console.log(a)
})(1)

//=> [] is not a function

あ、あれ?(´;ω;`)
Name_Not_Found [sage] 2019/06/28(金) 19:21:04.77ID:???
var a = []
;(function(a){
console.log(a)
})(1)

// 1
Name_Not_Found [sage] 2019/06/28(金) 19:21:52.23ID:???
JavaScriptは仕様を変えてセミコロンなしで
動くようにしたほうが良いんじゃないだろうか?
Name_Not_Found [sage] 2019/06/28(金) 19:22:03.33ID:???
var b = 64
var regexp = 4
var ig = {exec: function(){return 8}}
var a = b
/regexp/ig.exec("str")
console.log(a)
//=> 2

???????
Name_Not_Found [sage] 2019/06/28(金) 19:23:16.68ID:???

文法を学習しろ
Name_Not_Found [sage] 2019/06/28(金) 19:27:44.35ID:???

やーい説明できないんでしょ?w
Name_Not_Found [sage] 2019/06/28(金) 19:28:23.56ID:???

var b = 64
var regexp = 4
var ig = {exec: function(){return 8}}
var a = b
;/regexp/ig.exec("str")
console.log(a)

// 64
Name_Not_Found [sage] 2019/06/28(金) 19:29:11.69ID:???

今でもセミコロン無しで動くでしょ
次の行との結合が発生する場合があるというだけでかといって
セミコロンが要らない代わりに1文1行制限が入っても野暮ったいし
今がちょうどいいバランスだと思うよ
Name_Not_Found [sage] 2019/06/28(金) 19:29:24.72ID:???
いまさらだがが意味不明だな
セミコロン必須派は意図的にセミコロンを省略すること自体がありえねんだよバーカ
なにが論理的に考えてだよ
Name_Not_Found [sage] 2019/06/28(金) 19:31:35.29ID:???
このように、「いつもセミコロンを省略できる」わけではなく、「どうしてもセミコロンを付けなければいけないところ」があり、それを「覚えなければ」なりません。
大した量ではありませんが、普通にセミコロン付けていくならば「本来覚えなくてもよかった」、「本質と関係ないクソ知識」です。
Name_Not_Found [sage] 2019/06/28(金) 19:33:11.54ID:???

括弧と演算子だな
あとreturnのやつはいらない
Name_Not_Found [sage] 2019/06/28(金) 19:33:43.28ID:???

出来ない人がクイズを出してるつもりなのか、
セミコロン省略のbadケースを紹介してるつもりなのか、
知らんが、迷惑行為には違いない
Name_Not_Found [sage] 2019/06/28(金) 19:34:11.21ID:???
要らないものを省こうとするのは自然な考えだと思うけどな

そういえばクラス構文では以下のようにセミコロン付ける事もできるけど
class C {
method(){};
}
セミコロン必要派の人は付けるんだろうか
付ける・付けないとしてそれは何を思ってのことなんだろうか
Name_Not_Found [sage] 2019/06/28(金) 19:36:53.18ID:???
ぼく「よし、文の終わりにはセミコロンっと」
バカ「プーッ! なにムダなセミコロン付けてんの?www 付けなくても動くのにwwww」
ぼく「・・・」

−−−

バカ「あ、あれ意図通り動かない……」エラーになっちゃう……」
(3時間後)
バカ「あっ、そうか! ここセミコロン要るところだった! さすが俺、華麗に解決できたぜ!ww」
ぼく「・・・」
Name_Not_Found [sage] 2019/06/28(金) 19:38:16.47ID:???
とりあえず、セミコロン付けとけ勢が

function foo(){};

と書いてるのを見かけることがある
Name_Not_Found [sage] 2019/06/28(金) 19:38:56.29ID:???

それ逆にしても成立するよねw
Name_Not_Found [sage] 2019/06/28(金) 19:40:39.54ID:???
セミコロンはつけすぎても問題は起こらないが(例えば2個連続の;;)
「省いた場合に問題が起こりうるということ」が問題だということが、
なぜ未だにわからないんだろうか。
Name_Not_Found [sage] 2019/06/28(金) 19:41:17.99ID:???

セミコロン必須派は文の終わりにセミコロンを付けようとする
毎行セミコロンを付けようとするバカは居ない
当然複数行に渡る文を書くこともあるし、その際には必須派でもセミコロンを付けない
そういうときに思わぬ自動挿入が起きて嵌まるというのはどちらかというと
自動挿入を利用している省略派ではなく必須派の問題
論理的に考えたらわかる
Name_Not_Found [sage] 2019/06/28(金) 19:43:20.10ID:???

セミコロン要らない派はなぜそこで要らないか、なぜそこで要るのか、全然分かってないんだねwww
functionの時点で関数式ならセミコロン付ける、関数宣言ならセミコロン付けない、だバーカw
セミコロン付ける派は関数宣言の終わり、
function foo() {};←ここにセミコロンなんて付けねーよww
function foo() {}←ここまでで関数宣言、
;つけたらただそのあとに空文追加してるだけじゃんwww
関数式と関数宣言の違いすら分からんのかこれだから脳死セミコロン付けない派はwwwww
Name_Not_Found [sage] 2019/06/28(金) 19:44:27.05ID:???

今までの流れ見てきて分かるようにセミコロン省略派必須派に限らず
ASIの挙動を抑えておかないと嵌まる可能性が残る
暗黙の型変更のようにJSerは無視できないこと
ならばそのJSらしい性質をJSを書く上で活用しようというのは自然
Name_Not_Found [sage] 2019/06/28(金) 19:44:56.48ID:???

それはつける派つけない派の違いじゃなくて文法を知っている知っていないの違いでしかない
まさかセミコロンつけない派のほうが文法を知ってると言いたいのかな?
Name_Not_Found [sage] 2019/06/28(金) 19:46:05.20ID:???

成立しないよ。
付けなければいけないところ、付けなくてもよいところ、そのどちらでも、何個もセミコロン置いても余分なものは単に空文になるだけだから。
逆に省いてはいけないところを省いちゃうととんでもないことになる。
セミコロン省略は仕様書も読まないバカにはお勧めできない。
Name_Not_Found [sage] 2019/06/28(金) 19:46:51.93ID:???

自分はクラス構文について話してるんだけど?
クラス構文中のセミコロンは空文ができるわけでなく
構文の柔軟性の一部でスペースのようなオプショナルな存在
それをセミコロンを付けようと意識してる人はどう考えるのかを教えて欲しかっただけだよ
Name_Not_Found [sage] 2019/06/28(金) 19:48:12.84ID:???
宗教はこうして戦争の火種になっていくんだな
宗教コワヒw
Name_Not_Found [sage] 2019/06/28(金) 19:49:23.18ID:???
そもそもクラス構文は使わない。聳え立つクソだあれは。
Name_Not_Found [sage] 2019/06/28(金) 19:50:36.70ID:???

勿論付けない派の方が文法を知っていると言う
文法を知っているのにわざわざ付けるっていうのは完全に好みの話になるし
文法を知らないのに大胆にも付けないっていうのは論外なこだわり

だからあくまで文法に詳しくなく安全側に倒して付けようとしてる派と
文法を良く知って不要なものは減らそうという派という対比で当然話してる
君はそうじゃない意味がない対比がしたいのかもしれないけど俺は巻き込まないでくれよな
Name_Not_Found [sage] 2019/06/28(金) 19:50:51.65ID:???

つかそもそも複数行の文の途中ってそれASI自体起こらなくね?
Name_Not_Found [sage] 2019/06/28(金) 19:53:21.46ID:???
もともとセミコロンをバグなく極限まで省略するにはASI含め高い文法知識が要るという話だっただろ。
それに初心者でも脳死でセミコロン省略できるって噛みついてきたんじゃないか。いい加減にしろよ。
Name_Not_Found [sage] 2019/06/28(金) 19:53:25.22ID:???

> それはつける派つけない派の違いじゃなくて文法を知っている知っていないの違いでしかない

>704ではないが、それが最重要ポイントだと思うぞ
セミコロン必須/省略は大した問題ではない
Name_Not_Found [sage] 2019/06/28(金) 19:54:17.35ID:???

いや、という主張らしいぞ
Name_Not_Found [sage] 2019/06/28(金) 19:55:37.22ID:???

俺は>704に賛同してるわけではないから
Name_Not_Found [sage] 2019/06/28(金) 19:56:13.54ID:???

文法を完全に分かっているのなら当然どんなスタイルでも問題は起こらない
だがそうではないので意図しない問題が起きやすい弱点がそれぞれにある
セミコロンを付ける派も、return文など意図しない形で文が区切られて問題になることもあるという話

これは何十スレも前から度々話題になっているので詳細は割愛するが
==の代わりに積極的に===を使うようになればむしろ嵌まりやすくなるのと同じ
Name_Not_Found [sage] 2019/06/28(金) 19:59:12.65ID:???

意味がわからない
脳死でプログラミングはできない
プログラミングというものは難しい

だけど入門者がセミコロン省略スタイルで学ぶのは
それはそれでその癖が付くだけだから何か問題があるとは思わないな

セミコロンを付けたほうが安全と思ってるかもしれないけど、
案外そうでもないよということでしょう
Name_Not_Found [sage] 2019/06/28(金) 20:01:54.86ID:???
セミコロンあり派
if (x) return; ←あ、戻り値がないんだな
a();
セミコロンなし派
if (x) return
a() ←ん、これ戻り値のつもりかな、それともif文の外?
Name_Not_Found [sage] 2019/06/28(金) 20:02:06.93ID:???
そっかー分からないかー
Name_Not_Found [sage] 2019/06/28(金) 20:03:46.24ID:???

セミコロン取った方が安全なの?
どうなの?
どっちが安全なの?
Name_Not_Found [sage] 2019/06/28(金) 20:04:33.51ID:???

派閥に関わらず、文法を理解して適切に使え、という考えがなぜ理解できないんだろう?
Name_Not_Found [sage] 2019/06/28(金) 20:04:59.53ID:???
一番人気のスタイルガイド、Airbnb JavaScriptスタイルガイド曰く、

セミコロンは付けるべきですか?
もちろん。
なぜ?
JavaScriptはセミコロンなしで改行を検出すると、自動セミコロン挿入(Automatic Semicolon Insertion)と呼ばれる一連の規則を使用して、
その改行をステートメントの終わりと見なし、(名前が示すとおり)改行の前にセミコロンを入れなければその行が壊れると考えた場所に、セミコロンを配置するかどうかを決定します。
ただし、ASIにはいくつかの風変わりな動作が含まれており、JavaScriptが改行を誤って解釈した場合、コードは壊れます。
新機能がJavaScriptの一部になるにつれて、これらのルールはより複雑になります。
ステートメントを明示的に終了し、不足しているセミコロンを検知するようにリンターを構成すると、問題に遭遇するのを防ぐのに役立ちます。

ttp://https://github.com/mitsuruog/javascript-style-guide/blob/master/README.md#semicolons
Name_Not_Found [sage] 2019/06/28(金) 20:09:35.88ID:???
何でそうまでして省きたいのか個人的にはサッパリ分からないが、どうしてもセミコロンを省きたい、かつ仕様の深い理解なんてしたくないという人は、
Airbnb JavaScriptスタイルガイドに比べ全く人気のないJavaScript Standard Styleというスタイルガイドにメクラで従うといい。
ttp://https://qiita.com/munieru_jp/items/ca16cbfa859468137d2e
Name_Not_Found [sage] 2019/06/28(金) 20:13:11.43ID:???

どれだけ文法を理解して適切に使おうとしても、人がすることだからミスはある
それならミスが少ないほうを使え、という考えがなぜ理解できないんだろう?
Name_Not_Found [sage] 2019/06/28(金) 20:15:03.46ID:???

実はどちらも危険でも安全でもない

毎歩杖を付きながら歩けば安全か?
足元がおぼつかず見通せない状況ならそうだが
杖が原因で危険が起こることもあるし
大衆にとっては付こうが付かまいが安全になったり危険になったりしない

杖を付いても付かなくても躓くことはしょっちゅうあるし
躓いたところで大ゴケすることなんて滅多にないし
躓くことを一々恐れて何か対策をしたりはしない
Name_Not_Found [sage] 2019/06/28(金) 20:16:53.63ID:???
なんかつけない派は詭弁が多くない?
採用する理由だって今風だからとか、かっこいいから、とかしかないでしょ?
他に何かあるのメリット
Name_Not_Found [sage] 2019/06/28(金) 20:17:30.13ID:???

何でそうまでして要らないものを省こうとしないのか個人的にはサッパリ分からない。
スペースと違って見にくくなるだけの余分な記号を何故わざわざ付ける?
Name_Not_Found [sage] 2019/06/28(金) 20:19:08.59ID:???

ヘルメット付けてても必ず助かるわけじゃないという当たり前の事実は、
ヘルメット非着用を推進する理由にはならない。
Name_Not_Found [sage] 2019/06/28(金) 20:20:36.12ID:???

JavaScriptはセミコロンなしで改行を検出すると、自動セミコロン挿入(Automatic Semicolon Insertion)と呼ばれる一連の規則を使用して、
その改行をステートメントの終わりと見なし、(名前が示すとおり)改行の前にセミコロンを入れなければその行が壊れると考えた場所に、セミコロンを配置するかどうかを決定します。
ただし、ASIにはいくつかの風変わりな動作が含まれており、JavaScriptが改行を誤って解釈した場合、コードは壊れます。
新機能がJavaScriptの一部になるにつれて、これらのルールはより複雑になります。
ステートメントを明示的に終了し、不足しているセミコロンを検知するようにリンターを構成すると、問題に遭遇するのを防ぐのに役立ちます。
Name_Not_Found [sage] 2019/06/28(金) 20:22:05.49ID:???
ぼく「よし、文の終わりにはセミコロンっと」
バカ「プーッ! なにムダなセミコロン付けてんの?www 付けなくても動くのにwwww」
ぼく「・・・」

−−−

バカ「あ、あれ? 意図通り動かない…… エラーになっちゃう……」
(3時間後)
バカ「あっ、そうか! ここセミコロン要るところだった! さすが俺、華麗に解決できたぜ!ww」
ぼく「・・・」
Name_Not_Found [sage] 2019/06/28(金) 20:22:11.21ID:???

JSって色んな書き方ができて
ああいう書き方もある、こういう書き方もある
色々試して色々発見して自分のスタイルとJS知識を研磨していった先で到達するものであって
採用するとかいう話ではないと思うよ

Array()の代わりに[]を使うのと同じく
そちらの方が洗練されていると感じるから使う
Array()の方が分かりやすいと言えば勿論そうかも知れないけどね
Name_Not_Found [sage] 2019/06/28(金) 20:22:16.67ID:???
見にくくなるだけの記号って・・・
世にあふれるJavaScriptのコードをどういう気持ちで見てるんだろう
俺の思い通りにならないムキーってか?
Name_Not_Found [sage] 2019/06/28(金) 20:25:48.68ID:???

だから君は24時間風呂はいるときも寝るときも付けろというんでしょ
でも俺はポイントポイントで必要性があるときだけ付ければいいと思う

俺は常にヘルメットを被って生活してる君に対して違和感を感じてる
今ヘルメットを被らないで良いかどうかも分からない可愛そうな子にしか見えない
Name_Not_Found [sage] 2019/06/28(金) 20:25:56.14ID:???

はい詭弁
メリットを言えよ
Name_Not_Found [sage] 2019/06/28(金) 20:27:01.66ID:???

俺は[]の代わりにArray()を使ってもいいと思うし、
セミコロンをわざわざ付けて見にくくするのもいいと思ってるよ
Name_Not_Found [sage] 2019/06/28(金) 20:40:32.38ID:???

新しい配列を構築するためにArrayコンストラクターを使用することは、単一引数の落とし穴と、Arrayグローバルが再定義される可能性があるため、通常、配列リテラル表記を使用することをお勧めします。
例外は、Arrayコンストラクタを使用して、コンストラクタに単一の数値引数を与えることによって、意図的に指定サイズのスパース配列を作成する場合です。
Name_Not_Found [sage] 2019/06/28(金) 20:43:04.60ID:???

いや?
お前が工事現場で「ヘルメットを付けても必ず助かるわけじゃない」と言ってヘルメット着用の看板を剥がして回るキチガイだというだけだぞ。
Name_Not_Found [sage] 2019/06/28(金) 20:49:27.42ID:???

ミスがあるなら、正しい文法を覚えればいいだけの話
覚える気がないなら、セミコロン必須でも省略でもミスは起こる
Name_Not_Found [sage] 2019/06/28(金) 20:49:53.30ID:???
A「セミコロン省いたらエラーになることがあるよ」
B「文法を学んで気を付ければいいよ」
A「それならセミコロン省かないほうが安全じゃない?」
B「邪魔な記号だからいいんだよ!俺が気に食わないの!」
Name_Not_Found [sage] 2019/06/28(金) 20:51:51.60ID:???

よーし配列リテラルなんてうっちゃらかしてArrayコンストラクタで配列作るぜ!
var arr = Array(1, 2, 3);
console.log(arr);
//=> [1, 2, 3]
絶好調だぜ!配列リテラルなんて使ってられるか!要素1の配列も作るぜ!
var arr = Array(1);
console.log(arr);
//=> [undefined]

あ、あれ…? (´;ω;`)
Name_Not_Found [sage] 2019/06/28(金) 20:55:19.37ID:???
スタイルガイドのシェア率が分かるやつある?
Name_Not_Found [sage] 2019/06/28(金) 20:55:57.91ID:???

お前ミスしたことないの?
正しい文法を覚えててもミスはするの
覚える気があってもミスはするの
省略したほうがミスの可能性が高いの
わかる?
740 [] 2019/06/28(金) 20:57:15.45:lh1CUoFS

マウント取りたいだけなら好きにやればいいが、俺は省略も必須も文法さえ守れば好きにやればいいと思うぞ
「文法さえ守れば」どちらでも問題はない
Name_Not_Found [] 2019/06/28(金) 20:58:37.51:lh1CUoFS

分からん
ミスをするのは「知らないから」
それ以外に原因はない
Name_Not_Found [sage] 2019/06/28(金) 21:00:00.56ID:???

思い付くのはgithubスター数と、babel-presetの週間ダウンロード数だな。
Name_Not_Found [sage] 2019/06/28(金) 21:04:14.30ID:???

その知らないことによるミスを事前に減らしましょうって言ってんの
それがわからん?
Name_Not_Found [sage] 2019/06/28(金) 21:04:54.68ID:???
私、失敗しないのでwww
ドラマ化決定!wwwww
Name_Not_Found [sage] 2019/06/28(金) 21:07:34.74ID:???
仕事で書くときはプロジェクトのスタイルに合わせるんだし
個人の趣味で書いてるのは好きにすればいいじゃん
Name_Not_Found [sage] 2019/06/28(金) 21:11:39.09ID:???

涙目くん毎回ためになるなぁw
Name_Not_Found [sage] 2019/06/28(金) 21:13:18.94ID:???
・文の末尾にはセミコロンを付ける
・returnで値を返すときは直後に改行を入れない
結局これが素人にもプロにも最強
Name_Not_Found [] 2019/06/28(金) 21:40:56.00:lh1CUoFS

君は「何か良くわからないけど、セミコロンを付ければエラーがなくなるみたいです」と覚えるのかね?
Name_Not_Found [sage] 2019/06/28(金) 21:43:47.65ID:???

少なくとも「俺はすべて知ってるからセミコロン省くぜ、あ、あれ?」よりはまし
Name_Not_Found [] 2019/06/28(金) 21:48:01.18:lh1CUoFS

答えになっていないようだが
Name_Not_Found [sage] 2019/06/28(金) 21:48:54.13ID:???
「何か良くわからないけど、セミコロンなんか付けなくてもエラー出ないみたいです。だから付けません」
Name_Not_Found [sage] 2019/06/28(金) 21:50:17.03ID:???

文法を守った気になっている奴がASIによる余計なバグを追っている時間を
他のバグ潰しに使えるってこと
Name_Not_Found [sage] 2019/06/28(金) 21:50:55.41ID:???
いずれにしても、「何か良くわからないけど」と考える奴がミスを犯すのは確かだな
Name_Not_Found [sage] 2019/06/28(金) 21:51:46.67ID:???

マウントは他所でどうぞ
Name_Not_Found [sage] 2019/06/28(金) 21:54:47.23ID:???

どこがマウント?
事実を言っただけだが
反論をどうぞ
Name_Not_Found [sage] 2019/06/28(金) 21:56:18.31ID:???
文法を守れ
→文法を守った気になってる奴が云々
→????
Name_Not_Found [sage] 2019/06/28(金) 21:56:52.81ID:???

答えになってないじゃん
煽ってるだけじゃん
Name_Not_Found [sage] 2019/06/28(金) 21:58:52.68ID:???
内容に反論できなくて悔しくてマウントマウント言い出しただけだろww
Name_Not_Found [sage] 2019/06/28(金) 21:59:55.21ID:???
相手がいってもいない虚像を勝手に作り上げて論破している気になってる奴はホント消えてほしい
Name_Not_Found [sage] 2019/06/28(金) 22:00:41.18ID:???

守ろうとすることと(能力的に)守れるかどうかは別問題
ここまで言わなきゃわからない?
Name_Not_Found [] 2019/06/28(金) 22:01:13.64:lh1CUoFS
まさか、が答えになっていると本気で信じているのか...
Name_Not_Found [sage] 2019/06/28(金) 22:01:49.65ID:???
具体的にどうぞw
Name_Not_Found [] 2019/06/28(金) 22:02:50.82:lh1CUoFS

君は「何か良くわからないけど、セミコロンを付ければエラーがなくなるみたいです」と覚えるのかね?
Name_Not_Found [sage] 2019/06/28(金) 22:04:55.96ID:???

君は「何か良くわからないけど、セミコロンなんか付けなくてもエラー出ないみたいです」と覚えるのかね?
Name_Not_Found [] 2019/06/28(金) 22:05:42.64:lh1CUoFS

No
で、君の答えは?
Name_Not_Found [sage] 2019/06/28(金) 22:05:47.33ID:???
一番人気のスタイルガイド、Airbnb JavaScriptスタイルガイド曰く、

セミコロンは付けるべきですか?
もちろん。
なぜ?
JavaScriptはセミコロンなしで改行を検出すると、自動セミコロン挿入(Automatic Semicolon Insertion)と呼ばれる一連の規則を使用して、
その改行をステートメントの終わりと見なし、(名前が示すとおり)改行の前にセミコロンを入れなければその行が壊れると考えた場所に、セミコロンを配置するかどうかを決定します。
ただし、ASIにはいくつかの風変わりな動作が含まれており、JavaScriptが改行を誤って解釈した場合、コードは壊れます。
新機能がJavaScriptの一部になるにつれて、これらのルールはより複雑になります。
ステートメントを明示的に終了し、不足しているセミコロンを検知するようにリンターを構成すると、問題に遭遇するのを防ぐのに役立ちます。

ttp://https://github.com/mitsuruog/javascript-style-guide/blob/master/README.md#semicolons
Name_Not_Found [sage] 2019/06/28(金) 22:08:05.31ID:???
何が何でも答えないという鉄の意思を感じるわ
Name_Not_Found [sage] 2019/06/28(金) 22:10:16.11ID:???

だから、
「何か良くわからないけど、セミコロンを付ければエラーがなくなるみたいです」
のほうが
「俺はすべて知ってるからセミコロン省くぜ、あ、あれ?ここ省いちゃダメだった」
よりも、
ASIによる余計なバグを追っている時間を他のバグ潰しに使える分ましだと言っている
Name_Not_Found [sage] 2019/06/28(金) 22:11:42.56ID:???

つまり、Yesってことか
はっきりいえよ
歪曲表現を好む日本人かよw
Name_Not_Found [sage] 2019/06/28(金) 22:13:04.78ID:???
具体的にどうぞw
Name_Not_Found [sage] 2019/06/28(金) 22:13:51.49ID:???

誰にいってんだろ?
Name_Not_Found [sage] 2019/06/28(金) 22:14:17.43ID:???
var a = []
(function(a){
console.log(a)
})(1)
//=> [] is not a function
Name_Not_Found [sage] 2019/06/28(金) 22:15:15.57ID:???
やっぱりセミコロンなし派って詭弁でごまかすよね
メリットも語れないし草生やすだけ
Name_Not_Found [] 2019/06/28(金) 22:16:13.81:lh1CUoFS

君は知らないからセミコロン省略でミスをする
セミコロン省略派は知らなければ使えないので理解しようとする
ミスをすれば、さらに深く理解しようとする

理解すればミスはしない
理解しなければミスをする
それだけの話
Name_Not_Found [sage] 2019/06/28(金) 22:17:03.00ID:???
var a = [];
(function(a){
console.log(a);
})(1);
は美しくなく、
var a = []
;(function(a){
console.log(a)
})(1)
は美しい?ww
省略派のゲテモノセンスはよく分からんww
Name_Not_Found [sage] 2019/06/28(金) 22:17:12.25ID:???

ミスする奴は必ずいる
そういうやつはどうすればいいの?教えてプロ
Name_Not_Found [sage] 2019/06/28(金) 22:18:33.22ID:???
もともとセミコロンをバグなく極限まで省略するにはASI含め高い文法知識が要るという話だっただろ。
それに初心者でも脳死でセミコロン省略できるって噛みついてきたんじゃないか。いい加減にしろよ。
Name_Not_Found [sage] 2019/06/28(金) 22:19:33.06ID:???

世の中にセミコロン必須にしているスタイルガイドがあるのは何故だと思う?
Name_Not_Found [sage] 2019/06/28(金) 22:20:58.42ID:???

世の中にセミコロン不要としているスタイルガイドがあるのは何故だと思う?
Name_Not_Found [] 2019/06/28(金) 22:21:38.53:lh1CUoFS

ミスの原因、原理を突き詰める事だ


知らない事を良しとしているのだろう
Name_Not_Found [sage] 2019/06/28(金) 22:21:49.34ID:???

ごめん、わからない
俺はセミコロン付ける派なので
てかたまには答えたら?答えられないの?
Name_Not_Found [sage] 2019/06/28(金) 22:23:49.07ID:???
中出ししたけど妊娠しなかったよ?
コンドームなど不要!
Name_Not_Found [] 2019/06/28(金) 22:25:12.11:lh1CUoFS

すまん、読み間違えた
セミコロン省略しても良いケースを熟知しているのだろう
Name_Not_Found [sage] 2019/06/28(金) 22:25:26.81ID:???
この議論総括するとセミコロンを付けない方の勝ちだな
付ける方は付けないやり方も長く試したけど、実際こういう問題が起きた
とは自分の実力がないと言ってるようで主張しにくいもの
周りの付けない人を何十人も見てきたけど統計的にそのグループは
こういう間違いを犯しやすいという事実もないしさ

一方付けない方は付けるのも試してる上で付けなくても問題はないと
nは小さいけど実体験を語ってるわけで
付ける方が詭弁連呼や失礼な根拠要求しかできないのに比べると圧倒的に強いね
客観的に見て議論は付けない方の勝ち
ただし自分は付け続けるし人にも付けることを強く進める

以上、終わり
Name_Not_Found [] 2019/06/28(金) 22:26:33.04:lh1CUoFS
あ、レスアンカー先が違ったのか
下記が正しい


知らない事を良しとしているのだろう


セミコロン省略しても良いケースを熟知しているのだろう
Name_Not_Found [sage] 2019/06/28(金) 22:26:41.17ID:???

コンドームは必要なときにつけるもの
彼女も居ないのに24時間付けてないと気が済まない性癖を偉そうに主張されてもね
Name_Not_Found [sage] 2019/06/28(金) 22:26:46.00ID:???
一番客観的じゃない意見乙w
Name_Not_Found [sage] 2019/06/28(金) 22:28:51.36ID:???
セミコロンつけないやつは全員仕様を理解している奴という超理論を
覆すことはできんなw
Name_Not_Found [sage] 2019/06/28(金) 22:36:14.01ID:???
結局付けない派が詭弁で逃げ切ったな。
Name_Not_Found [sage] 2019/06/28(金) 22:36:27.40ID:???
;(function () {}) ←これがキモイんだよなー
Name_Not_Found [sage] 2019/06/28(金) 22:36:38.16ID:???
一番人気のスタイルガイド、Airbnb JavaScriptスタイルガイド曰く、

セミコロンは付けるべきですか?
もちろん。
なぜ?
JavaScriptはセミコロンなしで改行を検出すると、自動セミコロン挿入(Automatic Semicolon Insertion)と呼ばれる一連の規則を使用して、
その改行をステートメントの終わりと見なし、(名前が示すとおり)改行の前にセミコロンを入れなければその行が壊れると考えた場所に、セミコロンを配置するかどうかを決定します。
ただし、ASIにはいくつかの風変わりな動作が含まれており、JavaScriptが改行を誤って解釈した場合、コードは壊れます。
新機能がJavaScriptの一部になるにつれて、これらのルールはより複雑になります。
ステートメントを明示的に終了し、不足しているセミコロンを検知するようにリンターを構成すると、問題に遭遇するのを防ぐのに役立ちます。

ttp://https://github.com/mitsuruog/javascript-style-guide/blob/master/README.md#semicolons
Name_Not_Found [] 2019/06/28(金) 22:37:12.18:lh1CUoFS
セミコロン省略派と誤解されている気がするが、俺の意見は
Name_Not_Found [sage] 2019/06/28(金) 22:37:49.58ID:???

笑えるのが付けない派がこれを書くってことだよなwww
心の中で地の涙を流してるのだろうかw
Name_Not_Found [sage] 2019/06/28(金) 22:38:54.33ID:???

うざい、何度も貼るな
Name_Not_Found [sage] 2019/06/28(金) 22:39:44.90ID:???

発狂www
Name_Not_Found [sage] 2019/06/28(金) 22:39:48.50ID:???

その妄想論はどこから来てるの?
Name_Not_Found [sage] 2019/06/28(金) 22:40:37.87ID:???

どうすんの?
var a = []
(function(a){
console.log(a)
})(1)
//=> [] is not a function
Name_Not_Found [sage] 2019/06/28(金) 22:40:42.08ID:???

何が面白いんだか
連投すれば、誰でも迷惑に感じることぐらい理解しろよ
Name_Not_Found [sage] 2019/06/28(金) 22:41:25.85ID:???

var a = []; と書けば?
Name_Not_Found [sage] 2019/06/28(金) 22:41:47.58ID:???

イライラしてんなww
当たんなよwwww
Name_Not_Found [sage] 2019/06/28(金) 22:42:25.27ID:???

そうだね。良くできました!
Name_Not_Found [sage] 2019/06/28(金) 22:43:35.17ID:???
草生やしてるやつはスルーでいいよ
Name_Not_Found [sage] 2019/06/28(金) 22:44:03.48ID:???
ID:lh1CUoFSは理解すればミスは起こらないと言っている
俺は理解してもミスは起こると言っている
ここが永遠に埋まらない溝
Name_Not_Found [sage] 2019/06/28(金) 22:45:01.14ID:???

くやしいのうwwwww
Name_Not_Found [sage] 2019/06/28(金) 22:53:53.17ID:???

君はセミコロン省略派をやり込めたと思っているようだね
何事にも例外はあるということをいちいちいわないと理解できないタイプ
Name_Not_Found [sage] 2019/06/28(金) 22:54:45.52ID:???

> 俺は理解してもミスは起こると言っている
論理的に根拠を説明してくれるよな?
Name_Not_Found [sage] 2019/06/28(金) 23:02:31.95ID:???
例外が多いのはセミコロン省略の方だよね。
結局全部省略できないで「こういう場合は付けないといけません」アホかと。
Name_Not_Found [sage] 2019/06/28(金) 23:03:51.35ID:???
ちょっと違うな。
「こういう場合付けないといけません。さもないとバグります」
Name_Not_Found [sage] 2019/06/28(金) 23:04:03.50ID:???

アホな理由が分からん
理解して使う分には全然かまわないぞ、俺は
Name_Not_Found [sage] 2019/06/28(金) 23:04:36.80ID:???
もともとセミコロンをバグなく極限まで省略するにはASI含め高い文法知識が要るという話だっただろ。
それに初心者でも脳死でセミコロン省略できるって噛みついてきたんじゃないか。いい加減にしろよ。
Name_Not_Found [sage] 2019/06/28(金) 23:06:34.76ID:???

ならお前も逆論を論理的に説明しろ
ID:lh1CUoFSは説明しているが、お前は何一つ説明してないだろ
お前がしたなら説明してやる
Name_Not_Found [sage] 2019/06/28(金) 23:06:38.02ID:???
知らんがな
全員が同一人物に見える病気なら、通院しろ
Name_Not_Found [sage] 2019/06/28(金) 23:06:55.53ID:???
;「私のために争わないで!」
Name_Not_Found [sage] 2019/06/28(金) 23:08:01.85ID:???

え…、「理解してないものはバグる」って説明しないと理解できないものなのか?
Name_Not_Found [sage] 2019/06/28(金) 23:10:18.62ID:???

を読めないのか?
「理解してないものはバグる」じゃない、「理解したらミスらない」だ
この2つは全然違うぞ
Name_Not_Found [sage] 2019/06/28(金) 23:13:23.25ID:???

すまんね
「理解したらミスらない」が真なら、「理解してなければミスる」も真
以上
Name_Not_Found [sage] 2019/06/28(金) 23:14:08.22ID:???
あと理解してないものは必ずバグるわけじゃないぞ
うまくいく場合もある
Name_Not_Found [sage] 2019/06/28(金) 23:14:11.65ID:???
ttp://https://www.ecma-international.org/ecma-262/5.1/#sec-7.9
ttp://https://www.ecma-international.org/ecma-262/9.0/#sec-automatic-semicolon-insertion
ttp://https://tc39.es/ecma262/#sec-automatic-semicolon-insertion
Name_Not_Found [sage] 2019/06/28(金) 23:17:02.98ID:???

だから「理解したらミスらない」が真だと思わないって言ってるの
「理解したらミスらない」が真である根拠を論理的に説明よろ
Name_Not_Found [sage] 2019/06/28(金) 23:17:20.67ID:???

複数バージョンを取り上げるその心は?
Name_Not_Found [sage] 2019/06/28(金) 23:20:04.02ID:???

原理を100%理解したら、100%期待通りに動くように書けるだろ
お前の言ってることはまるで分らん
Name_Not_Found [sage] 2019/06/28(金) 23:22:30.59ID:???
絶対ミスらないなら全部ハンドアセンブリで書いてりゃいいんじゃね?
絶対ミスらないクセにやることがJavaScriptのセミコロンの省略w
Name_Not_Found [sage] 2019/06/28(金) 23:24:19.05ID:???

お前の理想の世界ではな
現実には
・タイプミス
・修正忘れ
・minifyによる圧縮
などにより仮に全員が完全に理解していてもミスやバグは起こるんだよ
Name_Not_Found [sage] 2019/06/28(金) 23:25:57.16ID:???
もう一度言うけど、
仕様を理解していることと、それを完璧にコードに反映できることは別なの
Name_Not_Found [sage] 2019/06/28(金) 23:26:47.45ID:???

その作業工程を十分に「理解」してなかったからだろ
Name_Not_Found [sage] 2019/06/28(金) 23:28:59.32ID:???
立証責任を放棄して、先に反証責任を負わせるに驚愕した
Name_Not_Found [sage] 2019/06/28(金) 23:30:20.20ID:???

だから理解した「つもり」になっている奴が現実にいるという話だよ
ID:lh1CUoFSもそうでないとは言い切れんだろ?
それなら最初からミスする前提でミスの少ないセミコロン付けをしましょうね
と最初に戻るわけだ
Name_Not_Found [sage] 2019/06/28(金) 23:32:18.15ID:???

なんのこっちゃ
作業自体を理解してない奴に触らせるのが正しいのか?
Name_Not_Found [sage] 2019/06/28(金) 23:36:21.50ID:???

tc39見てると一体いくつのステキな提案がASIハザードのせいで沈んでいったか……
Name_Not_Found [sage] 2019/06/28(金) 23:37:12.35ID:???
俺の結論はのコピペのとおり↓これ
>問題に遭遇するのを防ぐのに役立ちます。

はこんなのくそくらえだって言うんだろ?
Name_Not_Found [sage] 2019/06/28(金) 23:38:40.60ID:???
絶対にミスらないならそもそも問題に遭遇しないからな
Name_Not_Found [sage] 2019/06/28(金) 23:40:38.37ID:???
絶対にミスしないんならwasmをwatで手書きしてれば?
Name_Not_Found [sage] 2019/06/28(金) 23:40:49.75ID:???
理解すればミスはしない
俺は理解してもミスは起こると言っている
だから理解した「つもり」になっている奴が現実にいるという話だよ

相手の主張に「つもり」を付けて反証した「つもり」になっているのが「永遠に埋まらない溝」ですね
Name_Not_Found [sage] 2019/06/28(金) 23:41:13.69ID:???

Examples of Automatic Semicolon Insertion の内容は、過去のも最新ドラフトのも同一だが
Rules of Automatic Semicolon Insertion は若干変化がある、と
Name_Not_Found [sage] 2019/06/28(金) 23:43:50.53ID:???

俺は「仮に全員が完全に理解していても」と前提を言ったのに
が「十分に「理解」してなかったから」とかわけわからんこと言い出したのに付き合って
で合わせただけだよ
もちろん本人が意図しないミスだってあるよ
Name_Not_Found [sage] 2019/06/28(金) 23:47:21.42ID:???
省略しない派 → (´;ω;`)
省略する派  → (´ω`)
Name_Not_Found [sage] 2019/06/28(金) 23:49:24.76ID:???

は真っ当な意見だと思うがね
君が勝手に「理解」の範囲をECMAScriptに限定していただけ
Name_Not_Found [sage] 2019/06/28(金) 23:51:39.01ID:???

まあ最初の流れでは仕様を理解すると言っていたからね
そうやって文脈をすり替えるのは結構だけど俺の結論はこう
「作業工程も仕様も理解していてもミスるからセミコロンはつけよう」
Name_Not_Found [sage] 2019/06/28(金) 23:53:27.47ID:???

>「作業工程も仕様も理解していてもミスるからセミコロンはつけよう」
それを理解していたら、をミスる理由がなくなる
Name_Not_Found [sage] 2019/06/28(金) 23:55:10.66ID:???

理解しててもしてなくても発生率が有意に変わるとは思えん

「理解していれば防げた」はずの分だけ、ミスやらバグやら減るんじゃね
Name_Not_Found [sage] 2019/06/28(金) 23:56:02.50ID:???
頑固だね〜
タイプミスも修正忘れもしないってか?大した自信だね
Name_Not_Found [sage] 2019/06/28(金) 23:56:08.28ID:???
もう「良くわからないけど、ミスるからセミコロンを付けよう」でいいんじゃない?
から段々、文脈を変えてきてるし、都合よく論理を改変されてる気がしてならないよ
Name_Not_Found [sage] 2019/06/28(金) 23:57:01.35ID:???
ミスしないなら変数に分かりやすい名前付ける意味もないね。aとかbとかで十分。むしろそれが望ましい。
ミスしないならキレイにインデントする必要もないね。むしろ詰めるべき。必要なところだけワンスペース。
Name_Not_Found [sage] 2019/06/28(金) 23:58:24.57ID:???

それはもうセミコロン省略が関係なくなってる事に気が付いてる?
Name_Not_Found [sage] 2019/06/28(金) 23:58:29.71ID:???
「ミスってセミコロンをつけ忘れました」
「だからセミコロンを付けろと言っただろ」
「・・・」
Name_Not_Found [sage] 2019/06/28(金) 23:59:45.90ID:???

そのとおり
理解しててもしてなくても、セミコロン付けると発生率が下がるのよ
Name_Not_Found [sage] 2019/06/29(土) 00:00:58.88ID:???
結論:
 絶対にミスしないウソつき以外にはセミコロン省略は使えない
Name_Not_Found [sage] 2019/06/29(土) 00:02:10.45ID:???

セミコロン必須にすると、タイプミスや修正漏れが減る根拠を教えて下さい!
Name_Not_Found [sage] 2019/06/29(土) 00:03:24.54ID:???
はセミコロン関係なさすぎてワラタ
Name_Not_Found [sage] 2019/06/29(土) 00:04:32.18ID:???

関係あるよ
var a = []
(function () {})() ←タイプミス
Name_Not_Found [sage] 2019/06/29(土) 00:05:33.37ID:???
セミコロン関係ない、「ミスをしないからミスしにくい手法など気にする必要はない」理論に持っていったのはセミコロン省略おじさんのほう
Name_Not_Found [sage] 2019/06/29(土) 00:07:26.78ID:???
下手なminifierだとASIを認識しなくてバグるよ
Name_Not_Found [sage] 2019/06/29(土) 00:08:48.35ID:???

それタイプミスじゃないだろ
Name_Not_Found [sage] 2019/06/29(土) 00:19:17.58ID:???

ごめん発生率はASIによるバグの発生率だったわw
Name_Not_Found [sage] 2019/06/29(土) 00:20:42.89ID:???
セミコロン必須派の意見がgdgd過ぎ
Name_Not_Found [sage] 2019/06/29(土) 00:22:22.05ID:???
対してセミコロン省略派の詭弁テクはなかなかのものがある。
いつも屁理屈言い訳ばかりしてるから上達したのだろう。
Name_Not_Found [sage] 2019/06/29(土) 00:23:13.25ID:???
セミコロン付けときゃ余計なバグの心配もないのに
なんでそんな拘るかね┐(´-`)┌ヤレヤレ
Name_Not_Found [sage] 2019/06/29(土) 00:24:19.09ID:???
必須派の根拠が弱すぎるからだろうね
Name_Not_Found [sage] 2019/06/29(土) 00:26:29.40ID:???
総括すると、こういうことらしい

理解した「つもり」になってる奴はセミコロン必須にしろ
Name_Not_Found [sage] 2019/06/29(土) 00:27:07.72ID:???
var a = []
(function(a){
console.log(a)
})(1)
//=> [] is not a function
Name_Not_Found [sage] 2019/06/29(土) 00:27:44.95ID:???
なし派はメリット一つも言わないんだよなー
理解しろ理解しろ理解したらバグは起こらない!
いやそれでメリットは?
Name_Not_Found [sage] 2019/06/29(土) 00:28:28.72ID:???

セミコロンなくてスッキリしてていいな!
今度からそう書くわ!
Name_Not_Found [sage] 2019/06/29(土) 00:29:23.69ID:???

ASIの仕様に詳しくなれる
Name_Not_Found [sage] 2019/06/29(土) 00:35:00.75ID:???
結論
ASIの仕様に詳しくなりたい人は、セミコロンを省略しよう!
理解が浅いとバグっちゃうから、スリル満点だぞ!
Name_Not_Found [sage] 2019/06/29(土) 00:35:20.57ID:???
文頭セミコロンなんて初めて見た
Name_Not_Found [sage] 2019/06/29(土) 00:35:27.29ID:???


理解しろ派は省略派ではなかったろ
読解力を身に着けた方がいい
Name_Not_Found [sage] 2019/06/29(土) 00:37:05.61ID:???
セミコロン必須派ってなんでこんなに気持ち悪いんだろ
jQuery房と同質のものを感じるわ
Name_Not_Found [sage] 2019/06/29(土) 00:38:09.55ID:???
いや理解する必要があるのは省略派だろ
頭沸いてんのか
Name_Not_Found [sage] 2019/06/29(土) 00:39:32.34ID:???
内容に反論できなくて結局人格否定に走るしかないのねw
哀れみw
Name_Not_Found [sage] 2019/06/29(土) 00:40:27.71ID:???
めりっと
・ASIの仕様に詳しくなれる
デメリット
・意図しない関数呼び出し
var a = []
(function () {})() //=> [] is not a function
・意図しないreturn文
return
a + b
・ダサいスタイル
;(function () {...})()
![1,2,3].map(...)
Name_Not_Found [sage] 2019/06/29(土) 00:41:07.96ID:???

で再指摘されてんのに、注意力散漫すぎだろ
Name_Not_Found [sage] 2019/06/29(土) 00:41:47.53ID:???
ASIの仕様を実践できるのはセミコロン省略派だけ!
君もセミコロン省略派になって、セミコロン省略スタイルでしか役に立たない知識を身に付けよう!
Name_Not_Found [sage] 2019/06/29(土) 00:42:22.77ID:???
むしろ、セミコロン必須のメリットが突っ込みどころ多すぎた
Name_Not_Found [sage] 2019/06/29(土) 00:43:41.27ID:???
![1,2,3].map(...)
これ全然直感的じゃないよなw
もうセミコロンさえなければ何でもいいという執念を感じるw
Name_Not_Found [sage] 2019/06/29(土) 00:44:21.22ID:???
今度はショートコーディングに論点をずらし始めた
Name_Not_Found [sage] 2019/06/29(土) 00:44:56.49ID:???
つける派のメリット
で書かれているとおり
デメリット
つけない派の根拠0の執拗な攻撃に遭う
Name_Not_Found [] 2019/06/29(土) 00:45:45.42:+30BoMTG

というか、SyntaxErrorだし
Name_Not_Found [sage] 2019/06/29(土) 00:47:31.38ID:???
借り物の言葉で満足するのが必須派か
Name_Not_Found [sage] 2019/06/29(土) 00:47:58.88ID:???
「文末にセミコロンなんて付けたくない! 死んでも付けないぞ!」



「ぶ、文頭ならおk」

なんでや…
Name_Not_Found [sage] 2019/06/29(土) 00:49:24.86ID:???

そりゃ俺らの言葉なんかより権威ある出所からのお言葉なら大満足でしょ
Name_Not_Found [sage] 2019/06/29(土) 00:50:57.45ID:???
☆セミコロン占い☆
セミコロンを省略しちゃうあなたは見た目に騙され本質が見えないタイプ。
プログラミング言語はRubyがお似合いかも!?
Name_Not_Found [sage] 2019/06/29(土) 00:51:08.15ID:???

そして、別の権威者が反対の事を言い出したら、意見を100%反転させるのだな
Name_Not_Found [sage] 2019/06/29(土) 00:52:38.45ID:???

話そらしてばかりだね。どこに行くの?
Name_Not_Found [sage] 2019/06/29(土) 00:53:35.71ID:???
今時、コーディング規約を思考停止で守ってる奴は珍しくない
意味を分かってないから、タイプミスや修正漏れは日常茶飯事
Name_Not_Found [sage] 2019/06/29(土) 00:54:24.71ID:???

まあ言うてgithubシェアNo.1ですから
Name_Not_Found [sage] 2019/06/29(土) 00:55:29.80ID:???
必須派ワー必須派ワー
相手にケチつけてばかりで何もメリットを語れない省略派w
大脳新皮質も省略してしまったのだろうか?w
Name_Not_Found [sage] 2019/06/29(土) 00:57:04.16ID:???

wwww
Name_Not_Found [sage] 2019/06/29(土) 00:57:08.55ID:???
そうか?
必須派もケチつけてばかりじゃあないか
Name_Not_Found [sage] 2019/06/29(土) 01:05:00.08ID:???
let i = 10
do
console.log(--
i
)
while (i)

こんなのアリなのか
初めて知った
Name_Not_Found [sage] 2019/06/29(土) 01:09:22.03ID:???
■セミコロン必須派の主張
- 同じ文章を何度もコピペ
- 「つもり」を後付け
- 誤認によるセミコロン省略は「タイプミス」
- 作業工程を理解しても「タイプミス」「修正漏れ」「minifyによる圧縮」のミスは起きる
- セミコロン必須でも「タイプミス」「修正漏れ」「minifyによる圧縮」のミスは減る
- 作業工程も仕様も理解していてもミスるからセミコロンはつけよう
- 立証責任を放棄して相手に説明要求
- 答えを何度もはぐらかす
- ID:lh1CUoFSと省略派の区別がつかない
Name_Not_Found [sage] 2019/06/29(土) 01:11:11.28ID:???
元々セミコロンがある前提でスタートしたJavaScript
ASIはつけ忘れた時の補完用でしかないとは作者の言葉だ
セミコロンが嫌なら別の言語に行くべきだ
Name_Not_Found [sage] 2019/06/29(土) 01:18:07.59ID:???
i = 10; do console.log(--i); while (i)
i = 10; do console.log(--i); while (i) i = 10; do console.log(--i); while (i)
はokで
i = 10 do console.log(--i) while (i)
はエラー、なのか
Name_Not_Found [sage] 2019/06/29(土) 01:22:04.34ID:???
const f1 = function () { console.log(1) } const f2 = function () { console.log(2) }

f1() f2()
もエラー、と
Name_Not_Found [sage] 2019/06/29(土) 01:29:49.12ID:???
const a = 1
2
console.log(a)
はokで

const a = 1 2
とか
const a = 1
2 console.log(a)
とか
const a = 1 console.log(a)
とかはエラー、か
Name_Not_Found [sage] 2019/06/29(土) 01:30:31.45ID:???
このようにセミコロンを付けるとこんな気持ち悪い書き方ができます。
Name_Not_Found [sage] 2019/06/29(土) 01:32:41.35ID:???
のどこにセミコロン付いてるの?w
Name_Not_Found [sage] 2019/06/29(土) 01:48:43.84ID:???
minification 絶対にしないことが保証されているなら
セミコロンは省略しまくって良いんだろうね
Name_Not_Found [sage] 2019/06/29(土) 01:59:53.60ID:???
minificationは関係ない。なりすまし工作乙。
Name_Not_Found [sage] 2019/06/29(土) 05:29:01.38ID:???
ES6ってみんな使ってる?
Name_Not_Found [sage] 2019/06/29(土) 06:45:26.25ID:???
実際はセミコロン省略向けLintの設定もあるんだし
省略したからと言ってなにか問題になることはないよね
Name_Not_Found [sage] 2019/06/29(土) 07:05:49.89ID:???
これもう宗教論争だからね
善悪二元論でやりあってるうちは永遠に決着しないよ
Name_Not_Found [sage] 2019/06/29(土) 07:10:23.85ID:???
ifとかの{}も省略したらあかんのかな
Name_Not_Found [sage] 2019/06/29(土) 08:52:35.75ID:???
セミコロンね
もうすぐ暑い夏か
Name_Not_Found (ワッチョイ 138f-QRBW) [] 2019/06/29(土) 09:34:29.64:OPCKDJxz0

if ( condition )
// do something

なら問題ないよー
セミコロンの有無での差は、これから確認してみるね
Name_Not_Found [sage] 2019/06/29(土) 09:46:42.70ID:???
有名どころだとBootstrapがセミコロン省略派
よって、省略しても大規模プロジェクトできるのは証明済
好きにすりゃいいと思う
Name_Not_Found (ワッチョイ 138f-QRBW) [] 2019/06/29(土) 09:47:01.04:OPCKDJxz0

一部の mifniiier だとエラーになる可能性があったようだけど
今は全然問題ないの?
Name_Not_Found [sage] 2019/06/29(土) 09:53:47.40ID:???
セミコロンはPrettierがつけるもの
Name_Not_Found [sage] 2019/06/29(土) 09:57:21.06ID:???
Bootstrapを大規模っていうのはちょっと違うかな?
まあいいや、とにかくminifyも問題ないので
宗教論争してもしょうがないね

自分はセミコロンなんて基本prettierに打ってもらえばいいじゃん派です
Name_Not_Found (ワッチョイ 138f-QRBW) [] 2019/06/29(土) 10:01:51.78:OPCKDJxz0


先日の integer 問題ですが
console.log(Number.MAX_SAFE_INTEGER)
とかが参考になって、整数どうしの演算でも相応の範囲で誤差がでないっぽい…?

「拡張倍精度浮動小数点数」とか「四倍精度浮動小数点数」だと話が変わるっぽい…?


正確な所は今から調べるんで、妙なことを書いてたらごめんなさい
Name_Not_Found (ワッチョイ 138f-QRBW) [] 2019/06/29(土) 10:16:21.73:OPCKDJxz0

"ES6" が何を指すかによるんじゃないかなあ…?
「どういう機能を使い、どういうモノは避ける」みたいなのが示されれば、具体的な話も出来るかも

極論 IE11 でも「ES6 の範囲のだけど IE11 で問題ない」モノなら…
Name_Not_Found [] 2019/06/29(土) 11:02:11.44:Idr4GD0T
あるテキストをテキストエリアに入力
それを.element1.value で取得して整形
整形したテキストを element2.textContent で別のテキストエリアに出力
てのをやってる。
ここまではうまく出来た。

で、出力用のテキストエリアのテキストを、JSからじゃなくて、キーボードとか普通の方法で一度変更したりすると
その後JSから .textContentを使って出力ができなくなる。

これどうして?回避方法ある?
Name_Not_Found [sage] 2019/06/29(土) 11:40:54.99ID:???
textareaの書き換えなら、textContentではなくvalueじゃないのか?
ttp://https://jsfiddle.net/8e64dmr7/
Name_Not_Found [] 2019/06/29(土) 12:19:05.04:Idr4GD0T

value でできました。
最初 value でやってたけど出来ないからtextContentにしたんだけど
なんでだろう…。
最初はボックス一つでインプットボックスにアウトプットしてたからなのかな?
Name_Not_Found [sage] 2019/06/29(土) 12:45:07.21ID:???

JSのNumber基本数値はDoubleなんだから
Doubleで整数が1刻みで表せる値の間に計算結果が収まる限り誤差は出ない
それかNumberの代わりにBignumを使うと良い
Name_Not_Found (ワッチョイ 138f-QRBW) [] 2019/06/29(土) 13:18:53.54:OPCKDJxz0

御返答、ありがとうございます。

Chrome 75 系では
console.log(typeof 1152921504606846976n)
は bigint でした。



MDN では Firefox 68系で BigInt のサポートが始まる予定と書かれていますが
ベータ版で確認してみるのも手…なのでしょうか

なにぶん今 Windows8.1 なので、カナリア EDGE は…他に影響ないなら使ってみても良い…?
Name_Not_Found [sage] 2019/06/29(土) 18:11:31.50ID:???
必要なら躊躇せず使えばいい
もしくはwith-proxyでも実装は大変だがスマートにかける
それか面倒くさいbigint系ライブラリで妥協するか
642 [sage] 2019/06/29(土) 18:17:03.19ID:???
(*´艸`*)
Name_Not_Found [] 2019/06/29(土) 20:10:44.38:Idr4GD0T
ぐぐるとjsfiddleをvimモードで操作できるってかいてるけど
vimなんて選択肢keymapにないけどどういうこと?
Name_Not_Found [] 2019/06/29(土) 20:15:20.16:Idr4GD0T
自己解決
vimはなくしたようですね。
Name_Not_Found [] 2019/06/30(日) 18:01:04.75:5hpWwe94
DOMSubtreeModifiedが非推奨とのことですがどのように書き換えたら良いでしょうか?

<div contenteditable></div>
<div contenteditable></div>

document.querySelectorAll( "[contenteditable]" ).forEach( function( value ) {
value.addEventListener( "DOMSubtreeModified", function( event ) {
console.log( value.innerText )
});
});
Name_Not_Found [sage] 2019/06/30(日) 18:13:26.97ID:???
残しといていいんじゃない?
MutationObserver使えるブラウザの時だけ使うようにすれば
Name_Not_Found [sage] 2019/06/30(日) 18:44:01.25ID:???
document.querySelectorAll("[contenteditable]").forEach(node => {
new MutationObserver(records => {
console.log(node.innerText);
}).observe(node, { childList: true, subtree: true });
});
Name_Not_Found [sage] 2019/07/01(月) 10:34:57.08ID:???

ありがとうございました
Name_Not_Found [sage] 2019/07/02(火) 01:38:44.20ID:???
質問です
同一平面上に散るn個の点の
他の点との距離を全て計算したいんですが
どうすると計算回数少なくなりますかね?
Name_Not_Found [sage] 2019/07/02(火) 06:01:37.29ID:???
プログラム板のアルゴリズムのスレで、聞けば?
Name_Not_Found [sage] 2019/07/02(火) 07:12:15.30ID:???
WebGLを利用してマトリックス演算するのが最も速い
Name_Not_Found [sage] 2019/07/02(火) 09:36:14.53ID:???
誘導されて来ました。
JavascriptでDataTablesが使われているときに
左上のselectをTampermonkeyから自動でselectedにしても
表が更新されません。
どうすればいいのでしょうか。
Name_Not_Found [sage] 2019/07/02(火) 19:12:57.71ID:???
・特定のイベントを起こす
・スクリプトに介入して関数を実行する
・今ある表は消して自分で表を作る
Name_Not_Found [sage] 2019/07/03(水) 17:35:35.77ID:???
初心者の質問ですみません
スクリプト側から「今ブラウザが(どの程度)アイドル状態か」を知る方法ってどんな手があるでしょうか?
タブを開いている最中(読み込んでいる最中)だとか、CPU負荷だとか色んな指標がありますが、
少なくとも今時分のタブだけじゃなく、ブラウザ全体での負荷量や作業量が知りたいのですが。
Name_Not_Found [sage] 2019/07/03(水) 18:03:50.92ID:???
いちサイトのスクリプト風情が、ユーザー様のブラウザのリソース情報をぶっこ抜きたいという話?
Name_Not_Found [sage] 2019/07/03(水) 18:11:10.87ID:???

スクリプトからは自分の情報しか見れません。
他の情報は見れたら困る。絶対禁止。
Name_Not_Found [sage] 2019/07/03(水) 18:45:59.62ID:???
へー、どうやってスクリプトから自分の情報見んだよ。書いてみろよ。
Name_Not_Found [sage] 2019/07/03(水) 19:43:32.92ID:???


タブ割当メモリを見る(他のタブにも影響される)
performance.memory (.measureMemory策定中)

CPUの稼働状況を測る
performance.profile()

表示負荷を書けたくない描画は
requestPostAnimationFrame

アイドル中に処理がしたければ
requestIdleCallback

システムがロックされていたり、ユーザーのアイドル状態を検知するには
IdleDetector
Name_Not_Found [sage] 2019/07/03(水) 20:35:09.81ID:???

ありがとうございます
まさにrequestIdleCallback が目的のことに使えそうでした
急ぎではない処理を、ブラウザの他の重い作業(他のタブの作業やブラウザアドオン等)の邪魔をせずに始めたい
(そうしないとブラウザが果てしなく重くなり自分にとっても操作が緩慢になるだけなので)という要求があったのですが
こういう機能がついたということは他の人にとってもこれが欲しい状況はあるあるだったのでしょうね。
それにしてもこういう便利な機能を網羅的につらつら読んで知っていける本ってあるのでしょうか
Name_Not_Found [sage] 2019/07/03(水) 20:58:00.20ID:???

とりあえずここでも見たら?
ttp://https://www.chromestatus.com/features
HTML5ムーブメント時代からの重要点が1500項目くらいにまとまってるので
HTML、HTML5の基本を勉強してこれを全部読み、さらに興味があるものを深掘りするのが良いと思う
Name_Not_Found [sage] 2019/07/04(木) 12:00:10.54ID:???
質問です(初心者です)

{(ストレージなど)を読み、加工して、書き込む}、という一連の処理部分があるとします、
そこを実行してる時に他の同類の処理が並行して走ると、ストレージの加工の前後関係が崩れてしまうという時に
{}内の動作だけは他の(タブやスレッドの?)処理を止めたい、割り込まれたくない、という時はどうしたらいいんでしょうか?
Name_Not_Found [sage] 2019/07/04(木) 12:36:44.39ID:???

一連だけど同期的じゃないんだよね
ほぼ同期的ならIDBでwriteモードで開けば
その間は他はwriteモードで開けない
汎用的にやるならLock APIを使って皆で管理する
Name_Not_Found [sage] 2019/07/04(木) 16:11:12.75ID:???
DBで制御するという手は打てない?
Name_Not_Found [sage] 2019/07/05(金) 07:07:43.26ID:???
DBに制御する機能が無いなら
皆でルールを守って使うということになる
Name_Not_Found [sage] 2019/07/05(金) 13:01:21.41ID:???
ユーザからの入力文字数を一定以内に制限する必要があるのですが、
CSSで使える色名は何文字にするのが良いでしょうか?
rebeccapurpleのようにいきなり色んな理由で長名の色が入る事があるのではないかと危惧しています。
かと言って合理的で最小限の数値としてその数字を選んだ根拠を示さないと行けないので十分余裕を持って50文字とか、ちょっとキリ良く20文字位にする的な決定はできません。
Name_Not_Found (ワッチョイ 238f-26dl) [] 2019/07/05(金) 13:58:08.51:yJLLMlRM0

LineモバイルのID入力欄はこんなかんじ

<input type="text" name="loginAccount" class="md01InputTxt FnRequired FnOneByteAlphabetNumeric FnMin FnAllowEnterToGo"
maxlength="20" minlength="6" placeholder="ログインID" value="" />
Name_Not_Found (ワッチョイ 238f-26dl) [] 2019/07/05(金) 13:59:47.06:yJLLMlRM0

> CSSで使える色名

hex強制で6文字とか
Name_Not_Found [sage] 2019/07/05(金) 14:00:18.21ID:???
<input type="color">じゃダメなんですか?
Name_Not_Found (ワッチョイ 238f-26dl) [] 2019/07/05(金) 14:01:49.05:yJLLMlRM0
hexだと "6" だな
16進数強制で最大6文字(だめか)
Name_Not_Found [sage] 2019/07/05(金) 14:03:17.99ID:???

20年くらい前「なら」普通
Name_Not_Found [] 2019/07/05(金) 18:14:32.73:j+97lL/8
+ JavaScript の質問用スレッド vol.141 +
ttps://mevius.5ch.net/test/read.cgi/hp/1562318008/
Name_Not_Found [] 2019/07/06(土) 10:51:43.78:lnUTT+U+
一つのボタンに2つのイベントリスナってつけられますか?
なんとかしてできないでしょうか?
ユーザスクリプトで既存のサイトのボタンにイベントリスナを追加したいのですが。
Name_Not_Found [] 2019/07/06(土) 11:05:47.47:lnUTT+U+
あ、addEventListenerでふつうにできるっぽいかな?
Name_Not_Found (ワッチョイ 8332-NNEM) [sage] 2019/07/06(土) 11:13:21.23ID:???0
はい
Name_Not_Found [sage] 2019/07/06(土) 20:31:55.54ID:???
複数のイベントリスナをつけるためのaddEventListener
.onclick=とかだと1個しか付けられなかった
Name_Not_Found [sage] 2019/07/06(土) 20:35:02.46ID:???
チラシの裏ですけれども
はあ、バグが取れない…
半日取り組んで成果なし。
もう疲れたよ…
Name_Not_Found [sage] 2019/07/07(日) 01:14:10.59ID:???

分かる
Name_Not_Found [sage] 2019/07/07(日) 02:33:24.43ID:???
なんとかドリブン
なんとかファースト
Name_Not_Found [sage] 2019/07/07(日) 02:41:51.59ID:???

数の問題ではない
Name_Not_Found [sage] 2019/07/07(日) 08:28:46.54ID:???
jQuery なら、こういう感じ。
「jquery event 複数」で検索!

$( 'CSS セレクター' ).on('click mouseenter', function() { 処理 } )

$( 'CSS セレクター' ).on({
'mouseenter': function() { 処理 },
'mouseleave': function() { 処理 }
})
Name_Not_Found [] 2019/07/07(日) 12:16:27.93:8iiFsdca
objectとarrayの違いってなんだっけ
Name_Not_Found [sage] 2019/07/07(日) 13:18:07.45ID:???
数字プロパティやlengthプロパティへのアクセスをケアする機能を持ったオブジェクトがarray
Name_Not_Found [sage] 2019/07/07(日) 14:52:03.86ID:???

ありがとう
Name_Not_Found [sage] 2019/07/07(日) 16:49:57.06ID:???

ttp://https://www.google.com/search?q=mouseover+mouseenter+%E9%81%95%E3%81%84&oq=mouseover+mouseenter

コレって役に立つ?
Name_Not_Found [sage] 2019/07/07(日) 16:50:23.14ID:???
ttp://https://www.google.com/search?q=mouseover+mouseenter+%E9%81%95%E3%81%84

まちがえた
Name_Not_Found [sage] 2019/07/07(日) 16:57:43.29ID:???

自分で試せば分かる事は自分で試す、基本
Name_Not_Found [sage] 2019/07/08(月) 17:08:56.97ID:???

ttp://https://jsbin.com/fuqiqat/edit?html,js,output

こんなの参考になるかなあ…?
アホなコードが入ってたらごめんなさい
Name_Not_Found [sage] 2019/07/09(火) 03:29:25.21ID:???
ニートだけどhtml cssやってjs jquery勉強中だけど、どれぐらいできるようになったら就職していい?
Name_Not_Found [sage] 2019/07/09(火) 08:31:40.88ID:???
働いてみれば分かる
Name_Not_Found [sage] 2019/07/09(火) 12:24:08.01ID:???

知識・技術がいくらあってもそんなにage評価されん
技術・知識がちょっとでも足りないとsage評価されっけど

なので出来ないことが無いように頑張れ
あったら全力で隠して、依頼があってから死ぬ気で身につけよう
Name_Not_Found [sage] 2019/07/09(火) 14:23:47.67ID:???

ちまたにある tips とされるもののうち
20個くらい間違ってると発見できたら
そのコード提出した上で職探すよろし

次スレで FAQ として掲げられたページの
カビ臭い部分全部直す、とかね
Name_Not_Found [sage] 2019/07/09(火) 16:11:16.89ID:???

サンクス、時間だけはあるから色んなサイトで一通りやってくるわ
Name_Not_Found [sage] 2019/07/10(水) 07:14:49.33ID:???
・うるう年判別コードを Date 型をもちいて実装せよ
・ゼロパディング("3" -> "0003") を、if も slice も使わずに実装せよ
・0.1 + 0.1 = 0.2 というふうに誤差が出ないように、小数と小数の和を求めよ

…とか…
Name_Not_Found [sage] 2019/07/10(水) 08:01:18.59ID:???
それが基礎になるから、

Linux の数十の基本コマンド・シェルスクリプトと、
Ruby で、Sinatra をいじくって、Rails やれば、サーバー側のウェブプログラマー!

Rubyからは飛躍的に世界が広がるから、Kotlin, Go にも行ける
Name_Not_Found [sage] 2019/07/10(水) 10:14:07.06ID:???
Ruby なんかをやる時間があったら Python をやりましょう
Name_Not_Found [sage] 2019/07/10(水) 11:55:20.46ID:???
Rubyの世界は飛躍的に狭まってるがなw
Name_Not_Found [sage] 2019/07/10(水) 12:03:00.06ID:???
Rubyより jQuery の方が優先順位は遥かに高かろう
最初は jQuery なんて「そんな名前のものがあるんだな」程度でガン無視で良い
Name_Not_Found [sage] 2019/07/12(金) 06:42:10.68ID:???

今だったらLayoutAPI使ってgrid再現したり
PaintAPIでカスタムボタン要素作ってみたり
Houdini系を巧みに扱えればHTML、CSS、JSの技術と
一連のレンダリングフローの知識があると評価してもらえると思うよ
Name_Not_Found [sage] 2019/07/27(土) 10:23:40.77ID:???
100点満点中1点ぐらいだろうけどな
(そんなもんやればわかること)
Name_Not_Found [] 2019/07/31(水) 17:30:00.05:nbAt67+R

<br/>は?
Name_Not_Found [sage] 2019/08/26(月) 07:42:01.11ID:???
埋め
Name_Not_Found [sage] 2019/08/31(土) 01:24:32.98ID:???
スムーズスクロールをJSで書こうとしたけど駄目でした。
難しい・・・・
Name_Not_Found [sage] 2019/08/31(土) 23:47:58.05ID:???
うめ
Name_Not_Found [sage] 2019/09/03(火) 01:41:33.78ID:???
ume
Name_Not_Found [sage] 2019/09/03(火) 23:43:39.12ID:???
Name_Not_Found [sage] 2019/09/04(水) 19:51:22.19ID:???
埋め
Name_Not_Found [sage] 2019/09/06(金) 12:43:28.12ID:???
ume
Name_Not_Found [sage] 2019/09/06(金) 18:36:52.18ID:???

頑張れ

でもScrollIntoView()だけで済むようになっちゃうかも…
Name_Not_Found [sage] 2019/09/07(土) 09:06:12.03ID:???
うめ
Name_Not_Found [sage] 2019/09/07(土) 16:18:39.00ID:???
Name_Not_Found [sage] 2019/09/07(土) 21:54:13.68ID:???
埋め
Name_Not_Found [sage] 2019/09/08(日) 11:59:29.86ID:???
うめ
Name_Not_Found [sage] 2019/09/14(土) 22:09:21.40ID:???
埋め
Name_Not_Found [sage] 2019/09/15(日) 12:46:09.74ID:???
ume
Name_Not_Found [sage] 2019/09/15(日) 15:53:55.25ID:???

勢い5万以上のスレをメールでお知らせするサービス、実施中!!
憧れボディをGETしたい!その夢、ボニックで!

新着レスの表示

2ch勢いランキング アーカイブ Web制作板ランキング

凡例:

レス番

100 (赤) → 2つ以上レスが付いている
100 (紫) → 1つ以上レスが付いている

名前

名無しさん (青) → sage のレス
名無しさん (緑) → age のレス

ID

ID:xxxxxxx (赤) → 発言が3つ以上のID
ID:xxxxxxx (青) → 発言が2つ以上のID

このページは2ch勢いランキングが作成したアーカイブです。削除についてはこちら