JavaScript を自ら学ぶ人のための質問スレッドです。
次スレは>>950が(本スレで改善案があれば考慮して)立ててください
■規則/推奨ルール
質問者は !slip:vvvvv を名前欄に、その後は「レス番」+!slip:vvvvv
・質問内容は具体的に。言葉だけでなく、出来る限り再現性を確認したサンプルコードの掲示。
・質問テンプレートの利用推奨。
・質問への「答え」から解離した議論はよそでやること。
■禁止行為
・丸投げ質問
・迷惑スクリプトの質問
・オレオレ用語の使用(一般的な用語を使用する事)
・煽り、批判等の他人を不快にさせる行為
■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。
【条件】期待する回答の条件を書いてください。
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
1レスに収まらないならコード投稿サイトを利用してください。
http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/
■回答者へ
・回答には多様性があります。他人の回答を尊重してください
・動作ブラウザや環境が限られる場合は、それを明記してください
・他人の回答を批判する代わりに、自分ならこう書くという例を示してください
・質問者がJavaScriptでなければ実現できないと勘違いしてるなら、その否定としてHTMLとCSSで実装しても良い
・他人の回答を見たくないのであれば、文句をつける代わりにNGにして見えないようにしてください。文句をつける=荒らしです
■前スレ
+ JavaScript の質問用スレッド vol.140 +
https://mevius.5ch.net/test/read.cgi/hp/1558249632/
探検
+ JavaScript の質問用スレッド vol.141 +
レス数が1000を超えています。これ以上書き込みはできません。
1Name_Not_Found
2019/07/05(金) 18:13:28.39ID:j+97lL/82Name_Not_Found
2019/07/05(金) 18:15:18.49ID:j+97lL/8 2 名前:Name_Not_Found[] 投稿日:2019/05/19(日) 16:08:41.33 ID:2J4OYdDV
■FAQ
◆開発者ツール(Developer Tools)の基本的な使い方
▼諸注意
- 本説明では Google Chrome の開発者ツールの名称に従います。他ブラウザで使う場合は適宜読み替えて下さい。
- Edge- でコンソールを使うには予め開発者ツールを起動しておく必要があります(開発者ツールを起動しないと console.log() が機能しません)
- Safari はデフォルトで開発者ツールが無効な為、有効に設定する必要があります。
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 型の中身をそのまま表示してくれます。)
■FAQ
◆開発者ツール(Developer Tools)の基本的な使い方
▼諸注意
- 本説明では Google Chrome の開発者ツールの名称に従います。他ブラウザで使う場合は適宜読み替えて下さい。
- Edge- でコンソールを使うには予め開発者ツールを起動しておく必要があります(開発者ツールを起動しないと console.log() が機能しません)
- Safari はデフォルトで開発者ツールが無効な為、有効に設定する必要があります。
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 型の中身をそのまま表示してくれます。)
3Name_Not_Found
2019/07/05(金) 18:16:00.72ID:j+97lL/8 ■FAQ(続き)
◆JavaScriptの実行速度
JavaScriptの速度は「ブラウザ名」「ブラウザのバージョン」「PCスペック」に依存します(ブラウザのバージョン毎に最適化具合が異なります)。
速度の疑問解消の為に 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
http://bclary.com/2004/11/07/ (ECMAScript 3 HTML版)
http://www2u.biglobe.ne.jp/~oz-07ams/2002/ecma262r3/ (ECMAScript 3 和訳)
http://www.ecma-international.org/ecma-262/5.1/ (ECMAScript 5.1 HTML版)
http://tsofthome.appspot.com/ecmascript.html (ECMAScript 5.1 和訳)
http://www.ecma-international.org/ecma-262/6.0/ (ECMAScript 6 / ECMAScript 2015)
http://kangax.github.io/compat-table/es5/ (ECMAScript 5 compatibility table)
http://kangax.github.io/compat-table/es6/ (ECMAScript 6 compatibility table)
◆ HTML Standard (HTML5)
http://www.whatwg.org/specs/web-apps/current-work/multipage/
http://momdo.s35.xrea.com/web-html-test/spec/WD-html51-20130528/Overview.html (HTML5.1 部分訳)
http://www.hcn.zaq.ne.jp/___/WEB/WebStorage-ja.html (Web Storage 和訳)
◆JavaScriptの実行速度
JavaScriptの速度は「ブラウザ名」「ブラウザのバージョン」「PCスペック」に依存します(ブラウザのバージョン毎に最適化具合が異なります)。
速度の疑問解消の為に 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
http://bclary.com/2004/11/07/ (ECMAScript 3 HTML版)
http://www2u.biglobe.ne.jp/~oz-07ams/2002/ecma262r3/ (ECMAScript 3 和訳)
http://www.ecma-international.org/ecma-262/5.1/ (ECMAScript 5.1 HTML版)
http://tsofthome.appspot.com/ecmascript.html (ECMAScript 5.1 和訳)
http://www.ecma-international.org/ecma-262/6.0/ (ECMAScript 6 / ECMAScript 2015)
http://kangax.github.io/compat-table/es5/ (ECMAScript 5 compatibility table)
http://kangax.github.io/compat-table/es6/ (ECMAScript 6 compatibility table)
◆ HTML Standard (HTML5)
http://www.whatwg.org/specs/web-apps/current-work/multipage/
http://momdo.s35.xrea.com/web-html-test/spec/WD-html51-20130528/Overview.html (HTML5.1 部分訳)
http://www.hcn.zaq.ne.jp/___/WEB/WebStorage-ja.html (Web Storage 和訳)
4Name_Not_Found
2019/07/05(金) 18:16:34.32ID:j+97lL/8 ■各種仕様 (続き)
◆ Document Object Model (DOM) / CSS Object Model (CSSOM)
http://www.hcn.zaq.ne.jp/___/WEB/DOM4-ja.html (DOM Standard (DOM4) 和訳)
http://www.w3.org/TR/DOM-Level-3-Events/ (DOM3 Events)
http://www.w3.org/TR/uievents/ (UI Events)
http://www.hcn.zaq.ne.jp/___/WEB/cssom-ja.html (CSSOM 和訳)
http://www.hcn.zaq.ne.jp/___/WEB/cssom-view-ja.html (CSSOM View Module 和訳)
◆ その他のWeb関連仕様
http://domparsing.spec.whatwg.org/ (DOM Parsing and Serialization - innerHTML等)
http://www.hcn.zaq.ne.jp/___/WEB/XHR-ja.html (XMLHttpRequest 和訳)
http://www.hcn.zaq.ne.jp/___/WEB/File_API-ja.html (File API 和訳)
http://www.whatwg.org/specs/ (WHATWGの仕様一覧)
◆ MDN (Netscape/Mozilla)
https://developer.mozilla.org/ja/docs
◆ MSDN Library
https://msdn.microsoft.com/en-us/library/ie/hh828809 (Internet Explorer API)
http://msdn.microsoft.com/ja-jp/library/yek4tbz0.aspx (JavaScript)
http://msdn.microsoft.com/ja-jp/library/cc427807.aspx (JScript)
http://msdn.microsoft.com/ja-jp/library/cc409712.aspx (DHTML)
◆ JavaScript Garden (ja)
http://bonsaiden.github.com/JavaScript-Garden/ja/
◆ JSON (JavaScript Object Notation)
http://www.json.org/json-ja.html
■テンプレ案
http://fiddle.jshell.net/fH4cC/180/show/light/
■FAQ
http://fiddle.jshell.net/vSqKr/44/show/light/
◆ Document Object Model (DOM) / CSS Object Model (CSSOM)
http://www.hcn.zaq.ne.jp/___/WEB/DOM4-ja.html (DOM Standard (DOM4) 和訳)
http://www.w3.org/TR/DOM-Level-3-Events/ (DOM3 Events)
http://www.w3.org/TR/uievents/ (UI Events)
http://www.hcn.zaq.ne.jp/___/WEB/cssom-ja.html (CSSOM 和訳)
http://www.hcn.zaq.ne.jp/___/WEB/cssom-view-ja.html (CSSOM View Module 和訳)
◆ その他のWeb関連仕様
http://domparsing.spec.whatwg.org/ (DOM Parsing and Serialization - innerHTML等)
http://www.hcn.zaq.ne.jp/___/WEB/XHR-ja.html (XMLHttpRequest 和訳)
http://www.hcn.zaq.ne.jp/___/WEB/File_API-ja.html (File API 和訳)
http://www.whatwg.org/specs/ (WHATWGの仕様一覧)
◆ MDN (Netscape/Mozilla)
https://developer.mozilla.org/ja/docs
◆ MSDN Library
https://msdn.microsoft.com/en-us/library/ie/hh828809 (Internet Explorer API)
http://msdn.microsoft.com/ja-jp/library/yek4tbz0.aspx (JavaScript)
http://msdn.microsoft.com/ja-jp/library/cc427807.aspx (JScript)
http://msdn.microsoft.com/ja-jp/library/cc409712.aspx (DHTML)
◆ JavaScript Garden (ja)
http://bonsaiden.github.com/JavaScript-Garden/ja/
◆ JSON (JavaScript Object Notation)
http://www.json.org/json-ja.html
■テンプレ案
http://fiddle.jshell.net/fH4cC/180/show/light/
■FAQ
http://fiddle.jshell.net/vSqKr/44/show/light/
5Name_Not_Found
2019/07/05(金) 18:17:20.21ID:j+97lL/8 ■参考URL
ダウンロード、CDN
http://jquery.com/download/
ブラウザサポート
http://jquery.com/browser-support/
jQuery UI
http://jqueryui.com/
jQuery UI ダウンロ−ド
http://jqueryui.com/download/
リファレンス等
http://alphasis.info/
http://www.jquerystudy.info/
http://js.studio-kingdom.com/
【翻訳まとめ】jQuery 3.0 アップグレードガイド - Qiita
http://qiita.com/fmy/items/345a264a1cf2e2a73f62
ダウンロード、CDN
http://jquery.com/download/
ブラウザサポート
http://jquery.com/browser-support/
jQuery UI
http://jqueryui.com/
jQuery UI ダウンロ−ド
http://jqueryui.com/download/
リファレンス等
http://alphasis.info/
http://www.jquerystudy.info/
http://js.studio-kingdom.com/
【翻訳まとめ】jQuery 3.0 アップグレードガイド - Qiita
http://qiita.com/fmy/items/345a264a1cf2e2a73f62
6Name_Not_Found
2019/07/05(金) 18:17:53.79ID:j+97lL/8 ■JavaScript主要ライブラリ・フレームワーク
jQuery
http://jquery.com/
jQuery UI
http://jqueryui.com/
jQuery Mobile
http://jquerymobile.com/
Lo-Dash
https://lodash.com/
Backbone.js
http://backbonejs.org/
Underscore.js
http://underscorejs.org/
AngularJS
https://angularjs.org/
Knockoutjs
http://knockoutjs.com/
RequireJS
http://requirejs.org/
D3.js
http://d3js.org/
threejs
http://threejs.org/
jQuery
http://jquery.com/
jQuery UI
http://jqueryui.com/
jQuery Mobile
http://jquerymobile.com/
Lo-Dash
https://lodash.com/
Backbone.js
http://backbonejs.org/
Underscore.js
http://underscorejs.org/
AngularJS
https://angularjs.org/
Knockoutjs
http://knockoutjs.com/
RequireJS
http://requirejs.org/
D3.js
http://d3js.org/
threejs
http://threejs.org/
7Name_Not_Found
2019/07/05(金) 18:18:26.66ID:j+97lL/8 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に一本化されました。
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に一本化されました。
8Name_Not_Found
2019/07/05(金) 18:19:08.33ID:j+97lL/8 ■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
(ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
※必ず「問題の事象が再現されること」を確認してください。
必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
(ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
※必ず「問題の事象が再現されること」を確認してください。
必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
9Name_Not_Found
2019/07/05(金) 18:21:17.89ID:j+97lL/8 ■JavaScript主要ライブラリ・フレームワーク 利用率
https://w3techs.com/technologies/overview/javascript_library/all
ライブラリ固有の質問はこちらへ
JavaScript ライブラリ総合質問所 vol.5
https://mevius.5ch.net/test/read.cgi/hp/1465399470/
>>1 私見
べつに lodash だけを特別視する訳ではありませんが、vanilla JS だと長くなるコードが
lodash ならサクっと書けるコードがあったりします。
「別解として lodash の短いコードを出す」くらいはココでも良いような気がします(あくまで私見)
https://w3techs.com/technologies/overview/javascript_library/all
ライブラリ固有の質問はこちらへ
JavaScript ライブラリ総合質問所 vol.5
https://mevius.5ch.net/test/read.cgi/hp/1465399470/
>>1 私見
べつに lodash だけを特別視する訳ではありませんが、vanilla JS だと長くなるコードが
lodash ならサクっと書けるコードがあったりします。
「別解として lodash の短いコードを出す」くらいはココでも良いような気がします(あくまで私見)
2019/07/05(金) 21:34:57.15ID:???
11Name_Not_Found
2019/07/05(金) 23:25:49.42ID:j+97lL/8 言い出しっぺの法則は滅んだのか
2019/07/06(土) 04:20:24.63ID:???
2019/07/06(土) 06:40:03.23ID:???
2019/07/06(土) 09:09:19.91ID:???
15Name_Not_Found
2019/07/06(土) 11:48:03.83ID:CFoZXQXg >>14
あっちにライブラリのテンプレが入ってないから
やむをえないでしょう
「そもそもあっちとは遥かに勢いが違う」というのも否めない
それだけ「ライブラリ固有の質問に需要がない」といえるのかも知れない
ただ lodash だと短く書けるという話はチラホラ出てるから
こっちで敢えて lodash 全面禁止する必要性があるかどうか…?
あっちにライブラリのテンプレが入ってないから
やむをえないでしょう
「そもそもあっちとは遥かに勢いが違う」というのも否めない
それだけ「ライブラリ固有の質問に需要がない」といえるのかも知れない
ただ lodash だと短く書けるという話はチラホラ出てるから
こっちで敢えて lodash 全面禁止する必要性があるかどうか…?
162 の後半
2019/07/06(土) 11:52:48.99ID:CFoZXQXg ■各種仕様
◆ Standard ECMA-262
http://www.ecma-international.org/ecma-262/6.0/ (ECMAScript 2015, いわゆる ES6)
https://www.ecma-international.org/ecma-262/9.0/ (ECMAScript 2018)
https://tc39.es/ecma262/ (ECMA-262 最新ドラフト)
◆ HTML Standard (HTML5)
http://www.whatwg.org/specs/web-apps/current-work/multipage/
http://momdo.s35.xrea.com/web-html-test/spec/WD-html51-20130528/Overview.html (HTML5.1 部分訳)
http://www.hcn.zaq.ne.jp/___/WEB/WebStorage-ja.html (Web Storage 和訳)
削るべきか要審議
http://www.ecma-international.org/ecma-262/5.1/ (ECMAScript 5.1 HTML版)
http://tsofthome.appspot.com/ecmascript.html (ECMAScript 5.1 和訳)
http://kangax.github.io/compat-table/es5/ (ECMAScript 5 compatibility table)
http://kangax.github.io/compat-table/es6/ (ECMAScript 6 compatibility table)
◆ Standard ECMA-262
http://www.ecma-international.org/ecma-262/6.0/ (ECMAScript 2015, いわゆる ES6)
https://www.ecma-international.org/ecma-262/9.0/ (ECMAScript 2018)
https://tc39.es/ecma262/ (ECMA-262 最新ドラフト)
◆ HTML Standard (HTML5)
http://www.whatwg.org/specs/web-apps/current-work/multipage/
http://momdo.s35.xrea.com/web-html-test/spec/WD-html51-20130528/Overview.html (HTML5.1 部分訳)
http://www.hcn.zaq.ne.jp/___/WEB/WebStorage-ja.html (Web Storage 和訳)
削るべきか要審議
http://www.ecma-international.org/ecma-262/5.1/ (ECMAScript 5.1 HTML版)
http://tsofthome.appspot.com/ecmascript.html (ECMAScript 5.1 和訳)
http://kangax.github.io/compat-table/es5/ (ECMAScript 5 compatibility table)
http://kangax.github.io/compat-table/es6/ (ECMAScript 6 compatibility table)
17Name_Not_Found
2019/07/06(土) 11:54:59.58ID:CFoZXQXg 3 の後半、だった
18Name_Not_Found
2019/07/06(土) 11:56:10.03ID:CFoZXQXg >>4 は多分誰も読んでないから全て削除で良いかと
即死判定は事実上ないから
即死判定は事実上ないから
19Name_Not_Found
2019/07/06(土) 11:57:24.56ID:CFoZXQXg 読んでいる人が殆ど居ないかも知れないが
>>8 は 2 へ繰り上げる方が良いかも
>>8 は 2 へ繰り上げる方が良いかも
20Name_Not_Found
2019/07/06(土) 11:58:45.88ID:CFoZXQXg 現時点での >>2 の必要性は、私には分からん
要らんという意見が多数を占めるなら、以後削ることになろうかと
要らんという意見が多数を占めるなら、以後削ることになろうかと
21Name_Not_Found
2019/07/06(土) 12:03:19.15ID:CFoZXQXg >>3 の前半も、
「要らん」という意見が多数を占めるなら(以下同文
「要らん」という意見が多数を占めるなら(以下同文
22Name_Not_Found
2019/07/06(土) 12:05:34.80ID:CFoZXQXg2019/07/06(土) 13:44:55.22ID:???
くだらないことをしてるから、いつもどおり参戦したいんだが、
今、個人プロジェクトが架橋に入ってるので、
残念ながら放置。また次回のスレ立て頃に遊びに来るよ
今、個人プロジェクトが架橋に入ってるので、
残念ながら放置。また次回のスレ立て頃に遊びに来るよ
2019/07/06(土) 18:25:02.56ID:???
2019/07/06(土) 21:19:45.04ID:???
ECMAScript® 2019
https://www.ecma-international.org/ecma-262/10.0/
https://www.ecma-international.org/ecma-262/10.0/
2019/07/07(日) 04:17:37.73ID:???
2019/07/07(日) 04:48:13.15ID:???
2019/07/07(日) 04:52:23.22ID:???
2019/07/07(日) 05:43:02.00ID:???
>>1
> 質問者は !slip:vvvvv を名前欄に、その後は「レス番」+!slip:vvvvv
前スレでは「回答者だけ」だったルールが「質問者だけ」に改変した意図を詳しく
https://mevius.5ch.net/test/read.cgi/hp/1558249632/22
公平性を期すなら「両方」に課すべきルールだと思う
まあ、「任意ルールは守られない強制すべき」という結論が前スレで出ているわけだが、性善説でルールを決めたのなら公平にすべき
> 質問者は !slip:vvvvv を名前欄に、その後は「レス番」+!slip:vvvvv
前スレでは「回答者だけ」だったルールが「質問者だけ」に改変した意図を詳しく
https://mevius.5ch.net/test/read.cgi/hp/1558249632/22
公平性を期すなら「両方」に課すべきルールだと思う
まあ、「任意ルールは守られない強制すべき」という結論が前スレで出ているわけだが、性善説でルールを決めたのなら公平にすべき
2019/07/07(日) 07:04:52.02ID:???
強制じゃないと効果なしと前スレで散々言われたのに、なぜ強制でなく、しかも質問者に絞ったのか?
2019/07/07(日) 09:03:23.07ID:???
仕様関連で最低限残すべきは、ES2019, HTML Standard, DOM関連ぐらいで、それ以外はFAQのリンク集に追加するぐらいでいい
http://fiddle.jshell.net/vSqKr/44/show/light/
Conpatibilityはcaniuseあたりが妥当か
ライブラリは向こうでやって
http://fiddle.jshell.net/vSqKr/44/show/light/
Conpatibilityはcaniuseあたりが妥当か
ライブラリは向こうでやって
2019/07/07(日) 13:33:06.54ID:???
+ JavaScript の質問用スレッド vol.140 +
https://mevius.5ch.net/test/read.cgi/hp/1558249632/22
22 名前:Name_Not_Found (ワッチョイ 938f-h/tS)[] 投稿日:2019/05/23(木) 08:49:53.51 ID:t2rWukz00
前スレから。
このスレは age 進行でお願いします。
質問者は !slip:vvvvv を名前欄に、その後は「レス番」+!slip:vvvvv
回答者は !slip:vvvvv を名前欄に
質問者のかたは
1!slip:vvvvv
みたいなかんじで、よろしくお願いいたします。
https://mevius.5ch.net/test/read.cgi/hp/1558249632/22
22 名前:Name_Not_Found (ワッチョイ 938f-h/tS)[] 投稿日:2019/05/23(木) 08:49:53.51 ID:t2rWukz00
前スレから。
このスレは age 進行でお願いします。
質問者は !slip:vvvvv を名前欄に、その後は「レス番」+!slip:vvvvv
回答者は !slip:vvvvv を名前欄に
質問者のかたは
1!slip:vvvvv
みたいなかんじで、よろしくお願いいたします。
2019/07/07(日) 13:38:23.17ID:???
>>28
jQuery / lodash ともに全面禁止にするべきなの?
jQuery / lodash ともに全面禁止にするべきなの?
2019/07/07(日) 13:39:31.73ID:???
主要ライブラリ列挙は要らんな
それがどんなライブラリなのかの文章がないと紹介にならないし
それがどんなライブラリなのかの文章がないと紹介にならないし
2019/07/07(日) 13:42:56.93ID:???
>>33
例外を認めるぐらいなら禁止した方がいい
例外を認めるぐらいなら禁止した方がいい
2019/07/07(日) 13:48:40.72ID:???
>>33
全面禁止じゃないけど
サポートする範囲としてはES仕様と、Web標準だけというのを明記したほうがいい
特定のライブラリの機能の質問はライブラリスレですること
このライブラリを使わないといけないんですとかいうのは金払って依頼しなさいということになる
あとはパフォーマンスやらブラウザ固有の機能や実装問題も対象外
全面禁止じゃないけど
サポートする範囲としてはES仕様と、Web標準だけというのを明記したほうがいい
特定のライブラリの機能の質問はライブラリスレですること
このライブラリを使わないといけないんですとかいうのは金払って依頼しなさいということになる
あとはパフォーマンスやらブラウザ固有の機能や実装問題も対象外
2019/07/07(日) 14:12:45.28ID:???
つまりReactやAngularも禁止ってこと?
2019/07/07(日) 14:14:05.22ID:???
ライブラリスレでやればいい
2019/07/07(日) 14:18:29.62ID:???
サポートとか良く分からんし、ココは無償サポートの場でもなし
ブラウザの機能や実装の話が対象外って意味分からん
ブラウザの機能や実装の話が対象外って意味分からん
2019/07/07(日) 14:29:46.47ID:???
2019/07/07(日) 14:35:35.14ID:???
実際に動くかどうかは二の次ってこと
つまり○○したいんですがどうすれば良いんですか?
Web標準の仕様にはあります。
(まだ実装されてません)
動くかどうかは話をしたくない
つまり○○したいんですがどうすれば良いんですか?
Web標準の仕様にはあります。
(まだ実装されてません)
動くかどうかは話をしたくない
2019/07/07(日) 14:38:16.99ID:???
もうそれならタイトルを変えたほうが良いんじゃねーの?
「JavaScriptとウェブ標準の仕様について語るスレ」にしたほうが良いでしょ
当初のスレの意味と違う話をしたいなら
「JavaScriptとウェブ標準の仕様について語るスレ」にしたほうが良いでしょ
当初のスレの意味と違う話をしたいなら
2019/07/07(日) 15:27:32.10ID:???
2019/07/07(日) 15:41:20.02ID:???
>>39,40
WebはWebであってブラウザのためのものではないから
Web標準もブラウザのためだけのものではない
ブラウザはWebのためにあっても、Webがブラウザのためにあるわけではない
Webの仕様から離れて実際ブラウザがどう動くかという話はブラウザスレでやってもらわないと
パフォーマンスの話も、基本的にそれはブラウザという1アプリの話なんだからスレチ
そもそもここはJS単体の質問スレ
だけどこのスレは今Web制作板にあるので外様APIはWeb APIを中心に話すべきということになる
ブラウザの話までは含まれない
WebはWebであってブラウザのためのものではないから
Web標準もブラウザのためだけのものではない
ブラウザはWebのためにあっても、Webがブラウザのためにあるわけではない
Webの仕様から離れて実際ブラウザがどう動くかという話はブラウザスレでやってもらわないと
パフォーマンスの話も、基本的にそれはブラウザという1アプリの話なんだからスレチ
そもそもここはJS単体の質問スレ
だけどこのスレは今Web制作板にあるので外様APIはWeb APIを中心に話すべきということになる
ブラウザの話までは含まれない
2019/07/07(日) 15:47:32.43ID:???
>>44
ここは「Web制作のJavaScriptスレ」であって「JavaScript仕様スレ」ではないぞ?
仕様の話に限定したいなら、仕様スレでやれ
第一、仕様を理解している人だけが質問対象者なら、今までの質問者は99%アウトだ
質問スレでそんな運用が可能とは思えん
ここは「Web制作のJavaScriptスレ」であって「JavaScript仕様スレ」ではないぞ?
仕様の話に限定したいなら、仕様スレでやれ
第一、仕様を理解している人だけが質問対象者なら、今までの質問者は99%アウトだ
質問スレでそんな運用が可能とは思えん
2019/07/07(日) 15:51:42.67ID:???
これは俺の好みについて言ってるんじゃないよ
テンプレ議論からのこのスレのポリシーについて話してる
Webというものがブラウザのためだけのものでなくなって久しいんだから
基本ポリシーとしてブラウザの話も受け入れるのならば
ブラウザ以外のWeb技術を導入しているプラットフォームの話題も受け入れないとおかしいことになる
俺はそれが実質無理だろうと思ったから、ブラウザも含めてプラットフォームの話は無しにしたほうがいいと言ってるのであって
もしなんでも受け入れてもいいよというのであれば、賛成する
だけどブラウザの話は受け入れるのに、ブラウザよりもスレが盛り上がっていない、
下手したら存在しない他のプラットフォームの質問を専用スレでやれと蹴り出すのはだめだと言っている
俺の好みの話をするならば、立派な外部スレが有るブラウザの話も受け入れるのであれば、
矮小な他プラットフォームは尚更ここで吸収してあげないといけないだろうということ
テンプレ議論からのこのスレのポリシーについて話してる
Webというものがブラウザのためだけのものでなくなって久しいんだから
基本ポリシーとしてブラウザの話も受け入れるのならば
ブラウザ以外のWeb技術を導入しているプラットフォームの話題も受け入れないとおかしいことになる
俺はそれが実質無理だろうと思ったから、ブラウザも含めてプラットフォームの話は無しにしたほうがいいと言ってるのであって
もしなんでも受け入れてもいいよというのであれば、賛成する
だけどブラウザの話は受け入れるのに、ブラウザよりもスレが盛り上がっていない、
下手したら存在しない他のプラットフォームの質問を専用スレでやれと蹴り出すのはだめだと言っている
俺の好みの話をするならば、立派な外部スレが有るブラウザの話も受け入れるのであれば、
矮小な他プラットフォームは尚更ここで吸収してあげないといけないだろうということ
2019/07/07(日) 15:53:21.50ID:???
2019/07/07(日) 15:55:39.70ID:???
Web制作板なんだから、「Web制作上、必要なJavaScript実装」は許容するに決まってるだろ
実装全体を禁止する理由がない
実装全体を禁止する理由がない
2019/07/07(日) 15:57:46.45ID:???
> 基本ポリシーとしてブラウザの話も受け入れるのならば
> ブラウザ以外のWeb技術を導入しているプラットフォームの話題も受け入れないとおかしいことになる
意味が分からん
JavaScriptなら受け入れるし、そうでないなら受け入れないんじゃないのか?
> ブラウザ以外のWeb技術を導入しているプラットフォームの話題も受け入れないとおかしいことになる
意味が分からん
JavaScriptなら受け入れるし、そうでないなら受け入れないんじゃないのか?
2019/07/07(日) 16:01:26.33ID:???
2019/07/07(日) 16:02:35.87ID:???
>>46
> 俺はそれが実質無理だろうと思ったから、ブラウザも含めてプラットフォームの話は無しにしたほうがいいと言ってるのであって
「無理な理由」が秘密主義で説得力皆無なんだけど
「Web技術を導入しているプラットフォーム」も曖昧だし
> 俺はそれが実質無理だろうと思ったから、ブラウザも含めてプラットフォームの話は無しにしたほうがいいと言ってるのであって
「無理な理由」が秘密主義で説得力皆無なんだけど
「Web技術を導入しているプラットフォーム」も曖昧だし
2019/07/07(日) 16:08:12.86ID:???
>>51
俺は100スレ以上前からいるが
過去ここで古くはWinメトロの話題からNode上でのStreamの話題や
様々なプラットフォームの質問が足蹴にされてきたのを見てきたから
ここはJSのスレでありJSというのはスクリプト言語であり様々なプラットフォーム上で動く
そしてWebというものも今やそれ自体もプラットフォームであり様々なプラットフォーム上で動く
俺はそういうのを大事にしたいと思ってるが、
実際のところIEやChromeなど特定のプラットフォームがどうこうの話ばかり
勿論著名実装がサポートしているかどうかの話くらいなら何も問題ないと思ってるが
それ以上に各実装の性質の踏み込む話、
そういう限定されたテーマというのはJSを「自ら学ぶ」ためというよりも
限定されればされるほど、今動けばいい「制作依頼」に近くなると思っているので
できるだけ普遍的なスレにしたいとは思ってる
俺は100スレ以上前からいるが
過去ここで古くはWinメトロの話題からNode上でのStreamの話題や
様々なプラットフォームの質問が足蹴にされてきたのを見てきたから
ここはJSのスレでありJSというのはスクリプト言語であり様々なプラットフォーム上で動く
そしてWebというものも今やそれ自体もプラットフォームであり様々なプラットフォーム上で動く
俺はそういうのを大事にしたいと思ってるが、
実際のところIEやChromeなど特定のプラットフォームがどうこうの話ばかり
勿論著名実装がサポートしているかどうかの話くらいなら何も問題ないと思ってるが
それ以上に各実装の性質の踏み込む話、
そういう限定されたテーマというのはJSを「自ら学ぶ」ためというよりも
限定されればされるほど、今動けばいい「制作依頼」に近くなると思っているので
できるだけ普遍的なスレにしたいとは思ってる
2019/07/07(日) 16:13:06.81ID:???
2019/07/07(日) 16:15:35.46ID:???
>>53
実質無理というのは足蹴にされてきて
俺が無理矢理そういうのを受け入れようとしたら批判された経験からだ
だから今後もそういう質問が来たらきっと「荒れる」んでしょ?という皮肉だ
だからそうじゃないというならそれをテンプレに明記して欲しい
「Web技術を使うJSの話題であれば何でも受け入れますよ」と
それなら俺の100スレの怨念も浄化される
実質無理というのは足蹴にされてきて
俺が無理矢理そういうのを受け入れようとしたら批判された経験からだ
だから今後もそういう質問が来たらきっと「荒れる」んでしょ?という皮肉だ
だからそうじゃないというならそれをテンプレに明記して欲しい
「Web技術を使うJSの話題であれば何でも受け入れますよ」と
それなら俺の100スレの怨念も浄化される
55Name_Not_Found (ワッチョイ 835f-NNEM)
2019/07/07(日) 16:15:51.55ID:???0 その辺の話になると板分けの問題になってくるな
開発環境以外でのNodeの話ならム板かwebprog板じゃないか?
開発環境以外でのNodeの話ならム板かwebprog板じゃないか?
2019/07/07(日) 16:17:37.97ID:???
>>50
高速化の質問についてはコードが出ているなら、「自分で試せ」で終わり
「このコードはどちらが早いですか?」
「このコードは動きますか?」
こんな質問は実装以前の問題だ
自助努力を推奨するスレとしては「自分で試せばわかる事は、自分で試せ」の答えしかない
高速化の質問についてはコードが出ているなら、「自分で試せ」で終わり
「このコードはどちらが早いですか?」
「このコードは動きますか?」
こんな質問は実装以前の問題だ
自助努力を推奨するスレとしては「自分で試せばわかる事は、自分で試せ」の答えしかない
2019/07/07(日) 16:18:45.28ID:???
2019/07/07(日) 16:21:02.60ID:???
2019/07/07(日) 16:22:01.96ID:???
実用厳禁★独自拡張、草案段階のJavaScriptについて
https://mevius.5ch.net/test/read.cgi/hp/1495948526/
純粋に仕様等について語りたい・空中戦をしたいならコッチだろ
このスレは理論のためのスレじゃない
https://mevius.5ch.net/test/read.cgi/hp/1495948526/
純粋に仕様等について語りたい・空中戦をしたいならコッチだろ
このスレは理論のためのスレじゃない
2019/07/07(日) 16:25:25.23ID:???
>>59 俺はそういうことが言いたかったんじゃないよ
2019/07/07(日) 16:25:55.36ID:???
>>57
多分、自覚症状がないようだから、あえていうが、君の考えは「客観性」がまるでないから、受け入れられないんだよ
「俺はこうしたい」「俺はこうだった」「俺は無理だと思う」
これは全部、君の個人的な考えで他人を説得できる根拠じゃない(君を信頼している人なら受け入れるかもしれない)
100スレ前から受け入れられなかった原因も、その辺にあるのではないかと思うぞ
多分、自覚症状がないようだから、あえていうが、君の考えは「客観性」がまるでないから、受け入れられないんだよ
「俺はこうしたい」「俺はこうだった」「俺は無理だと思う」
これは全部、君の個人的な考えで他人を説得できる根拠じゃない(君を信頼している人なら受け入れるかもしれない)
100スレ前から受け入れられなかった原因も、その辺にあるのではないかと思うぞ
2019/07/07(日) 16:27:22.27ID:???
>>52
> 過去ここで古くはWinメトロの話題からNode上でのStreamの話題や
> 様々なプラットフォームの質問が足蹴にされてきたのを見てきた
そんな大昔のことは知らん
直近2か月程度では、形式的に足蹴なんてあった覚えがない
あったというなら具体的にリンクを挙げたまえ
> 過去ここで古くはWinメトロの話題からNode上でのStreamの話題や
> 様々なプラットフォームの質問が足蹴にされてきたのを見てきた
そんな大昔のことは知らん
直近2か月程度では、形式的に足蹴なんてあった覚えがない
あったというなら具体的にリンクを挙げたまえ
2019/07/07(日) 16:29:17.92ID:???
>>60
それでは
どういうことが言いたかったのか、具体例を挙げつつ論理的に述べてくれまいか
貴殿が言いたいこと、具体的にところが把握できない
他の人々にも、把握されているようには見えない
コミュニケーションなんだから、そこんとこ頼む
それでは
どういうことが言いたかったのか、具体例を挙げつつ論理的に述べてくれまいか
貴殿が言いたいこと、具体的にところが把握できない
他の人々にも、把握されているようには見えない
コミュニケーションなんだから、そこんとこ頼む
2019/07/07(日) 16:34:12.57ID:???
Web のユーザーインターフェースとして第一義に考えられるのはブラウザ
具体的には、Chrome / Safari / Firefox(状況次第で IE11 またはそれ以前)
これが大前提として共有されないんだったら前提から色々崩れるんだけど
opera とか vivaldi とか含めるとカオスだからゴメン
具体的には、Chrome / Safari / Firefox(状況次第で IE11 またはそれ以前)
これが大前提として共有されないんだったら前提から色々崩れるんだけど
opera とか vivaldi とか含めるとカオスだからゴメン
2019/07/07(日) 16:38:48.61ID:???
「回答できる」と「質問していい」は別問題だと思うのです
2019/07/07(日) 16:46:15.88ID:???
だとしても形式的に蹴られてる記憶が無い
昔のことは知らない
昔のことは知らない
2019/07/07(日) 16:48:23.37ID:???
俺も記憶にないなあ
「Node.jsの回答なんてお前らできないだろ?」な煽りは昔、あったような気もするが、それかね
「Node.jsの回答なんてお前らできないだろ?」な煽りは昔、あったような気もするが、それかね
2019/07/07(日) 17:02:47.23ID:???
具体例挙げるなら
Q: オブジェクトのディープコピーをしたい
A1. jQuery 使え
A2. lodash 使え
A3. 「使える」ライブラリなりプラグインなりモジュールなり使え
A4. オレオレ関数なりメソッドなり作れ
他に何かあるかな(具体例でも第5の回答例でも)
Q: オブジェクトのディープコピーをしたい
A1. jQuery 使え
A2. lodash 使え
A3. 「使える」ライブラリなりプラグインなりモジュールなり使え
A4. オレオレ関数なりメソッドなり作れ
他に何かあるかな(具体例でも第5の回答例でも)
2019/07/07(日) 17:12:23.73ID:???
>>68
それはライブラリ質問を禁止する例じゃないのか?
実装系質問を禁止する例が来ると思っていたのだが
あと、ディープコピーなら JSON.parse(JSON.stringify()) が何度も出てたし、ライブラリしか回答がなかったかのような表現は改竄が過ぎる
それはライブラリ質問を禁止する例じゃないのか?
実装系質問を禁止する例が来ると思っていたのだが
あと、ディープコピーなら JSON.parse(JSON.stringify()) が何度も出てたし、ライブラリしか回答がなかったかのような表現は改竄が過ぎる
2019/07/07(日) 17:14:32.28ID:???
JSON は色々問題あるじゃん
2019/07/07(日) 17:16:42.58ID:???
2019/07/07(日) 17:26:35.26ID:???
>>68に関していうなら、「ライブラリ房」の存在が元凶だから、彼を排除する方針を決めるだけでいい
実装系質問が実質無理な理由ではない
実装系質問が実質無理な理由ではない
2019/07/07(日) 18:05:23.24ID:???
そうそう
新たな〇〇房が現れたらその都度対応するだけの話
新たな〇〇房が現れたらその都度対応するだけの話
2019/07/07(日) 20:41:25.45ID:???
>>44
だから実際のブラウザの話を抜きにするというのなら
実際のブラウザで動くことを前提として
質問が受け付けられなくなるんだよ。
Chromeで動きません。→実際のブラウザの話はしないでください。
だから実際のブラウザの話を抜きにするというのなら
実際のブラウザで動くことを前提として
質問が受け付けられなくなるんだよ。
Chromeで動きません。→実際のブラウザの話はしないでください。
2019/07/07(日) 20:45:12.39ID:???
■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。
これもなくさんとな。仕様の話しかしないんだから
OSやブラウザのバージョンなんか関係ない
【環境】OS, ブラウザをバージョンと共に記入してください。
これもなくさんとな。仕様の話しかしないんだから
OSやブラウザのバージョンなんか関係ない
2019/07/08(月) 00:19:28.58ID:???
実装無視の話なんてヨソでやってくれ
誘導
実用厳禁★独自拡張、草案段階のJavaScriptについて
https://mevius.5ch.net/test/read.cgi/hp/1495948526/
誘導
実用厳禁★独自拡張、草案段階のJavaScriptについて
https://mevius.5ch.net/test/read.cgi/hp/1495948526/
2019/07/08(月) 00:29:19.18ID:???
>>4 の DOM のリンクだが
W3C DOM4
https://www.w3.org/TR/dom/
DOM Standard 日本語訳
https://triple-underscore.github.io/DOM4-ja.html
のみでも良いのではないかと
異論もとむ
W3C DOM4
https://www.w3.org/TR/dom/
DOM Standard 日本語訳
https://triple-underscore.github.io/DOM4-ja.html
のみでも良いのではないかと
異論もとむ
2019/07/08(月) 00:41:39.52ID:???
>>31 のリンク先の内容がカビ臭すぎ
どこから手をつけるのが良いか分からんけど、リンクしない方がマシなんじゃないかと(主観
どこから手をつけるのが良いか分からんけど、リンクしない方がマシなんじゃないかと(主観
2019/07/08(月) 01:02:37.28ID:???
2019/07/08(月) 01:31:56.15ID:???
◆ Standard ECMA-262
http://www.ecma-international.org/ecma-262/6.0/ (ECMAScript 2015, いわゆる ES6)
https://www.ecma-international.org/ecma-262/10.0/ (ECMAScript 2019)
https://tc39.es/ecma262/ (ECMA-262 最新ドラフト)
◆ HTML Standard (HTML5)
http://www.whatwg.org/specs/web-apps/current-work/multipage/
◆ W3C DOM4
https://www.w3.org/TR/dom/
https://triple-underscore.github.io/DOM4-ja.html (DOM Standard 日本語訳)
残すべきか要審議
http://www.ecma-international.org/ecma-262/5.1/ (ECMAScript 5.1 HTML版)
http://tsofthome.appspot.com/ecmascript.html (ECMAScript 5.1 和訳)
http://kangax.github.io/compat-table/es5/ (ECMAScript 5 compatibility table)
http://kangax.github.io/compat-table/es6/ (ECMAScript 6 compatibility table)
HTML Standard 日本語訳
https://momdo.github.io/html/
(「HTML5.1 部分訳」のリンクは、最近は誰も確認していなかった模様)
http://www.ecma-international.org/ecma-262/6.0/ (ECMAScript 2015, いわゆる ES6)
https://www.ecma-international.org/ecma-262/10.0/ (ECMAScript 2019)
https://tc39.es/ecma262/ (ECMA-262 最新ドラフト)
◆ HTML Standard (HTML5)
http://www.whatwg.org/specs/web-apps/current-work/multipage/
◆ W3C DOM4
https://www.w3.org/TR/dom/
https://triple-underscore.github.io/DOM4-ja.html (DOM Standard 日本語訳)
残すべきか要審議
http://www.ecma-international.org/ecma-262/5.1/ (ECMAScript 5.1 HTML版)
http://tsofthome.appspot.com/ecmascript.html (ECMAScript 5.1 和訳)
http://kangax.github.io/compat-table/es5/ (ECMAScript 5 compatibility table)
http://kangax.github.io/compat-table/es6/ (ECMAScript 6 compatibility table)
HTML Standard 日本語訳
https://momdo.github.io/html/
(「HTML5.1 部分訳」のリンクは、最近は誰も確認していなかった模様)
81訂正
2019/07/08(月) 01:36:35.72ID:??? ◆ HTML Standard (HTML5)
https://html.spec.whatwg.org/multipage/
リダイレクトがいつまで続くものやら
あえてテンプレから消すのも手かも知れず
https://html.spec.whatwg.org/multipage/
リダイレクトがいつまで続くものやら
あえてテンプレから消すのも手かも知れず
2019/07/08(月) 07:09:40.06ID:???
>>74
ちゃんと書いてあることを読んでよ
あくまでWebの仕様外の話に絞って言ってるでしょ
パフォーマンスとか、細かなセキュリティポリシーの違いとか、Web仕様で定義されてる以外の
そこはブラウザ開発者の考え方次第、実装のされ方次第の問題だよねっていう所を言ってるんだよ?
ちゃんと書いてあることを読んでよ
あくまでWebの仕様外の話に絞って言ってるでしょ
パフォーマンスとか、細かなセキュリティポリシーの違いとか、Web仕様で定義されてる以外の
そこはブラウザ開発者の考え方次第、実装のされ方次第の問題だよねっていう所を言ってるんだよ?
2019/07/08(月) 07:47:15.34ID:???
パフォーマンスや細かなセキュリティポリシーの違いは
Webの仕様で定義されてないって言ってる?
Webの仕様で定義されてないって言ってる?
2019/07/08(月) 08:00:56.01ID:???
2019/07/08(月) 08:26:14.92ID:???
2019/07/08(月) 08:29:47.98ID:???
2019/07/08(月) 16:10:15.75ID:???
>>46
> Webというものがブラウザのためだけのものでなくなって久しいんだから
> 基本ポリシーとしてブラウザの話も受け入れるのならば
> ブラウザ以外のWeb技術を導入しているプラットフォームの話題も受け入れないとおかしいことになる
>
> 俺はそれが実質無理だろうと思ったから、ブラウザも含めてプラットフォームの話は無しにしたほうがいいと言ってる
「実質無理」の論点ってここ?
質問者が質問する分には、幅広く間口を取っておいていいとおもうよ
回答がつくかどうかは別問題
こんなのを論拠に「ブラウザというプラットフォームの話を無しにする」って方がありえんし誰も幸せにならないだろ
メリットあるなら教えて欲しいもんだが
> Webというものがブラウザのためだけのものでなくなって久しいんだから
> 基本ポリシーとしてブラウザの話も受け入れるのならば
> ブラウザ以外のWeb技術を導入しているプラットフォームの話題も受け入れないとおかしいことになる
>
> 俺はそれが実質無理だろうと思ったから、ブラウザも含めてプラットフォームの話は無しにしたほうがいいと言ってる
「実質無理」の論点ってここ?
質問者が質問する分には、幅広く間口を取っておいていいとおもうよ
回答がつくかどうかは別問題
こんなのを論拠に「ブラウザというプラットフォームの話を無しにする」って方がありえんし誰も幸せにならないだろ
メリットあるなら教えて欲しいもんだが
2019/07/08(月) 18:08:23.43ID:???
50スレ前からいる俺は、>>74を「仕様の質問だけに限定するのは実質無理」と受け取ったが、100スレ前からいる彼には深い考えがあるのだろう。
- コードの動作確認が出来ない
- デバッガも使えない
- 仕様を読み取ってコードを書き、思考実験を繰り返す
この困難な状況をどうやって打開するのか、実に興味深い。
若輩者の私に、ご教示頂ければ幸いである。
- コードの動作確認が出来ない
- デバッガも使えない
- 仕様を読み取ってコードを書き、思考実験を繰り返す
この困難な状況をどうやって打開するのか、実に興味深い。
若輩者の私に、ご教示頂ければ幸いである。
2019/07/08(月) 19:10:55.55ID:???
質問どうぞ
2019/07/08(月) 22:28:25.84ID:???
2019/07/09(火) 06:45:33.91ID:???
実質無理と言ったのは
>>54で書いたようにそういう話題を完全に受け入れるというスタンスでもないし、
その逆でも今はないんだから、今までの様に穏やかにいられないんでしょという皮肉
そして>>82でも言ったが誰も仕様の話しかしてはいけないとは言っていない
仕様から離れたプラットフォームの話、つまり具体的に言うなら
普遍的なWebというものから離れたブラウザ固有の仕様の話は受け入れるべきかという話
デバッガは開発ツールなので今までWeb仕様とは別の体感できる動作についてて主に話してたのとは
ちょっと系統は変わるが、それでいうとそういう開発外部ツールの話を受け入れるのであれば、
同様にトランスレータだったり、オーサリングツールの話も受け入れるようにしないと
それこそ好き嫌いのとくに理由のない恣意的な差別になる
別に俺はどちらでもいいんだが、俺が一番言いたいことはそのどちらと決まってないことで
スレチだの何だのと不毛に荒れるのが嫌だから、せっかく今テンプレ議論がされてるから
この際にそういうスタンスもある程度決めて明記しておこうということ
まあそれで荒れなくなるかどうかは分からないが、少なくともどういう質問・回答の仕方をしたらいいのかの目安にはなる
>>54で書いたようにそういう話題を完全に受け入れるというスタンスでもないし、
その逆でも今はないんだから、今までの様に穏やかにいられないんでしょという皮肉
そして>>82でも言ったが誰も仕様の話しかしてはいけないとは言っていない
仕様から離れたプラットフォームの話、つまり具体的に言うなら
普遍的なWebというものから離れたブラウザ固有の仕様の話は受け入れるべきかという話
デバッガは開発ツールなので今までWeb仕様とは別の体感できる動作についてて主に話してたのとは
ちょっと系統は変わるが、それでいうとそういう開発外部ツールの話を受け入れるのであれば、
同様にトランスレータだったり、オーサリングツールの話も受け入れるようにしないと
それこそ好き嫌いのとくに理由のない恣意的な差別になる
別に俺はどちらでもいいんだが、俺が一番言いたいことはそのどちらと決まってないことで
スレチだの何だのと不毛に荒れるのが嫌だから、せっかく今テンプレ議論がされてるから
この際にそういうスタンスもある程度決めて明記しておこうということ
まあそれで荒れなくなるかどうかは分からないが、少なくともどういう質問・回答の仕方をしたらいいのかの目安にはなる
2019/07/09(火) 08:20:13.92ID:???
>>91
長文ご苦労様だが、
> 今までの様に穏やかにいられないんでしょという皮肉
根拠があなたの頭の中にしかないから、以降の話が全く頭に入って来ない
何度言われても根拠を出さないのだから、「根拠が全くない」か「感想が根拠だと思っている」のどちらかなんだろうな…
長文ご苦労様だが、
> 今までの様に穏やかにいられないんでしょという皮肉
根拠があなたの頭の中にしかないから、以降の話が全く頭に入って来ない
何度言われても根拠を出さないのだから、「根拠が全くない」か「感想が根拠だと思っている」のどちらかなんだろうな…
2019/07/09(火) 08:47:39.07ID:???
「俺はこう思う。お前らもそう思うだろ?」
→「そんなわけないだろ」(反対者多数)
→「なんで俺の思い(イメージ)を分かってくれないんだよ!」
今のところ、こんな印象
→「そんなわけないだろ」(反対者多数)
→「なんで俺の思い(イメージ)を分かってくれないんだよ!」
今のところ、こんな印象
2019/07/09(火) 09:24:21.17ID:???
勉強中のものです。
「そこに何を代入しても何も起こらない、メモリも食わない、エラーにもならないオブジェクト」ってないものなんでしょうか。
例えば var element にDOM要素が入っているとして element.value="piyo"; という命令があるのはよくあるパターンですが、
このelementに中身が入ってないとエラーが出たりしますよね。
私は、いちいち if (element) element.value="piyo"; というふうな中身の確認をせずに、代入をできるようにしたい
(element の中身が「それ」なら、何も起こらず、エラーも出ない)んです。
こういうブラックホールみたいな値やオブジェクトみたいな存在ってないんでしょうか。
「そこに何を代入しても何も起こらない、メモリも食わない、エラーにもならないオブジェクト」ってないものなんでしょうか。
例えば var element にDOM要素が入っているとして element.value="piyo"; という命令があるのはよくあるパターンですが、
このelementに中身が入ってないとエラーが出たりしますよね。
私は、いちいち if (element) element.value="piyo"; というふうな中身の確認をせずに、代入をできるようにしたい
(element の中身が「それ」なら、何も起こらず、エラーも出ない)んです。
こういうブラックホールみたいな値やオブジェクトみたいな存在ってないんでしょうか。
2019/07/09(火) 10:03:35.42ID:???
>>94
> このelementに中身が入ってないとエラーが出たりしますよね。
> 私は、いちいち if (element) element.value="piyo"; というふうな中身の確認をせずに、代入をできるようにしたい
例
https://developer.mozilla.org/ja/docs/Web/API/Document/getElementById
> 文書内に一致する要素がなければ null です。
.getElementById の返値をチェックすれば?
> このelementに中身が入ってないとエラーが出たりしますよね。
> 私は、いちいち if (element) element.value="piyo"; というふうな中身の確認をせずに、代入をできるようにしたい
例
https://developer.mozilla.org/ja/docs/Web/API/Document/getElementById
> 文書内に一致する要素がなければ null です。
.getElementById の返値をチェックすれば?
2019/07/09(火) 11:09:28.64ID:???
>>94
jQueryがそういう設計になってる。
例えばその例ではvalueを設定しているが、
jQueryの設計では「"0個以上の要素"に対してvalueを設定する」という書き方をする。
だから要素が見つからなくてもエラーにならないし、複数見つかれば複数設定できる。
いまだにブラウザ間の互換性問題が解決したからjQueryはいらないなんて言ってるやつがいるが
こういう設計がDOM APIとは異なってる(使いやすい)ライブラリなんだよ。
で話を戻すと、jQueryでは $('.foo').val('piyo') みたいにセレクタで指定することが多いが、
$(elemment).val('piyo') みたいに単一の要素を指定することも可能。
この場合、elementの中身が入っていなくてもエラーにならない。
(elementの取得だけDOM APIを使うこともないだろうから普通にセレクタ使えばいいだろうけど)
jQueryがそういう設計になってる。
例えばその例ではvalueを設定しているが、
jQueryの設計では「"0個以上の要素"に対してvalueを設定する」という書き方をする。
だから要素が見つからなくてもエラーにならないし、複数見つかれば複数設定できる。
いまだにブラウザ間の互換性問題が解決したからjQueryはいらないなんて言ってるやつがいるが
こういう設計がDOM APIとは異なってる(使いやすい)ライブラリなんだよ。
で話を戻すと、jQueryでは $('.foo').val('piyo') みたいにセレクタで指定することが多いが、
$(elemment).val('piyo') みたいに単一の要素を指定することも可能。
この場合、elementの中身が入っていなくてもエラーにならない。
(elementの取得だけDOM APIを使うこともないだろうから普通にセレクタ使えばいいだろうけど)
2019/07/09(火) 12:27:20.24ID:???
>>94
変数にする以上はメモリを消費するので、メモリを消費しない方法はない
変数にしなければ、当然、メモリは消費しない
if (typeof element !== 'undefoned' && Object(element) === element)
element.value="piyo";
メモリを度外視するなら、Object.create(null) でラップオブジェクトを作って、setterかnew Proxyでプロパティを監視する事で実装可能
変数にする以上はメモリを消費するので、メモリを消費しない方法はない
変数にしなければ、当然、メモリは消費しない
if (typeof element !== 'undefoned' && Object(element) === element)
element.value="piyo";
メモリを度外視するなら、Object.create(null) でラップオブジェクトを作って、setterかnew Proxyでプロパティを監視する事で実装可能
2019/07/09(火) 12:39:17.95ID:???
jQueryってメモリ消費しないんですね。ありがとうございました。
2019/07/09(火) 12:40:44.57ID:???
>>92,>>93
なんか勘違いしてるのかもしれないけど
思いを分かってもらいたいわけではなく
何か揉めたときに、テンプレに「自ら学ぶため」という言葉があれば
まあそれを持ち出して決着を付ける事が本当に良いことかは置いといて、
一応このスレのスタンスだからと言えるでしょ
でも今のままでは、俺が折角マニアックな質問を色々調べて回答してあげても
それにスレチだなんだケチがついたときにどっちが正しいとも言えず永遠喧嘩になるでしょ
それはどちらが悪いとかじゃなくて俺と彼とで考えるこのスレで扱うものの基準が違うという事で、それが何処にも示されていない以上、個人の好みになっちゃうんだから
それで俺も彼も質問者も不幸になることはもうやめたいんだよ
俺はpart20かそこらから質問回答してきて、自分だったり他人だったり実際そうやって嫌な思いを沢山してきたから
不幸になる人が少しでも減るようにテンプレに基準を入れてほしいと言ってるの
別に崇高な一般論を理解してもらおうと主張してるわけではない
最初からそういう俺の小さなお願いのつもりだったのに
なんでこんなに突っ込まれて話が大きくなったんだろうね?
もう俺のことはスルーしていいよ
なんか勘違いしてるのかもしれないけど
思いを分かってもらいたいわけではなく
何か揉めたときに、テンプレに「自ら学ぶため」という言葉があれば
まあそれを持ち出して決着を付ける事が本当に良いことかは置いといて、
一応このスレのスタンスだからと言えるでしょ
でも今のままでは、俺が折角マニアックな質問を色々調べて回答してあげても
それにスレチだなんだケチがついたときにどっちが正しいとも言えず永遠喧嘩になるでしょ
それはどちらが悪いとかじゃなくて俺と彼とで考えるこのスレで扱うものの基準が違うという事で、それが何処にも示されていない以上、個人の好みになっちゃうんだから
それで俺も彼も質問者も不幸になることはもうやめたいんだよ
俺はpart20かそこらから質問回答してきて、自分だったり他人だったり実際そうやって嫌な思いを沢山してきたから
不幸になる人が少しでも減るようにテンプレに基準を入れてほしいと言ってるの
別に崇高な一般論を理解してもらおうと主張してるわけではない
最初からそういう俺の小さなお願いのつもりだったのに
なんでこんなに突っ込まれて話が大きくなったんだろうね?
もう俺のことはスルーしていいよ
2019/07/09(火) 12:47:25.64ID:???
2019/07/09(火) 14:20:24.60ID:???
コードは長くなるけど変数使わないからメモリ消費しないんだぜ!
↑
そのコードを入れておくメモリが消費される
↑
そのコードを入れておくメモリが消費される
2019/07/09(火) 14:21:23.30ID:???
>>100
この質問の本質は、そういうコードを書きたくないということでしょう?
この質問の本質は、そういうコードを書きたくないということでしょう?
2019/07/09(火) 14:33:23.67ID:???
結局何をしたいのか分からん
C言語だって char *a = "abc"; と書いたとき、ポインタ a の分だけメモリ喰うわけだしな
したいことと、典型的なコードでなってしまうことの差が
具体的に分からないと何ともいえない
https://jsbin.com/yemedon/edit?html,js,console
こういうのとは違うみたいだし
C言語だって char *a = "abc"; と書いたとき、ポインタ a の分だけメモリ喰うわけだしな
したいことと、典型的なコードでなってしまうことの差が
具体的に分からないと何ともいえない
https://jsbin.com/yemedon/edit?html,js,console
こういうのとは違うみたいだし
2019/07/09(火) 14:42:37.02ID:???
無理矢理いえば test() の返値は必ず入る
アセンブラのときにレジスタに必ず入るかどうかは知らない
0 との比較の場合はアセンブラ的には即値0が必要とならないケースが多い、はず
RISCでどうなるか等は知らない
サボリのためCASLの仕様書は読んでない
アセンブラのときにレジスタに必ず入るかどうかは知らない
0 との比較の場合はアセンブラ的には即値0が必要とならないケースが多い、はず
RISCでどうなるか等は知らない
サボリのためCASLの仕様書は読んでない
2019/07/09(火) 15:13:50.86ID:???
変数は必ずしもメモリを消費しない
インライン化とエリミネーションで半分程度削減される
だからデバッガを有効にしてるとメモリを食う
インライン化とエリミネーションで半分程度削減される
だからデバッガを有効にしてるとメモリを食う
2019/07/09(火) 15:39:24.86ID:???
> 私は、いちいち if (element) element.value="piyo"; というふうな中身の確認をせずに、代入をできるようにしたい
そもそも、これって vanilla JS で実現できるの?
そもそも、これって vanilla JS で実現できるの?
2019/07/09(火) 15:46:49.40ID:???
入力があって、出力対象となるべき要素がなければ
parentNode に appendChild() するのが自然な考え方にもおもえる
無視して良いという仕様なのだろうか(そうだとしたら while で終わりか?)
メモリどうこうより仕様が気になるな
それとも「じつはライブラリ房でした」というオチなのか
parentNode に appendChild() するのが自然な考え方にもおもえる
無視して良いという仕様なのだろうか(そうだとしたら while で終わりか?)
メモリどうこうより仕様が気になるな
それとも「じつはライブラリ房でした」というオチなのか
2019/07/09(火) 15:59:43.81ID:???
Rubyには通称ぼっち演算子っていってね、
a=nil
a&.foo
# =>nil
みたいに、値がnilでもエラーにならない方法があるんだよ。
どうせこれのこと言ってるんっでしょ?
でもね、コード上メモリを使ってないように見えても、
アセンブラレベルで見れば「if nil だったら nil を返す」って
コードになってて、コードの分のメモリ使ってますからw
a=nil
a&.foo
# =>nil
みたいに、値がnilでもエラーにならない方法があるんだよ。
どうせこれのこと言ってるんっでしょ?
でもね、コード上メモリを使ってないように見えても、
アセンブラレベルで見れば「if nil だったら nil を返す」って
コードになってて、コードの分のメモリ使ってますからw
2019/07/09(火) 16:10:08.48ID:???
2019/07/09(火) 16:42:52.24ID:???
イケてる言語のNull条件演算子:
C#
?.
Swift
?.
Kotlin
?.
イケテナイ言語のNull条件演算子:
ブビィ
&.
ムダな認知負荷の大きいクソ言語。
C#
?.
Swift
?.
Kotlin
?.
イケテナイ言語のNull条件演算子:
ブビィ
&.
ムダな認知負荷の大きいクソ言語。
2019/07/09(火) 17:18:14.96ID:???
https://jsbin.com/hidafon/edit?html,css,js,output
ふむ…
あろうが無かろうが問題なく書ける場合もある、か
むしろ出力先等が無いのにスルーされると、バグが潜在化しそうな気もするけど、まあいいか
どういう場面で幸せになれる実装なのか分からん
strlcat / strlcpy みたいなものかしらん
ふむ…
あろうが無かろうが問題なく書ける場合もある、か
むしろ出力先等が無いのにスルーされると、バグが潜在化しそうな気もするけど、まあいいか
どういう場面で幸せになれる実装なのか分からん
strlcat / strlcpy みたいなものかしらん
2019/07/09(火) 17:42:19.01ID:???
> むしろ出力先等が無いのにスルーされると、バグが潜在化しそうな気もするけど、
それは設計思想がわかってないから。
CSSと同じだと考えればいい。
CSSは要素があろうがなかろうがエラーにならない。
これは宣言型プログラミングの思想だよ。
https://ja.wikipedia.org/wiki/%E5%AE%A3%E8%A8%80%E5%9E%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0
> 宣言型プログラミング(英: Declarative programming)は、
> プログラミングパラダイムの名称だが、主として2種類の意味がある。
> 第1の意味は、処理方法ではなく対象の性質などを宣言することでプログラミングするパラダイムを意味する
出力先に対して処理するという設計思想ではない。
出力先はどういう性質かというのを記述する。
要素に対して値を入れるのではなく、その要素はこういう値であるという宣言を記述する。
そうすることでその要素があればそういう値であり、要素がなければないというだけの話になる。
処理ではなく宣言なのでわかりやすくバグも少なくなる。
それは設計思想がわかってないから。
CSSと同じだと考えればいい。
CSSは要素があろうがなかろうがエラーにならない。
これは宣言型プログラミングの思想だよ。
https://ja.wikipedia.org/wiki/%E5%AE%A3%E8%A8%80%E5%9E%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0
> 宣言型プログラミング(英: Declarative programming)は、
> プログラミングパラダイムの名称だが、主として2種類の意味がある。
> 第1の意味は、処理方法ではなく対象の性質などを宣言することでプログラミングするパラダイムを意味する
出力先に対して処理するという設計思想ではない。
出力先はどういう性質かというのを記述する。
要素に対して値を入れるのではなく、その要素はこういう値であるという宣言を記述する。
そうすることでその要素があればそういう値であり、要素がなければないというだけの話になる。
処理ではなく宣言なのでわかりやすくバグも少なくなる。
2019/07/09(火) 18:39:24.27ID:???
2019/07/09(火) 19:00:49.22ID:???
>>113
> 「関数を書きたくない」というなら、巨大な関数である jQuety()を定義しているコードに魅力を感じるのは
jQueryを使うなら「関数を書かなくていい」じゃん
「関数を書きたくない」という要望を見事に満たしている。
> 「関数を書きたくない」というなら、巨大な関数である jQuety()を定義しているコードに魅力を感じるのは
jQueryを使うなら「関数を書かなくていい」じゃん
「関数を書きたくない」という要望を見事に満たしている。
2019/07/09(火) 19:15:13.42ID:???
そもそもプログラム書きたくないんですけどどうしたらいいですか?
2019/07/09(火) 19:37:36.54ID:???
>>114
「メモリも食わない」の要件を満たしてないじゃん
「メモリも食わない」の要件を満たしてないじゃん
2019/07/09(火) 19:39:54.22ID:???
エラーにならないオブジェクトとかそもそもがヤバい
2019/07/09(火) 19:40:48.14ID:???
>>116
それは「すべてのものはメモリを食う」という結論で終わったろ?
それは「すべてのものはメモリを食う」という結論で終わったろ?
2019/07/09(火) 19:40:53.34ID:???
そもそも、>>102は質問者なのか?
他人が悪のりしてるのか、質問者本人なのか分からん
他人が悪のりしてるのか、質問者本人なのか分からん
2019/07/09(火) 19:41:41.97ID:???
>>118
メモリ消費量が違う
メモリ消費量が違う
2019/07/09(火) 19:45:21.11ID:???
jQueryはscript要素を余計に書かないといけないので、面倒くさい
2019/07/09(火) 19:49:31.63ID:???
jq談義は誰も得しないのでやめよう
2019/07/09(火) 19:56:31.05ID:???
そんな面倒くさがりの君にプレゼント
Object(element).value = 'bar';
ライブラリ使うよりお手軽だよ!
メソッド呼び出しは要件にないから知らないよ!
そもそも、NullPointerExceptionはエラー検知として捉える向きもあるので、一概に悪いとはいえない(上で懸念されてるのはそういうことかと)
ポリシーの違いを他人を批判する理由にするのは止めよう >>1参照
Object(element).value = 'bar';
ライブラリ使うよりお手軽だよ!
メソッド呼び出しは要件にないから知らないよ!
そもそも、NullPointerExceptionはエラー検知として捉える向きもあるので、一概に悪いとはいえない(上で懸念されてるのはそういうことかと)
ポリシーの違いを他人を批判する理由にするのは止めよう >>1参照
2019/07/09(火) 19:57:38.63ID:???
無いときにエラーにしたくなくて、あるときに全ての要素を対象にしたければ
DOM APIには複数要素取得する手段がいくつもあるんだから
それでmapなんかで回せばいいだけじゃん
DOM APIには複数要素取得する手段がいくつもあるんだから
それでmapなんかで回せばいいだけじゃん
2019/07/09(火) 19:59:01.08ID:???
>>112
どうだろう
CSS はデザインの話で、コンテンツそのものの話とは区別されるんじゃないかと
> 出力先はどういう性質かというのを記述
これなんてまさにそれ
オブジェクトのプロパティに値をセットしたつもりが
そもそもオブジェクトありませんでしたー
でエラーが出なくて幸せになる具体的なシーンが思いつかない、というのもある
「『対象の性質を宣言』しようとしましたが、その対象は存在しませんでした」ってことでしょう?
どうだろう
CSS はデザインの話で、コンテンツそのものの話とは区別されるんじゃないかと
> 出力先はどういう性質かというのを記述
これなんてまさにそれ
オブジェクトのプロパティに値をセットしたつもりが
そもそもオブジェクトありませんでしたー
でエラーが出なくて幸せになる具体的なシーンが思いつかない、というのもある
「『対象の性質を宣言』しようとしましたが、その対象は存在しませんでした」ってことでしょう?
2019/07/09(火) 20:01:55.41ID:???
2019/07/09(火) 20:03:15.65ID:???
2019/07/09(火) 20:10:01.65ID:???
>>127
NodeListは普通にfor(let elm of list)で回せる
NodeListは普通にfor(let elm of list)で回せる
2019/07/09(火) 20:13:26.42ID:???
130Name_Not_Found (ワッチョイ 8332-NNEM)
2019/07/09(火) 20:20:45.23ID:???02019/07/09(火) 20:21:54.36ID:???
>>129
モダンブラウザは皆対応してる
モダンブラウザは皆対応してる
2019/07/09(火) 20:46:01.50ID:???
>>130-131
便利な世の中になったね
便利な世の中になったね
2019/07/09(火) 21:11:26.17ID:???
2019/07/09(火) 21:15:24.26ID:???
要件定義は質問者とやりな
2019/07/09(火) 21:36:14.37ID:???
単に大したメモリ消費量じゃないと言ってるだけ
2019/07/09(火) 21:40:54.42ID:???
> ・回答には多様性があります。他人の回答を尊重してください
2019/07/09(火) 21:41:59.69ID:???
jsにも ?. が実装される草案は先送りになったのかな
2019/07/09(火) 21:43:14.03ID:???
>>137
詳しく
詳しく
2019/07/09(火) 21:43:48.15ID:???
jQueryが消費するメモリ
→大した消費量じゃない!
自前で関数ちょこっと書くのに消費するメモリ→
とんでもないメモリ消費!
→大した消費量じゃない!
自前で関数ちょこっと書くのに消費するメモリ→
とんでもないメモリ消費!
2019/07/09(火) 21:45:15.99ID:???
2019/07/09(火) 21:46:36.15ID:???
その煽る気満々の内容で質問者に回答してやればいいのに、これだからマウント君は
2019/07/09(火) 21:53:39.94ID:???
>>137
ES全体的に前みたいに大量の草案をガツガツ進める雰囲気じゃなくて
細かい仕様をより小規模なミーティングを頻繁にして少しづつ着実に落ち着いて進める感じになってる
その上でオプショナルチェーンの進歩状況はやや鈍調
本来なら輸入構文で順調に行くはずだけど、
ついでにこれもセットで欲しい機能のオプショナルコールについて問題を抱えていたので
あまり進捗してこなかったのが、直近のミーティングで前に進んだ
もう一山か二山あるだろうけど、ゴールの明かりがちらりと見えた所
ES全体的に前みたいに大量の草案をガツガツ進める雰囲気じゃなくて
細かい仕様をより小規模なミーティングを頻繁にして少しづつ着実に落ち着いて進める感じになってる
その上でオプショナルチェーンの進歩状況はやや鈍調
本来なら輸入構文で順調に行くはずだけど、
ついでにこれもセットで欲しい機能のオプショナルコールについて問題を抱えていたので
あまり進捗してこなかったのが、直近のミーティングで前に進んだ
もう一山か二山あるだろうけど、ゴールの明かりがちらりと見えた所
2019/07/10(水) 05:04:01.56ID:???
firefox x64 + Stylus + Greasemonkey
とあるよく利用しているサイトが今一つ使いづらいので、
Stylusの自作スクリプトで必要以上の余計な広告を非表示にし、
非同期処理させて処理の高速化を図りました。
改めてそのサイトのソースを見たらsetTimeoutで特定の広告を少し時間差を置いて表示させ、
更に時間差を置いて記事部分を表示させるなんてことをやっていることが判明。
即時表示させる手段はないかと、StylusかGreasemonkeyでsetTimeoutの無効化とか、
そのスクリプト自体の上書きか無効化が出来ないか試行錯誤中。
どなたか、何かアドバイスなど頂ければ幸いです。
とあるよく利用しているサイトが今一つ使いづらいので、
Stylusの自作スクリプトで必要以上の余計な広告を非表示にし、
非同期処理させて処理の高速化を図りました。
改めてそのサイトのソースを見たらsetTimeoutで特定の広告を少し時間差を置いて表示させ、
更に時間差を置いて記事部分を表示させるなんてことをやっていることが判明。
即時表示させる手段はないかと、StylusかGreasemonkeyでsetTimeoutの無効化とか、
そのスクリプト自体の上書きか無効化が出来ないか試行錯誤中。
どなたか、何かアドバイスなど頂ければ幸いです。
2019/07/10(水) 06:23:21.58ID:???
元あるものを改変するのではなく記事の内容を取得して表示するリーダーアプリを作ったほうが聡い
2019/07/10(水) 06:34:02.13ID:???
2019/07/10(水) 07:16:12.75ID:???
2019/07/10(水) 07:22:05.13ID:???
>>133
そのまえに html コンテンツと gif / jpeg 読み込んだだけで溢れかねない
15.6MB でも足りないページは一杯ありそうだしね
都度で swap とか悪夢だろうが CF カードにキャッシュ置ければマシか
そのまえに html コンテンツと gif / jpeg 読み込んだだけで溢れかねない
15.6MB でも足りないページは一杯ありそうだしね
都度で swap とか悪夢だろうが CF カードにキャッシュ置ければマシか
2019/07/10(水) 07:42:06.00ID:???
…もともとがRuby房召喚のためだけの質問っぽいけど…
>>112
> 出力先はどういう性質かというのを記述する。
element がらみの場合は DOM ツリーの適切な場所に適切な要素を記述し
その要素にその性質を記述するものではないのかしらん
まとめたければ DocumentFragment 使うとか、元質問に即して言えば事前に createElement すれば良いんでないかい
ただ、元質問は「対象が存在しないときにスルー」って言ってるんだから「宣言型プログラミング」とやらは今回別に要らないでしょ
コレクションのアイテム数を数え、アイテム数を越える分は処理しなければ良いだけ
…ってのを >>111 のリンク先で書いてみたんだが…
>>112
> 出力先はどういう性質かというのを記述する。
element がらみの場合は DOM ツリーの適切な場所に適切な要素を記述し
その要素にその性質を記述するものではないのかしらん
まとめたければ DocumentFragment 使うとか、元質問に即して言えば事前に createElement すれば良いんでないかい
ただ、元質問は「対象が存在しないときにスルー」って言ってるんだから「宣言型プログラミング」とやらは今回別に要らないでしょ
コレクションのアイテム数を数え、アイテム数を越える分は処理しなければ良いだけ
…ってのを >>111 のリンク先で書いてみたんだが…
2019/07/10(水) 08:11:38.75ID:???
>>94
?. は、NULL 許容(エルビス)演算子だろ。
横から見ると、エルビスプレスリーに見える
Ruby では、関数名の最後の文字に、?, ! が使える
? は、真偽値を返すメソッド名に使う。
! は、レシーバーの内容を変えるメソッド名に使う
このルールがあるから、可読性が高い!
その代わりに、エルビスが使えないから、&. を使う
?. は、NULL 許容(エルビス)演算子だろ。
横から見ると、エルビスプレスリーに見える
Ruby では、関数名の最後の文字に、?, ! が使える
? は、真偽値を返すメソッド名に使う。
! は、レシーバーの内容を変えるメソッド名に使う
このルールがあるから、可読性が高い!
その代わりに、エルビスが使えないから、&. を使う
2019/07/10(水) 09:26:14.27ID:???
2019/07/10(水) 12:29:22.31ID:???
エルビス?
かつて流行した vi クローンで nvi の祖先のこと?
かつて流行した vi クローンで nvi の祖先のこと?
2019/07/11(木) 08:29:47.48ID:???
最近、Ruby信者をいろんなスレで見かけるのは、Rubyが下火になっているからか
多言語の機能を取り込むのは良いことだが、機能に拘るのは偏食と変わらないな
多言語の機能を取り込むのは良いことだが、機能に拘るのは偏食と変わらないな
2019/07/11(木) 11:16:19.28ID:???
文字列が入った配列(例として["aaa","aaa","bbb","bbb","ccc","ccc",…以下1000個ほど続くとする])があるとして、
この配列を「できるだけ似た文字列が並ばないように」並び替える方法ってどんなものが考えられますか?
つまり["aaa","bbb","ccc","aaa","bbb","ccc",…] となるように並べ替えたいです
言い換えれば「できるだけ似てない文字列が隣合って並ぶように」バラけさせるアルゴリズムです
レーベンシュタイン距離でというのも考えましたが「1つ前の文字列からもっとも遠い文字列を」短絡的に並べていくのでは、上記の例でいうと
["aaa","ccc","aaa","ccc","bbb","bbb",…]
というふうに、もっとも遠い文字列を使い果たした後はむしろ近いものが並んでしまうのではないかと危惧してます
この配列を「できるだけ似た文字列が並ばないように」並び替える方法ってどんなものが考えられますか?
つまり["aaa","bbb","ccc","aaa","bbb","ccc",…] となるように並べ替えたいです
言い換えれば「できるだけ似てない文字列が隣合って並ぶように」バラけさせるアルゴリズムです
レーベンシュタイン距離でというのも考えましたが「1つ前の文字列からもっとも遠い文字列を」短絡的に並べていくのでは、上記の例でいうと
["aaa","ccc","aaa","ccc","bbb","bbb",…]
というふうに、もっとも遠い文字列を使い果たした後はむしろ近いものが並んでしまうのではないかと危惧してます
2019/07/11(木) 11:29:48.65ID:???
もっと要件詰めなよ。仕事でそんな発注するんじゃないぞ。
2019/07/11(木) 11:55:02.49ID:???
ソートして半分に割って一個ずつ取り出し並べていけば良いんじゃね
2019/07/11(木) 12:19:33.79ID:???
>>153
「似た文字列」を定義する事から始めては?
「似た文字列」を定義する事から始めては?
2019/07/11(木) 12:41:20.42ID:???
「似た文字」は文字の類似度を数値で返す関数がある
という前提でいいだろ
という前提でいいだろ
2019/07/11(木) 12:47:05.63ID:???
じゃあsortにその関数使ったコンパレータぶっ込んで終わり。
はい次。
はい次。
2019/07/11(木) 12:47:50.29ID:???
>>153
レーベンシュタイン距離でいいんじゃないか?
1. 同一文字をまとめて、ユニークな文字列の値、出現回数をまとめた配列(or Map)を作る
2. 隣接要素のレーベンシュタイン距離がしきい値を越えるように並べ替える
3. 1周する
4. 各要素の出現回数を -1
5. 全要素が出現回数0なら終了。一部に出現回数0があったら、2.へ、それ以外は3.へ
レーベンシュタイン距離でいいんじゃないか?
1. 同一文字をまとめて、ユニークな文字列の値、出現回数をまとめた配列(or Map)を作る
2. 隣接要素のレーベンシュタイン距離がしきい値を越えるように並べ替える
3. 1周する
4. 各要素の出現回数を -1
5. 全要素が出現回数0なら終了。一部に出現回数0があったら、2.へ、それ以外は3.へ
2019/07/11(木) 12:55:32.55ID:???
2019/07/11(木) 13:00:50.25ID:???
2019/07/11(木) 13:15:30.24ID:???
2019/07/11(木) 13:17:15.71ID:???
巡回セールスマン問題か?
2019/07/11(木) 13:25:41.28ID:???
>>153
const length = 100
const a = ["aaa", "bbb", "ccc"]
let aryResults = []
aryResults.push(a[(Math.random()*3 | 0)]) // 2 ** 31 を下回ることが保証されているので | 0 で可
const l = length - 1
for (i = 0; i < l; i++) {
console.log(aryResults[i])
let setTmp = new Set(a)
setTmp.delete(aryResults[i])
const arrTmp = [...setTmp]
aryResults.push(arrTmp[(Math.random()*2 | 0)])
}
console.log(aryResults)
…例がわるい
「文字列が入った配列」の種類はいくつよ
const length = 100
const a = ["aaa", "bbb", "ccc"]
let aryResults = []
aryResults.push(a[(Math.random()*3 | 0)]) // 2 ** 31 を下回ることが保証されているので | 0 で可
const l = length - 1
for (i = 0; i < l; i++) {
console.log(aryResults[i])
let setTmp = new Set(a)
setTmp.delete(aryResults[i])
const arrTmp = [...setTmp]
aryResults.push(arrTmp[(Math.random()*2 | 0)])
}
console.log(aryResults)
…例がわるい
「文字列が入った配列」の種類はいくつよ
2019/07/11(木) 13:54:53.95ID:???
例えば範囲が、1〜100 なら、
1, 100, 2, 99 みたいに取っていくと、
最後には、50 近辺の数字ばかりが残るから、ダメ!
無数のアルゴリズム・シミュレーションを繰り返して、
合計距離が多くなるように、しないといけない
1, 100, 2, 99 みたいに取っていくと、
最後には、50 近辺の数字ばかりが残るから、ダメ!
無数のアルゴリズム・シミュレーションを繰り返して、
合計距離が多くなるように、しないといけない
166こんなのはダメ?
2019/07/11(木) 14:33:34.54ID:??? // 出現回数は考慮しないものとする
// 小文字アルファベット a-z から選ぶものとする
const length = 100
const threshold = 10
let a = []
let place = []
let aryResults = []
for (let i = 0; i < 26; i++) {
let strTmp = String.fromCharCode(0x61 + i)
a.push(strTmp)
place.push(-threshold)
}
for (let i = 0; i < length; i++) {
let t = i - threshold
let setTmp = new Set(a)
for (j = 0; j < 26; j++) {
if (place[j] > t) { setTmp.delete(a[j]) }
}
const arrTmp = [...setTmp]
let x = (Math.random() * arrTmp.length | 0)
place[x] = i
aryResults.push(arrTmp[x])
}
console.log(aryResults)
// 小文字アルファベット a-z から選ぶものとする
const length = 100
const threshold = 10
let a = []
let place = []
let aryResults = []
for (let i = 0; i < 26; i++) {
let strTmp = String.fromCharCode(0x61 + i)
a.push(strTmp)
place.push(-threshold)
}
for (let i = 0; i < length; i++) {
let t = i - threshold
let setTmp = new Set(a)
for (j = 0; j < 26; j++) {
if (place[j] > t) { setTmp.delete(a[j]) }
}
const arrTmp = [...setTmp]
let x = (Math.random() * arrTmp.length | 0)
place[x] = i
aryResults.push(arrTmp[x])
}
console.log(aryResults)
2019/07/11(木) 15:13:28.83ID:???
>>153
うーん
定性的な部分をどうにかしないと書けないな
「似た文字列」
何をもって「似ている」と判断するか基準不明
「できるだけ似た文字列が並ばないように」
→どの範囲で許されるのか
高田馬場1丁目1番地、2番地…
高田馬場2丁目1番地、2番地…
高田馬場3丁目1番地、2番地…
高田馬場4丁目1番地、2番地…
高田馬場5丁目1番地、2番地…
西早稲田1丁目1番地、2番地…
西早稲田2丁目1番地、2番地…
西早稲田3丁目1番地、2番地…
西早稲田4丁目1番地、2番地…
西早稲田5丁目1番地、2番地…
とかなら、まだ分かりやすいだろうけど(高田馬場m丁目と西早稲田n丁目の遠近は度外視として)
うーん
定性的な部分をどうにかしないと書けないな
「似た文字列」
何をもって「似ている」と判断するか基準不明
「できるだけ似た文字列が並ばないように」
→どの範囲で許されるのか
高田馬場1丁目1番地、2番地…
高田馬場2丁目1番地、2番地…
高田馬場3丁目1番地、2番地…
高田馬場4丁目1番地、2番地…
高田馬場5丁目1番地、2番地…
西早稲田1丁目1番地、2番地…
西早稲田2丁目1番地、2番地…
西早稲田3丁目1番地、2番地…
西早稲田4丁目1番地、2番地…
西早稲田5丁目1番地、2番地…
とかなら、まだ分かりやすいだろうけど(高田馬場m丁目と西早稲田n丁目の遠近は度外視として)
2019/07/11(木) 18:44:54.37ID:???
169168
2019/07/11(木) 18:57:22.10ID:??? 厳密には、先頭/末尾の繋ぎが未チェックという問題が残っているが…
2.のソート時に繋ぎを意識したsortにして、5.から2.へ行く前に直前要素と先頭要素を比較する処理を入れてやれば良さそうだ
2.のソート時に繋ぎを意識したsortにして、5.から2.へ行く前に直前要素と先頭要素を比較する処理を入れてやれば良さそうだ
2019/07/11(木) 19:05:14.95ID:???
Set 使えば登場回数ゼロはありえないだろ
2019/07/11(木) 21:08:08.24ID:???
2019/07/11(木) 22:05:01.09ID:???
2019/07/11(木) 22:46:54.92ID:???
難しく考えすぎ
期待値に達するまで適当に振り分続ければいいだけ
あとはその振り分けアルゴリズムが完全なランダムより賢ければ賢いだけコストが減る
それを十分な状態になるまで追求すればいいだけ
期待値に達するまで適当に振り分続ければいいだけ
あとはその振り分けアルゴリズムが完全なランダムより賢ければ賢いだけコストが減る
それを十分な状態になるまで追求すればいいだけ
2019/07/11(木) 23:06:14.34ID:???
>>173
振り分けアルゴリズムの質問にその回答はなかろうて
振り分けアルゴリズムの質問にその回答はなかろうて
2019/07/12(金) 00:11:21.39ID:???
「ナップサック問題」でも「全検索」は解の1つ
エレガントではないかも知れないが、不正解という評価は誤り
エレガントではないかも知れないが、不正解という評価は誤り
2019/07/12(金) 00:27:51.52ID:???
https://postd.cc/programmer-competency-matrix/
いきなり「レーベンシュタイン距離」と書いたとしても、他の人に理解されるとは限らん…
元質問者の場合はそうではないようだが
いきなり「レーベンシュタイン距離」と書いたとしても、他の人に理解されるとは限らん…
元質問者の場合はそうではないようだが
2019/07/12(金) 07:09:02.33ID:???
こういう時は発送を逆転させる
つまり良い分配アルゴリズムではなく、悪い整頓アルゴリズムを考える
それで思いつくものを現実的な妥協点として良いと思う
そういう意味ではランダムは悪くない
つまり良い分配アルゴリズムではなく、悪い整頓アルゴリズムを考える
それで思いつくものを現実的な妥協点として良いと思う
そういう意味ではランダムは悪くない
2019/07/12(金) 07:13:30.04ID:???
最初ランダムで走査して固まってる部分があったら適当に入れ替えてほぐす
その繰り返しはどうだろうか?
その繰り返しはどうだろうか?
2019/07/12(金) 07:35:15.03ID:???
レーメンはじめました
2019/07/12(金) 08:28:39.10ID:???
2019/07/12(金) 08:35:04.73ID:???
>>175
> 「ナップサック問題」でも「全検索」は解の1つ
「全検索 アルゴリズム」でぐぐっても見つからないが、もしかして「全探索」といいたかったのか?
全探索は「全ての組み合わせを試す」というもので、1000個の要素なら、最大試行回数=1000*999*998*...*3*2*1回となる力業
> エレガントではないかも知れないが、不正解という評価は誤り
>>173は「失敗したらやり直す」なので「全探索」とは違う
「振り分けアルゴリズム」に欠陥があれば、永久に失敗するので無限ループとなるし、アルゴリズムの成功確率が低ければ、試行回数は全探索よりも高くなる可能性が高い
アルゴリズムに欠陥がない場合の最大試行回数は「1〜∞回」で運要素の高い方法
> 「ナップサック問題」でも「全検索」は解の1つ
「全検索 アルゴリズム」でぐぐっても見つからないが、もしかして「全探索」といいたかったのか?
全探索は「全ての組み合わせを試す」というもので、1000個の要素なら、最大試行回数=1000*999*998*...*3*2*1回となる力業
> エレガントではないかも知れないが、不正解という評価は誤り
>>173は「失敗したらやり直す」なので「全探索」とは違う
「振り分けアルゴリズム」に欠陥があれば、永久に失敗するので無限ループとなるし、アルゴリズムの成功確率が低ければ、試行回数は全探索よりも高くなる可能性が高い
アルゴリズムに欠陥がない場合の最大試行回数は「1〜∞回」で運要素の高い方法
2019/07/12(金) 08:43:34.05ID:???
2019/07/12(金) 09:41:21.55ID:???
2019/07/12(金) 11:14:45.16ID:???
>>181
1000は無いだろ
選択肢3つなんだから、たとえば1002個あったと仮定して、
同じ選択肢が決して連続しないのは大前提だろ
「できるだけ似てない文字列が隣合って並ぶように」って言ってんだから
ケチばっか付けた挙句完全に誤ったこと書いてんじゃねえよ無能
1000は無いだろ
選択肢3つなんだから、たとえば1002個あったと仮定して、
同じ選択肢が決して連続しないのは大前提だろ
「できるだけ似てない文字列が隣合って並ぶように」って言ってんだから
ケチばっか付けた挙句完全に誤ったこと書いてんじゃねえよ無能
2019/07/12(金) 11:17:21.32ID:???
なんで選択肢が3つだけだと思ったんだろう…
2019/07/12(金) 11:33:35.09ID:???
ランダムに(または、ルールで制限しつつ)シャッフルして、
許容回数実行して、最善のものを選ぶ
最良のアルゴリズムを考えなくて良いから、
これが簡単で現実的で、そこそこ良い結果も得られる
許容回数実行して、最善のものを選ぶ
最良のアルゴリズムを考えなくて良いから、
これが簡単で現実的で、そこそこ良い結果も得られる
2019/07/12(金) 11:47:35.76ID:???
要約すると
「できるだけ似た文字列が並ばないように」並び替えるアルゴリズムは思いつかないので
「ランダムに」並び替えるアルゴリズムでごまかしましょう
「できるだけ似た文字列が並ばないように」並び替えるアルゴリズムは思いつかないので
「ランダムに」並び替えるアルゴリズムでごまかしましょう
2019/07/12(金) 12:29:54.13ID:???
2019/07/12(金) 12:47:43.74ID:???
重複しない整数からなる4個以上の数列がある
例 1,2,3,4
これを並び替えて、隣り合う数の差が2以上である
並びとして次のようなものが考えられる
例 3,1,4,2
この数列が大量(例1 000個)にあるとき
隣り合う数の差が2以上に並び替えるアルゴリズムを考えよ
また、隣り合う数の差の合計が最大になるアルゴリズムを考えよ
アルゴリズムは高速であればあるほどよい
参考 隣り合う数の差の合計
3,1,4,2,5 の場合 2+3+2+3=10
4,2,5,1,3 の場合 2+3+4+2=11
例 1,2,3,4
これを並び替えて、隣り合う数の差が2以上である
並びとして次のようなものが考えられる
例 3,1,4,2
この数列が大量(例1 000個)にあるとき
隣り合う数の差が2以上に並び替えるアルゴリズムを考えよ
また、隣り合う数の差の合計が最大になるアルゴリズムを考えよ
アルゴリズムは高速であればあるほどよい
参考 隣り合う数の差の合計
3,1,4,2,5 の場合 2+3+2+3=10
4,2,5,1,3 の場合 2+3+4+2=11
2019/07/12(金) 12:49:36.02ID:???
2019/07/12(金) 12:51:26.45ID:???
1000個もいらんかね?
100個でも総当たりするのは十分しんどいレベルになるな
9.3326215443944152681699238856267e+157
100個でも総当たりするのは十分しんどいレベルになるな
9.3326215443944152681699238856267e+157
2019/07/12(金) 12:52:09.49ID:???
>>190
そこそこ結果でOKなんて誰が言ったんですか?
そこそこ結果でOKなんて誰が言ったんですか?
2019/07/12(金) 12:57:10.07ID:???
1文字目で分類して最も多いものから順に均等に振り分ける
その振り分け範囲内で2文字について同じように振り分けなおす
短文字ではこれを繰り返すのが最もコストが少なく並び替えられる
その振り分け範囲内で2文字について同じように振り分けなおす
短文字ではこれを繰り返すのが最もコストが少なく並び替えられる
2019/07/12(金) 13:01:01.68ID:???
2019/07/12(金) 13:03:36.87ID:???
>>194
きにすんな、別の問題として考えろ
きにすんな、別の問題として考えろ
2019/07/12(金) 14:02:20.62ID:???
>>189
0,500,1,501…なら499001
500,0,999,1,998,2…なら499999
ちなみにランダムで1000回試行で350000、100000回試行で360000程度
最低限何らかのアルゴリズムは無いときつくね?
0,500,1,501…なら499001
500,0,999,1,998,2…なら499999
ちなみにランダムで1000回試行で350000、100000回試行で360000程度
最低限何らかのアルゴリズムは無いときつくね?
2019/07/12(金) 14:32:18.01ID:???
うわ
マウンターばっかり
屁理屈こねまくって重箱の隅をつつきまくって
1行もコードも何も具体的なモノ書かずに
良く上から目線で書き込めるもんだ
マウンターばっかり
屁理屈こねまくって重箱の隅をつつきまくって
1行もコードも何も具体的なモノ書かずに
良く上から目線で書き込めるもんだ
2019/07/12(金) 14:38:39.76ID:???
>>153 における
> 文字列が入った配列(例として["aaa","aaa","bbb","bbb","ccc","ccc",…以下1000個ほど続くとする])
の構成要素が、具体的に ["aaa,""bbb,", "ccc" ...] 以外何があるか回答がない
釣り確定だな
> 文字列が入った配列(例として["aaa","aaa","bbb","bbb","ccc","ccc",…以下1000個ほど続くとする])
の構成要素が、具体的に ["aaa,""bbb,", "ccc" ...] 以外何があるか回答がない
釣り確定だな
2019/07/12(金) 14:47:11.28ID:???
2019/07/12(金) 16:36:52.91ID:???
2019/07/12(金) 16:37:34.86ID:???
2019/07/12(金) 16:41:37.04ID:???
https://en.wikibooks.org/wiki/Algorithm_Implementation/Strings/Levenshtein_distance#JavaScript
こんなの発見
ライセンスは CC BY-SA 3.0
こんなの発見
ライセンスは CC BY-SA 3.0
2019/07/12(金) 19:17:56.51ID:???
このスレの質問者は、回答があってもガン無視する奴ばかり
回答に意見を返して、前向きに取り組もうとする質問者はいないのか?
「自ら学ぶ質問者」を見たい
回答に意見を返して、前向きに取り組もうとする質問者はいないのか?
「自ら学ぶ質問者」を見たい
2019/07/12(金) 19:59:37.69ID:???
2019/07/12(金) 20:01:48.38ID:???
>>204
君のようなコミュニケーションを拒否する人は、質問者に向いてないと思うよ
君のようなコミュニケーションを拒否する人は、質問者に向いてないと思うよ
2019/07/12(金) 20:54:59.69ID:???
皆が色んなアルゴリズムを比較しやすいように基盤を作ってみた
https://playcode.io/371956?tabs=script.js,preview,console
条件として、ある文字列のある位置の文字を取り出したときに、
同じ位置に同じ文字がある文字列がどれだけ近いかを全ての文字列の全ての文字で見ることで
似た文字列がどれだけ近くに固まっていないかの値を求めるようにした
つまりABCDのよこにBADCがあってもそれは限りなく無関係同士の文字列と評価されるので
そこが気になる人は評価計算部を変えて欲しい
それと各文字の出現頻度はだいたい均一と仮定している(Aが極端に多くてBが極端に少なかったりしない)ので、
そこも生成部に手を入れて変えて欲しい
また、距離に対して比例して評価していてすぐ隣と、1つ開いている状態はあまり違わないと評価するのでそこも手の入れどころ
とりあえず様々に実験して気がついたこととしては、
・各文字の出現頻度、組み合わせ方に偏りがない
・文字種類数が少ない
ときはそもそも、どのように並び替えても似た文字列が近くに来てしまう状況になる
例えば上の例であったような、ABCのように単純な文字列はまさにそうで、
何か組み合わせに特別な偏りが無い限り、一回ランダムにばらした状態でほぼ限界に近い
https://playcode.io/371956?tabs=script.js,preview,console
条件として、ある文字列のある位置の文字を取り出したときに、
同じ位置に同じ文字がある文字列がどれだけ近いかを全ての文字列の全ての文字で見ることで
似た文字列がどれだけ近くに固まっていないかの値を求めるようにした
つまりABCDのよこにBADCがあってもそれは限りなく無関係同士の文字列と評価されるので
そこが気になる人は評価計算部を変えて欲しい
それと各文字の出現頻度はだいたい均一と仮定している(Aが極端に多くてBが極端に少なかったりしない)ので、
そこも生成部に手を入れて変えて欲しい
また、距離に対して比例して評価していてすぐ隣と、1つ開いている状態はあまり違わないと評価するのでそこも手の入れどころ
とりあえず様々に実験して気がついたこととしては、
・各文字の出現頻度、組み合わせ方に偏りがない
・文字種類数が少ない
ときはそもそも、どのように並び替えても似た文字列が近くに来てしまう状況になる
例えば上の例であったような、ABCのように単純な文字列はまさにそうで、
何か組み合わせに特別な偏りが無い限り、一回ランダムにばらした状態でほぼ限界に近い
2019/07/12(金) 21:04:18.73ID:???
「まともな回答ない」で諦めるか、「質問の要件を追記して更なる回答を募ろう」と踏ん張るか、が判断の分かれ目
実際、要件をまともに書いた質問はほとんどない
実際、要件をまともに書いた質問はほとんどない
2019/07/12(金) 22:18:52.66ID:???
要件をまとも書けるくらいの質問をする人ならば、
自力で解答を見つけることが出来る。
自力で解答を見つけることが出来る。
2019/07/12(金) 22:34:38.85ID:???
質問しようと文章でまとめてみたり、ggrks呼ばわりされないように検索してみたりしているうちに
解決方法が見つかることが稀によくある
解決方法が見つかることが稀によくある
2019/07/12(金) 22:53:54.32ID:???
2019/07/13(土) 01:27:49.82ID:???
「AしたりBしたり」と書いてあるのを「AとBしかしない」と解釈するひとって…
2019/07/13(土) 07:03:05.20ID:???
結局、質問者が回答を煽って、魚を期待するスレなのか
2019/07/13(土) 09:12:38.57ID:???
定性的発言で申し訳ないが…
…内容的には良くなったと思うよ…
マウンターと暴言のオンパレードだった訳だしね
…内容的には良くなったと思うよ…
マウンターと暴言のオンパレードだった訳だしね
2019/07/13(土) 10:51:11.96ID:???
質問者が出てこないから、「質問スレ」としては機能していないと思う
「お題」を与えられた回答者が意見交換or布教活動してるだけ
そこに、煽り、マウントが入るとgdgdになる
「お題」を与えられた回答者が意見交換or布教活動してるだけ
そこに、煽り、マウントが入るとgdgdになる
215Name_Not_Found (ワッチョイ 7e8f-XC/u)
2019/07/13(土) 13:09:01.55ID:???0 じゃ、こっちで質問をば…
+ JavaScript の質問用スレッド vol.123 +
https://mevius.5ch.net/test/read.cgi/tech/1491143438/183
https://leetcode.com を始めました。
そこで、質問です。
var toLowerCase = function(str) {
const length = str.length
let str_result = ""
for (let i = 0; i < length; i++) {
const char_code = str.charCodeAt(i)
if ((0x41 <= char_code) && (char_code <= 0x5a)) {
str_result += String.fromCharCode(char_code + 0x20)
} else {
str_result += String.fromCharCode(char_code)
}
}
return str_result
}
console.log(toLowerCase("Hello"))
console.log(toLowerCase("here"))
console.log(toLowerCase("LOVELY"))
こんなコードを書くのは少数派でしょうか?
+ JavaScript の質問用スレッド vol.123 +
https://mevius.5ch.net/test/read.cgi/tech/1491143438/183
https://leetcode.com を始めました。
そこで、質問です。
var toLowerCase = function(str) {
const length = str.length
let str_result = ""
for (let i = 0; i < length; i++) {
const char_code = str.charCodeAt(i)
if ((0x41 <= char_code) && (char_code <= 0x5a)) {
str_result += String.fromCharCode(char_code + 0x20)
} else {
str_result += String.fromCharCode(char_code)
}
}
return str_result
}
console.log(toLowerCase("Hello"))
console.log(toLowerCase("here"))
console.log(toLowerCase("LOVELY"))
こんなコードを書くのは少数派でしょうか?
216215 (ワッチョイ 7e8f-XC/u)
2019/07/13(土) 13:10:09.72ID:8ujBhffr0 コテハン記憶age
217215 (ワッチョイ 7e8f-XC/u)
2019/07/13(土) 13:23:59.14ID:8ujBhffr0 str_result += ((0x41 <= char_code) && (char_code <= 0x5a))
? String.fromCharCode(char_code + 0x20)
: String.fromCharCode(char_code)
…とか…
? String.fromCharCode(char_code + 0x20)
: String.fromCharCode(char_code)
…とか…
2019/07/13(土) 15:02:17.05ID:???
そもそも条件は?
何を持ってどこまでの範囲をLowerCaseと言うの?
例えば標準ではアルファベット以外もサポートしてるよ
"Α".toLowerCase() //"α"
何を持ってどこまでの範囲をLowerCaseと言うの?
例えば標準ではアルファベット以外もサポートしてるよ
"Α".toLowerCase() //"α"
219215 (ワッチョイ 7e8f-XC/u)
2019/07/13(土) 16:05:41.95ID:8ujBhffr0 >>218
> 何を持ってどこまでの範囲をLowerCaseと言うの?
https://leetcode.com/problems/to-lower-case/
> Implement function ToLowerCase() that has a string parameter str,
> and returns the same string in lowercase.
>
> Example 1:
>
> Input: "Hello"
> Output: "hello"
>
>
> Example 2:
>
> Input: "here"
> Output: "here"
>
>
> Example 3:
>
> Input: "LOVELY"
> Output: "lovely"
たしかに「厳密な範囲」は示されてないですね。
Example にあるものが回答できれば "solved" という状態になるので
アルファベット26文字に対する変換が出来れば充分、ということになります
> 何を持ってどこまでの範囲をLowerCaseと言うの?
https://leetcode.com/problems/to-lower-case/
> Implement function ToLowerCase() that has a string parameter str,
> and returns the same string in lowercase.
>
> Example 1:
>
> Input: "Hello"
> Output: "hello"
>
>
> Example 2:
>
> Input: "here"
> Output: "here"
>
>
> Example 3:
>
> Input: "LOVELY"
> Output: "lovely"
たしかに「厳密な範囲」は示されてないですね。
Example にあるものが回答できれば "solved" という状態になるので
アルファベット26文字に対する変換が出来れば充分、ということになります
2019/07/13(土) 16:23:24.92ID:???
それで一番の目的は速度ってこと?
ならバイナリ化してWASMに渡すとかも選択肢なの?
でもそういうのって往々にしてオーバーヘッドが大きいから
例文の様に短文字だと悪手だよね
それともう一つ重要な点として大文字小文字のアルファベットしか入力されないの?
それだったらパフォーマンスとコーディングのシンプルさを両立して
チェックもせずにテーブルで変換とかも容易にできると思うけど
もしくは適当でいいのならreplace使ったりしても良いんじゃないの?
前提条件がサッパリ分からないから、まず>>215さんが
どうしてそういうコードを書いたほうが良いと思ってるのかが疑問
ならバイナリ化してWASMに渡すとかも選択肢なの?
でもそういうのって往々にしてオーバーヘッドが大きいから
例文の様に短文字だと悪手だよね
それともう一つ重要な点として大文字小文字のアルファベットしか入力されないの?
それだったらパフォーマンスとコーディングのシンプルさを両立して
チェックもせずにテーブルで変換とかも容易にできると思うけど
もしくは適当でいいのならreplace使ったりしても良いんじゃないの?
前提条件がサッパリ分からないから、まず>>215さんが
どうしてそういうコードを書いたほうが良いと思ってるのかが疑問
221Name_Not_Found
2019/07/13(土) 16:45:47.14ID:fHfioXNC222215 (ワッチョイ 7e8f-XC/u)
2019/07/13(土) 16:58:53.43ID:8ujBhffr0 別解が知りたいだけです
配列を2つ作って1文字毎に変換するなり、ハッシュで変換する方法もあるでしょう
>>218 のようなものも含めるなら、変換テーブルを自前で持っておく方が良いようにも思われますが
これは別問題ですね
String.replace() を MDN で読んでいて思ったんですけど
Javascript の string ってシングルトンパターンなんですかねえ
配列を2つ作って1文字毎に変換するなり、ハッシュで変換する方法もあるでしょう
>>218 のようなものも含めるなら、変換テーブルを自前で持っておく方が良いようにも思われますが
これは別問題ですね
String.replace() を MDN で読んでいて思ったんですけど
Javascript の string ってシングルトンパターンなんですかねえ
2019/07/13(土) 17:34:15.55ID:???
2019/07/13(土) 17:44:23.94ID:???
既に動いているコードがあるなら、別解を求める必要は普通はない
理由があるはずだが、「別解が知りたいだけ」だし、どんなコードでも受け入れると
アンケート系は勘弁して欲しいな…
理由があるはずだが、「別解が知りたいだけ」だし、どんなコードでも受け入れると
アンケート系は勘弁して欲しいな…
2019/07/13(土) 17:45:37.28ID:???
>>222
replaceなどの結果がキャッシュされるような仕様はないが
別にキャッシュしても仕様に違反しない
JSは仕様と実装が完全に切り離されているのでそういう部分は実装次第
別解が知りたいというけど問題が単純すぎるのでアルゴリズム的別解はない
文字を文字として見てテーブルで変換するか、
文字コードとして見て演算するかくらいしかない
だから単純にJSの基本、アルゴリズムの勉強問題として見れば問題ない
だけど良いコードパターンで書けてるかというと違う
それが今回の例で実際に問題になるかは置いといて
文字列を変換するときの一般的な良いパターンとして
まずサロゲートペアを意識すること
つまりcharCodeAtなどではなくcodePointAtを使う
もしくはfor-ofで文字を取り出す
そしてマジックナンバーは使わない
コードに突然0xなんちゃらと現れても大抵の人はそれが何を示しているのか分からない
だから”A”の文字コードは事前に'A'.codePointAt()などで求めておいて定数に格納しておく
replaceなどの結果がキャッシュされるような仕様はないが
別にキャッシュしても仕様に違反しない
JSは仕様と実装が完全に切り離されているのでそういう部分は実装次第
別解が知りたいというけど問題が単純すぎるのでアルゴリズム的別解はない
文字を文字として見てテーブルで変換するか、
文字コードとして見て演算するかくらいしかない
だから単純にJSの基本、アルゴリズムの勉強問題として見れば問題ない
だけど良いコードパターンで書けてるかというと違う
それが今回の例で実際に問題になるかは置いといて
文字列を変換するときの一般的な良いパターンとして
まずサロゲートペアを意識すること
つまりcharCodeAtなどではなくcodePointAtを使う
もしくはfor-ofで文字を取り出す
そしてマジックナンバーは使わない
コードに突然0xなんちゃらと現れても大抵の人はそれが何を示しているのか分からない
だから”A”の文字コードは事前に'A'.codePointAt()などで求めておいて定数に格納しておく
2019/07/13(土) 19:47:09.83ID:???
この質問者も>>203のタイプか
227215 (ワッチョイ 7e8f-XC/u)
2019/07/14(日) 09:25:06.58ID:c8hg/KPq0 >>225
コードに突然0xなんちゃらと現れても大抵の人はそれが何を示しているのか分からない
だから”A”の文字コードは事前に'A'.codePointAt()などで求めておいて定数に格納しておく
1行目、ものすごく驚きました
EBCDIC を採用するかどうかが実装依存だというならともかく
https://www.ecma-international.org/ecma-262/10.0/#sec-terms-and-definitions-string-value
> 4.3.17 String value
>
> primitive value that is a finite ordered sequence of zero or more 16-bit
> unsigned integer values
>
> Note
>
> A String value is a member of the String type. Each integer value in the
> sequence usually represents a single 16-bit unit of UTF-16 text. However,
> ECMAScript does not place any restrictions or requirements on the values
> except that they must be 16-bit unsigned integers.
という仕様が前提なら、us-ascii / JIS X 0301 そのままの文字コードが殆ど知られてない…
参照:
https://unicode.org/Public/MAPPINGS/ISO8859/8859-1.TXT
https://unicode.org/Public/MAPPINGS/VENDORS/APPLE/JAPANESE.TXT
https://unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.TXT
コードに突然0xなんちゃらと現れても大抵の人はそれが何を示しているのか分からない
だから”A”の文字コードは事前に'A'.codePointAt()などで求めておいて定数に格納しておく
1行目、ものすごく驚きました
EBCDIC を採用するかどうかが実装依存だというならともかく
https://www.ecma-international.org/ecma-262/10.0/#sec-terms-and-definitions-string-value
> 4.3.17 String value
>
> primitive value that is a finite ordered sequence of zero or more 16-bit
> unsigned integer values
>
> Note
>
> A String value is a member of the String type. Each integer value in the
> sequence usually represents a single 16-bit unit of UTF-16 text. However,
> ECMAScript does not place any restrictions or requirements on the values
> except that they must be 16-bit unsigned integers.
という仕様が前提なら、us-ascii / JIS X 0301 そのままの文字コードが殆ど知られてない…
参照:
https://unicode.org/Public/MAPPINGS/ISO8859/8859-1.TXT
https://unicode.org/Public/MAPPINGS/VENDORS/APPLE/JAPANESE.TXT
https://unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.TXT
228215 (ワッチョイ 7e8f-XC/u)
2019/07/14(日) 09:31:33.39ID:c8hg/KPq0 > だから”A”の文字コードは事前に'A'.codePointAt()などで求めておいて定数に格納しておく
定数に格納するなら、私だったら
/*
0x41 LATIN CAPITAL LETTER A
0x61 LATIN SMALL LETTER A
0x
*/
const int_codePointAtA = 0x41
/*
0x5a LATIN CAPITAL LETTER Z
0x7a LATIN SMALL LETTER Z
*/
const int_codePointAtZ = 0x7a
とか…
即値とメソッド呼び出しの差は分かりませんが…
参照:
https://unicode.org/Public/MAPPINGS/ISO8859/8859-1.TXT
定数に格納するなら、私だったら
/*
0x41 LATIN CAPITAL LETTER A
0x61 LATIN SMALL LETTER A
0x
*/
const int_codePointAtA = 0x41
/*
0x5a LATIN CAPITAL LETTER Z
0x7a LATIN SMALL LETTER Z
*/
const int_codePointAtZ = 0x7a
とか…
即値とメソッド呼び出しの差は分かりませんが…
参照:
https://unicode.org/Public/MAPPINGS/ISO8859/8859-1.TXT
229215 (ワッチョイ 7e8f-XC/u)
2019/07/14(日) 09:32:34.14ID:c8hg/KPq0230215 (ワッチョイ 7e8f-XC/u)
2019/07/14(日) 09:33:37.40ID:c8hg/KPq0 >>224
> アンケート系は勘弁して欲しいな…
具体的なコードが複数あるなら「アンケート」と呼ぶ余地はあるかも知れませんが
今回のコードは具体的なモノが1つしか無いので「アンケート」と呼ぶ余地はないですよ
> アンケート系は勘弁して欲しいな…
具体的なコードが複数あるなら「アンケート」と呼ぶ余地はあるかも知れませんが
今回のコードは具体的なモノが1つしか無いので「アンケート」と呼ぶ余地はないですよ
231215 (ワッチョイ 7e8f-XC/u)
2019/07/14(日) 09:36:11.30ID:c8hg/KPq0 >>220
> 大文字小文字のアルファベットしか入力されないの?
回答例からみて、そう判断しました。
もちろん
https://unicode.org/Public/MAPPINGS/ISO8859/8859-1.TXT
https://unicode.org/Public/MAPPINGS/ISO8859/8859-2.TXT
https://unicode.org/Public/MAPPINGS/ISO8859/8859-3.TXT
https://unicode.org/Public/MAPPINGS/ISO8859/8859-4.TXT
https://unicode.org/Public/MAPPINGS/ISO8859/8859-5.TXT
https://unicode.org/Public/MAPPINGS/ISO8859/8859-7.TXT
https://unicode.org/Public/MAPPINGS/ISO8859/8859-8.TXT
https://unicode.org/Public/MAPPINGS/ISO8859/8859-13.TXT
https://unicode.org/Public/MAPPINGS/ISO8859/8859-14.TXT
https://unicode.org/Public/MAPPINGS/ISO8859/8859-15.TXT
https://unicode.org/Public/MAPPINGS/ISO8859/8859-16.TXT
あたりから、変換対象は特定可能なので、
us-ascii / JIS X 0201 相当でない範囲も変換できるコードは書けるかと。
> 大文字小文字のアルファベットしか入力されないの?
回答例からみて、そう判断しました。
もちろん
https://unicode.org/Public/MAPPINGS/ISO8859/8859-1.TXT
https://unicode.org/Public/MAPPINGS/ISO8859/8859-2.TXT
https://unicode.org/Public/MAPPINGS/ISO8859/8859-3.TXT
https://unicode.org/Public/MAPPINGS/ISO8859/8859-4.TXT
https://unicode.org/Public/MAPPINGS/ISO8859/8859-5.TXT
https://unicode.org/Public/MAPPINGS/ISO8859/8859-7.TXT
https://unicode.org/Public/MAPPINGS/ISO8859/8859-8.TXT
https://unicode.org/Public/MAPPINGS/ISO8859/8859-13.TXT
https://unicode.org/Public/MAPPINGS/ISO8859/8859-14.TXT
https://unicode.org/Public/MAPPINGS/ISO8859/8859-15.TXT
https://unicode.org/Public/MAPPINGS/ISO8859/8859-16.TXT
あたりから、変換対象は特定可能なので、
us-ascii / JIS X 0201 相当でない範囲も変換できるコードは書けるかと。
232215 (ワッチョイ 7e8f-XC/u)
2019/07/14(日) 09:38:01.02ID:c8hg/KPq0 > 別解
for (let i = 0; i < length; i++) {
const char_code = str.charCodeAt(i)
if ((0x41 <= char_code) && (char_code <= 0x5a)) {
str_result += String.fromCharCode(char_code + 0x20)
} else {
str_result += String.fromCharCode(char_code)
}
という部分について、他にどのような考え方があるか分かれば
色々な場面で応用が利くと考え、質問した次第です。
for (let i = 0; i < length; i++) {
const char_code = str.charCodeAt(i)
if ((0x41 <= char_code) && (char_code <= 0x5a)) {
str_result += String.fromCharCode(char_code + 0x20)
} else {
str_result += String.fromCharCode(char_code)
}
という部分について、他にどのような考え方があるか分かれば
色々な場面で応用が利くと考え、質問した次第です。
233215 (ワッチョイ 7e8f-XC/u)
2019/07/14(日) 09:39:50.36ID:c8hg/KPq0 >>220
> チェックもせずにテーブルで変換とかも容易にできると思うけど
> もしくは適当でいいのならreplace使ったりしても良いんじゃないの?
チェックの点は見落としていました
御指摘、ありがとうございます
「Acute 等がついていてサロゲートペアでない」場合を含めてチェックすべきかも知れないですね
> チェックもせずにテーブルで変換とかも容易にできると思うけど
> もしくは適当でいいのならreplace使ったりしても良いんじゃないの?
チェックの点は見落としていました
御指摘、ありがとうございます
「Acute 等がついていてサロゲートペアでない」場合を含めてチェックすべきかも知れないですね
234215 (ワッチョイ 7e8f-XC/u)
2019/07/14(日) 09:45:40.61ID:c8hg/KPq0 >>220
> どうしてそういうコードを書いたほうが良いと思ってるのか
古典BASICで言うところの MID$() 関数で1文字ずつ抜き出して FOR ループで回し、
条件分岐で ASC() → CHR$() というのがが真っ先に思いついたからです。
「良いと思った」というよりも、Javascript をメインで使っている人が
自然に思いつくコードを知りたいという思いがありまして。
それこそ、大抵の人はこのような発想を自然にはしないと考えられたのです。
「こういうコードを書いたほうが良いと思ってる」というよりはむしろ「『私は』自然に『思いついた』のです」
> どうしてそういうコードを書いたほうが良いと思ってるのか
古典BASICで言うところの MID$() 関数で1文字ずつ抜き出して FOR ループで回し、
条件分岐で ASC() → CHR$() というのがが真っ先に思いついたからです。
「良いと思った」というよりも、Javascript をメインで使っている人が
自然に思いつくコードを知りたいという思いがありまして。
それこそ、大抵の人はこのような発想を自然にはしないと考えられたのです。
「こういうコードを書いたほうが良いと思ってる」というよりはむしろ「『私は』自然に『思いついた』のです」
235215 (ワッチョイ 7e8f-XC/u)
2019/07/14(日) 09:47:33.88ID:c8hg/KPq0 >>227
codePointAt() メソッドは存じませんでした。
acute 等の The Unicode Standard Combining Diacritical Marks を含め、挙動等を確認してみます
参照:
Combining Diacritical Marks
http://www.unicode.org/charts/PDF/U0300.pdf
codePointAt() メソッドは存じませんでした。
acute 等の The Unicode Standard Combining Diacritical Marks を含め、挙動等を確認してみます
参照:
Combining Diacritical Marks
http://www.unicode.org/charts/PDF/U0300.pdf
236215 (ワッチョイ 7e8f-XC/u)
2019/07/14(日) 09:48:52.61ID:c8hg/KPq0237215 (ワッチョイ 7e8f-XC/u)
2019/07/14(日) 10:27:56.09ID:c8hg/KPq02019/07/14(日) 11:02:54.18ID:???
>>230
君の質問はこういう事
- >>215と同じ機能を実装するコード(別解)を教えて下さい
- 他に条件はありません
- いろんなコードが欲しいです
この質問は広くコードを集める為のアンケート系質問と俺は呼んでる
OKWaveだとアンケートカテゴリで質問しないと、NG
君が何某かの具体的な問題に直面しているわけではなく、ただ、広く情報を集めるのが目的だから「要件」はない
ただし、君は>>215で要件を全く出していないにも関わらず、回答に対して良し悪しを評価している
後出しで考え(要件)を出す、一番面倒なタイプの質問者
君は後出しで好き勝手にいえるから気楽だろうが、回答者は要件まっさらな状態で回答して悪評価されたらたまったものではないだろうな
君の質問はこういう事
- >>215と同じ機能を実装するコード(別解)を教えて下さい
- 他に条件はありません
- いろんなコードが欲しいです
この質問は広くコードを集める為のアンケート系質問と俺は呼んでる
OKWaveだとアンケートカテゴリで質問しないと、NG
君が何某かの具体的な問題に直面しているわけではなく、ただ、広く情報を集めるのが目的だから「要件」はない
ただし、君は>>215で要件を全く出していないにも関わらず、回答に対して良し悪しを評価している
後出しで考え(要件)を出す、一番面倒なタイプの質問者
君は後出しで好き勝手にいえるから気楽だろうが、回答者は要件まっさらな状態で回答して悪評価されたらたまったものではないだろうな
2019/07/14(日) 11:08:33.13ID:???
もらった回答で品評会開くのは勘弁だな
2019/07/14(日) 11:14:57.78ID:???
2019/07/14(日) 11:32:57.70ID:???
https://mevius.5ch.net/test/read.cgi/tech/1491143438/183-
回答をスルーしているのは、「レスするまでもない回答」という評価か
回答をスルーしているのは、「レスするまでもない回答」という評価か
2019/07/14(日) 11:54:38.04ID:???
2019/07/14(日) 12:16:30.67ID:???
マルチポストについてはSO.jaにまとまってた
https://ja.meta.stackoverflow.com/questions/2418/
https://ja.meta.stackoverflow.com/questions/2418/
2019/07/14(日) 12:40:14.00ID:???
>>227
知られていないと言ったけどASCIIの範囲ならまだ予想も付きやすいかもしれない
だけどただ単にこのゲームをクリアするためではなくて
これは文字を変換する技能を問うているのだと思えば
特に日本に住んでいる我々はひらがなや漢字の文字コードでマッチさせることも有るだろう
>>228
求められない大量のマジックナンバーならそうして持っておくのも良いと思うけど
今回の場合簡単に分かりやすく求められるんだから求めたほうがより良いよ
>>234
JS界は「自然」の範囲が広いから今回のように単純な問題の場合どう書いても自然だから安心していい
ただ俺だったらこういう感じで書くかな
str.replace( /[A-Z]/gu, c => String.fromCodePoint( c.codePointAt() + 32 ) )
色んな書き方を見て知識を増やしたいというのなら、こういう書き方もできる
new TextDecoder( ).decode( new TextEncoder( ).encode( str ).map( p => p | 32 ) )
モダンな言語としてはif文for文や演算子を減らしてスッキリさせるのが良いと思う
ただバイナリ弄ったりして速度を稼ぎたいときは最適化を期待してあえて古風に書くけどね
知られていないと言ったけどASCIIの範囲ならまだ予想も付きやすいかもしれない
だけどただ単にこのゲームをクリアするためではなくて
これは文字を変換する技能を問うているのだと思えば
特に日本に住んでいる我々はひらがなや漢字の文字コードでマッチさせることも有るだろう
>>228
求められない大量のマジックナンバーならそうして持っておくのも良いと思うけど
今回の場合簡単に分かりやすく求められるんだから求めたほうがより良いよ
>>234
JS界は「自然」の範囲が広いから今回のように単純な問題の場合どう書いても自然だから安心していい
ただ俺だったらこういう感じで書くかな
str.replace( /[A-Z]/gu, c => String.fromCodePoint( c.codePointAt() + 32 ) )
色んな書き方を見て知識を増やしたいというのなら、こういう書き方もできる
new TextDecoder( ).decode( new TextEncoder( ).encode( str ).map( p => p | 32 ) )
モダンな言語としてはif文for文や演算子を減らしてスッキリさせるのが良いと思う
ただバイナリ弄ったりして速度を稼ぎたいときは最適化を期待してあえて古風に書くけどね
2019/07/14(日) 13:55:28.91ID:???
>>227
> A String value is a member of the String type. Each integer value in the
> sequence usually represents a single 16-bit unit of UTF-16 text. However,
> ECMAScript does not place any restrictions or requirements on the values
> except that they must be 16-bit unsigned integers.
という仕様が前提なら、us-ascii / JIS X 0301 そのままの文字コードとは限らないのでは?
実装依存ということだろう
> A String value is a member of the String type. Each integer value in the
> sequence usually represents a single 16-bit unit of UTF-16 text. However,
> ECMAScript does not place any restrictions or requirements on the values
> except that they must be 16-bit unsigned integers.
という仕様が前提なら、us-ascii / JIS X 0301 そのままの文字コードとは限らないのでは?
実装依存ということだろう
2019/07/14(日) 22:57:47.86ID:???
<div id="a">
<span class="b">あ い う え お</span>
<span class="b">か き く け こ</span>
</div>
↑ここからjQueryで
"あ い う え お\n
か き く け こ"
と、文字列を取り出しつつ改行(\n)を挟む簡単な方法ってないですかね
とりあえず
$('#a').html().replace()
でタグそのものを除去しつつ置換するか、
$('.b')に対してeachなどでループする方法くらいしか思い浮かびませんが
何か遠回りしてるような気がして
<span class="b">あ い う え お</span>
<span class="b">か き く け こ</span>
</div>
↑ここからjQueryで
"あ い う え お\n
か き く け こ"
と、文字列を取り出しつつ改行(\n)を挟む簡単な方法ってないですかね
とりあえず
$('#a').html().replace()
でタグそのものを除去しつつ置換するか、
$('.b')に対してeachなどでループする方法くらいしか思い浮かびませんが
何か遠回りしてるような気がして
2019/07/15(月) 00:20:31.85ID:???
>>245
UTF-16の仕様…
UTF-16の仕様…
2019/07/15(月) 00:34:47.53ID:???
lcoation.reload()を使って何十回も同じページをリロードしていると、
オブジェクトが捨てられないのか、メモリリークしてどんどんブラウザが遅く&不安定になっていきます
ググっても同様の質問はあるようですが、しかし綺麗な解決策は出て来ませんでした
現在のスクリプト等のことは全部忘れていいからただ単純にリロードさせたいだけなのですが
メモリリークしない方法はないのでしょうか?
実質的にリロードできれば変わったトリックでもいいのですが。
オブジェクトが捨てられないのか、メモリリークしてどんどんブラウザが遅く&不安定になっていきます
ググっても同様の質問はあるようですが、しかし綺麗な解決策は出て来ませんでした
現在のスクリプト等のことは全部忘れていいからただ単純にリロードさせたいだけなのですが
メモリリークしない方法はないのでしょうか?
実質的にリロードできれば変わったトリックでもいいのですが。
2019/07/15(月) 00:42:13.47ID:???
2019/07/15(月) 00:43:34.42ID:???
>>248
IIFE 使う、とか
IIFE 使う、とか
2019/07/15(月) 02:15:29.60ID:???
HTMLCanvasElement.getContext('webgl')で取得したRenderingContextを破棄して
再度同じCanvasElementからRenderingContextを取得することは可能ですか?
再度同じCanvasElementからRenderingContextを取得することは可能ですか?
2019/07/15(月) 07:45:36.28ID:???
2019/07/15(月) 08:37:31.98ID:???
>>252
ありがとうございます諦めます
ありがとうございます諦めます
2019/07/15(月) 13:04:40.28ID:???
2019/07/15(月) 17:17:01.43ID:???
>>248
本当にそういうメモリリークなのならスクリプトで対処することじゃない
Webコンテンツというのは残るものなので場当たり的な対応はすべきでない
きちんとブラウザの問題としてissueを投げて根本から対応してもらうべき
本当にそういうメモリリークなのならスクリプトで対処することじゃない
Webコンテンツというのは残るものなので場当たり的な対応はすべきでない
きちんとブラウザの問題としてissueを投げて根本から対応してもらうべき
2019/07/15(月) 17:33:47.63ID:???
広告ブロックや動画ダウンロード等の拡張が原因だったりして
2019/07/15(月) 20:12:16.31ID:???
248ですが中間報告をば。
ふと、 location.reload() する直前で document.body.remove() するという手を思いつき実行してみた所
とりあえず1日程度の起動ではブラウザの挙動が悪くならなくなったっぽい気がします
まったくリークしてないかは不明
自分がググった限り(少なくとも日本語と英語圏では)この問題で質問する人はいても
有効な解決策を回答してる場面は見当たらなかったのでこれでいいかどうかは分かりません
ふと、 location.reload() する直前で document.body.remove() するという手を思いつき実行してみた所
とりあえず1日程度の起動ではブラウザの挙動が悪くならなくなったっぽい気がします
まったくリークしてないかは不明
自分がググった限り(少なくとも日本語と英語圏では)この問題で質問する人はいても
有効な解決策を回答してる場面は見当たらなかったのでこれでいいかどうかは分かりません
2019/07/15(月) 21:06:01.97ID:???
何十回もリロードってDDoSアプリでも作ってんのか?
2019/07/15(月) 21:22:16.33ID:???
>>257
とにかく正確に再現できる最低限の手順を用意してブラウザにissueを投げろ
ここで書いてくれたら検証してこっちでissueを調べて挙げてやってもいい
いずれにしろ今の所君がそう感じるというだけの話だからこれ以上相手にはできない
とにかく正確に再現できる最低限の手順を用意してブラウザにissueを投げろ
ここで書いてくれたら検証してこっちでissueを調べて挙げてやってもいい
いずれにしろ今の所君がそう感じるというだけの話だからこれ以上相手にはできない
2019/07/15(月) 21:56:38.01ID:???
>>258
Distrusting and Cynical? You May be Hurting Your Brain: Dementia Linked to Cynical Distrust : Health & Medicine : Science World Report
ttps://www.scienceworldreport.com/articles/15059/20140529/distrusting-cynical-hurting-brain-dementia-linked-distrust.htm
Why Random Acts of Kindness Matter to Your Wellbeing | Psychology Today
ttps://www.psychologytoday.com/us/blog/emotional-nourishment/201711/why-random-acts-kindness-matter-your-wellbeing
Distrusting and Cynical? You May be Hurting Your Brain: Dementia Linked to Cynical Distrust : Health & Medicine : Science World Report
ttps://www.scienceworldreport.com/articles/15059/20140529/distrusting-cynical-hurting-brain-dementia-linked-distrust.htm
Why Random Acts of Kindness Matter to Your Wellbeing | Psychology Today
ttps://www.psychologytoday.com/us/blog/emotional-nourishment/201711/why-random-acts-kindness-matter-your-wellbeing
2019/07/15(月) 22:18:24.96ID:???
自動JS質問AIが狂ってるぞ
262Name_Not_Found
2019/07/16(火) 05:05:28.40ID:ZHmuKmI7263Name_Not_Found
2019/07/16(火) 05:58:45.13ID:ZHmuKmI7 こういうアドオンのでバッグをするには、
firefoxの場合、インスペクター>コンソール内のどの項目を使うといいんでしょうか
firefoxの場合、インスペクター>コンソール内のどの項目を使うといいんでしょうか
2019/07/16(火) 08:20:18.45ID:???
最近の質問は「調査の丸投げ」って感じだなー
「自ら学ぶ人」の意味をよく考えた方がいい
「自ら学ぶ人」の意味をよく考えた方がいい
2019/07/16(火) 11:26:55.17ID:???
2019/07/16(火) 11:33:56.08ID:???
ん?ここは実際のブラウザの話はしないんじゃなかったっけ?
2019/07/16(火) 12:22:22.56ID:???
2019/07/16(火) 12:35:37.03ID:???
2019/07/16(火) 12:36:46.81ID:???
2019/07/16(火) 12:45:56.31ID:???
>>262
それが動かないのならあなたの環境がおかしい
それが動かないのならあなたの環境がおかしい
2019/07/16(火) 12:57:19.19ID:???
272Name_Not_Found
2019/07/16(火) 15:24:35.03ID:ZHmuKmI7 >>270
どうすれば特定出来ますか
どうすれば特定出来ますか
2019/07/16(火) 18:54:42.77ID:???
>>267
お前もしつこいな
俺は「動くかどうかは話をしたくない」とは言っていないと何度も説明しただろ
Web仕様が実際どう動くかは勿論話すべき
だけどそのブラウザ固有の問題はどうなんだろうねと言っただけ
そこに関しても話すことを反対してはいないだろ
いい加減にしてくれ
お前もしつこいな
俺は「動くかどうかは話をしたくない」とは言っていないと何度も説明しただろ
Web仕様が実際どう動くかは勿論話すべき
だけどそのブラウザ固有の問題はどうなんだろうねと言っただけ
そこに関しても話すことを反対してはいないだろ
いい加減にしてくれ
2019/07/16(火) 19:08:58.89ID:???
つうか俺はむしろマニアックだったりエッジな質問への回答を荒れることなく行える場を作りたいと長年思っていて
テンプレ議論の機会が来たと思ったのでそうした面で基準を定めた方が良いんじゃないかという問題提起をしてみたのであって
俺の思いはあるけどとにかく決まっていることが大事で、決めてくれさえすれば俺は素直にそれに従って回答をしていくと言ってるのに
どう勘違いしたら>>267みたいなほんと真反対な勘違いができるんだろうな
テンプレ議論の機会が来たと思ったのでそうした面で基準を定めた方が良いんじゃないかという問題提起をしてみたのであって
俺の思いはあるけどとにかく決まっていることが大事で、決めてくれさえすれば俺は素直にそれに従って回答をしていくと言ってるのに
どう勘違いしたら>>267みたいなほんと真反対な勘違いができるんだろうな
2019/07/16(火) 19:56:28.91ID:???
2019/07/16(火) 20:28:11.21ID:???
ここが本スレでいいのか?間違ってたらごめん。
MDNの更新、誰かよろしく。
https://mevius.5ch.net/test/read.cgi/tech/1417749547/341-343
俺はこっちの板は読まないから、用があったら向こうでよろしく。
(最低限の礼儀として今週中くらいは読むけども)
MDNの更新、誰かよろしく。
https://mevius.5ch.net/test/read.cgi/tech/1417749547/341-343
俺はこっちの板は読まないから、用があったら向こうでよろしく。
(最低限の礼儀として今週中くらいは読むけども)
2019/07/16(火) 20:40:27.54ID:???
>>275
>>41はただの俺(>>36)をからかった荒らしレス
あと絶対に勘違いしてもらいたくないのが自己主張を俺から始めたわけではないということ
俺が>>10のレスを書いた後>>33というレスが来たから俺は33に俺の思いと一般論として>>36を書いたが
その時点では別に俺が10であるというのをアピールする必要性はない
そしてその後も36に対してのレスが色んな人に突っ込まれたためあくまで突っ込んできたその人個人に対して順次個別に説明していっただけ
断じてこれは俺が望んで始めたことではないし、いきなり自己主張を始めたみたいに言われても困る
俺は俺として基本的に俺にレスを付けた人に対して「同じ様に」個別にレスを付けてるだけで
レスも付いてない、なりすましとも言えないような幼稚なレスを見て勝手に同一人物だと混同するのは俺の責任ではない
全部読まないと分からないと言うが、そこも意味が分からない
41を読んで267の発言が出るのは分かる
だが99をどう読んでも267の発言は出ないだろう
俺が怒ってるのは俺の説明を全部推測して漏れなく見ろと言ってるのではない
誰が連続で話してるのかを想定しなかったことではなく、むしろ想定して思い込んだことに対して怒ってる
全部読むどころか、99を全く読んでいないではないか
どうして99が41と同じ、だから99の内容も読まず41が言いたいんだろうと勘違いをし、
しかもそれをコテなどを付けない俺の責任と言えるのか、それが心底訳がわからなくて驚く
基本を言うならばレスなんてそのレスだけを読んで反応すればいいだけだろう
なんで自らわざわざ難しいことをして失敗したことに対して俺が責任取らなきゃならないのか
俺も誰が同一なんて全く気にせず、最後のまとめを除き直接言われたことに対して直接答えることを繰り返しただけだから
マナーとして通しで矛盾が少ないように発言しようとはしてるが、けして連続性にこだわってはないし、
なんか俺が連続して自己主張してるみたいに捉えられると本当に困る
俺はその時その時で最も良いと思ったことを発言してるだけだから難しく考えるな
>>41はただの俺(>>36)をからかった荒らしレス
あと絶対に勘違いしてもらいたくないのが自己主張を俺から始めたわけではないということ
俺が>>10のレスを書いた後>>33というレスが来たから俺は33に俺の思いと一般論として>>36を書いたが
その時点では別に俺が10であるというのをアピールする必要性はない
そしてその後も36に対してのレスが色んな人に突っ込まれたためあくまで突っ込んできたその人個人に対して順次個別に説明していっただけ
断じてこれは俺が望んで始めたことではないし、いきなり自己主張を始めたみたいに言われても困る
俺は俺として基本的に俺にレスを付けた人に対して「同じ様に」個別にレスを付けてるだけで
レスも付いてない、なりすましとも言えないような幼稚なレスを見て勝手に同一人物だと混同するのは俺の責任ではない
全部読まないと分からないと言うが、そこも意味が分からない
41を読んで267の発言が出るのは分かる
だが99をどう読んでも267の発言は出ないだろう
俺が怒ってるのは俺の説明を全部推測して漏れなく見ろと言ってるのではない
誰が連続で話してるのかを想定しなかったことではなく、むしろ想定して思い込んだことに対して怒ってる
全部読むどころか、99を全く読んでいないではないか
どうして99が41と同じ、だから99の内容も読まず41が言いたいんだろうと勘違いをし、
しかもそれをコテなどを付けない俺の責任と言えるのか、それが心底訳がわからなくて驚く
基本を言うならばレスなんてそのレスだけを読んで反応すればいいだけだろう
なんで自らわざわざ難しいことをして失敗したことに対して俺が責任取らなきゃならないのか
俺も誰が同一なんて全く気にせず、最後のまとめを除き直接言われたことに対して直接答えることを繰り返しただけだから
マナーとして通しで矛盾が少ないように発言しようとはしてるが、けして連続性にこだわってはないし、
なんか俺が連続して自己主張してるみたいに捉えられると本当に困る
俺はその時その時で最も良いと思ったことを発言してるだけだから難しく考えるな
278Name_Not_Found (ワッチョイ 3394-geZl)
2019/07/16(火) 20:47:33.34ID:???0 >>272
https://jsfiddle.net/cjh901p6/show
これで押しても反応なけりゃどうみてもおま環
余計な拡張機能が動いてるとか原因は色々
エラーメッセージはコンソールに無いの?
https://jsfiddle.net/cjh901p6/show
これで押しても反応なけりゃどうみてもおま環
余計な拡張機能が動いてるとか原因は色々
エラーメッセージはコンソールに無いの?
2019/07/16(火) 20:54:03.99ID:???
>>275
多分俺の説明は分かりにくいだろうからもう一レス追加するけど
俺は>>99に対して>>267のレスが付いたから
99の俺として267にレスを付けてる
まあ99とは言うが99はそれだけで完結していないので
実際はそれに含まれているレスチェーンも多分に含みはする
とにかく俺は>>99の俺として、初めて>>41と混同されたことに対して怒ってる
だから俺にレスを付けなければ別に41と他のどれを混同しようが勝手だし、
もし俺を思って41に反応したレスがあっても41は41で41に対するレスは41に対するレスなので
俺は気にしないというか、その自然な流れを尊重することにしているので入っていくことはしない、実際そうしてきた
だがそこらをもし勘違いしたとして、それは言わなかったり分かりやすくしなかった俺の責任ではない
大々的、ざっくばらんに自己主張演説を俺がしていたわけではないのだから
多分俺の説明は分かりにくいだろうからもう一レス追加するけど
俺は>>99に対して>>267のレスが付いたから
99の俺として267にレスを付けてる
まあ99とは言うが99はそれだけで完結していないので
実際はそれに含まれているレスチェーンも多分に含みはする
とにかく俺は>>99の俺として、初めて>>41と混同されたことに対して怒ってる
だから俺にレスを付けなければ別に41と他のどれを混同しようが勝手だし、
もし俺を思って41に反応したレスがあっても41は41で41に対するレスは41に対するレスなので
俺は気にしないというか、その自然な流れを尊重することにしているので入っていくことはしない、実際そうしてきた
だがそこらをもし勘違いしたとして、それは言わなかったり分かりやすくしなかった俺の責任ではない
大々的、ざっくばらんに自己主張演説を俺がしていたわけではないのだから
2019/07/16(火) 21:51:58.72ID:???
>>277
連続性が重要でないなら、コメントを書いた人にが非難されるだけで「君でない別人」を非難されようが気にする必要はないでしょ
そして、君は「誤解するな。俺がいってるのは...」と弁解する必要もない
君が書いている事と君が過去に書いている事は何の連続性もないわけだからね
連続性が重要でないなら、コメントを書いた人にが非難されるだけで「君でない別人」を非難されようが気にする必要はないでしょ
そして、君は「誤解するな。俺がいってるのは...」と弁解する必要もない
君が書いている事と君が過去に書いている事は何の連続性もないわけだからね
2019/07/16(火) 22:19:31.50ID:???
2019/07/17(水) 07:03:08.59ID:???
283Name_Not_Found
2019/07/17(水) 10:46:26.06ID:/2qSQIzg firefoxでアドオン作ってるんですが、ページの内容を取得するにはどの辺使えばいいか教えてください
資料がなさすぎる
資料がなさすぎる
284215 (ワッチョイ 7e8f-XC/u)
2019/07/17(水) 10:47:26.84ID:99YTPkGu0 プリミティブ型以外全部オブジェクトなんじゃなかったっけ
285215 (ワッチョイ 7e8f-XC/u)
2019/07/17(水) 10:48:50.52ID:99YTPkGu0 ごめんなさい>先日御意見・御感想くださった方々
途中経過を下手に書くのもアレですが
「問答まとめ」はココに書いても良いでしょうか
途中経過を下手に書くのもアレですが
「問答まとめ」はココに書いても良いでしょうか
2019/07/17(水) 12:17:36.50ID:???
>>285
その無駄な1レスで聞くくらいなら素直に書いたら?
その無駄な1レスで聞くくらいなら素直に書いたら?
287143
2019/07/17(水) 12:18:35.29ID:??? >>145
ありがとうございました。そういやProxomitronをはるか昔に名前だけ知ってたのですが
こういう凄まじいソフトがあったとはw
特定部分だけ書き換えてそこそこ動くことが分かったのですが、
もうちょっと時間を掛けて詳細な使い方を調べて当初の方針通りsetTimeoutを記述している部分を
別の名前の関数に上書きし時間の部分だけ0にしてsetTimeoutに投げて動かすことができました。
試行錯誤に本当に時間がかかったなあ…
ありがとうございました。そういやProxomitronをはるか昔に名前だけ知ってたのですが
こういう凄まじいソフトがあったとはw
特定部分だけ書き換えてそこそこ動くことが分かったのですが、
もうちょっと時間を掛けて詳細な使い方を調べて当初の方針通りsetTimeoutを記述している部分を
別の名前の関数に上書きし時間の部分だけ0にしてsetTimeoutに投げて動かすことができました。
試行錯誤に本当に時間がかかったなあ…
2019/07/17(水) 12:35:52.42ID:???
>>283
コンテンツスクリプトから普通にDOM操作すればいいだけ
コンテンツスクリプトから普通にDOM操作すればいいだけ
2019/07/17(水) 12:36:39.67ID:???
>>282
君が書いた事実を確認できるのは君だけ
「嘘か本当か分からないもの」を推測で補完されるのは、止めようがないでしょ
「連続性に拘ってない」と君はいうけど、レスチェーン上では連続性を期待してるし、今だって期待してるからレスが成り立つわけだし
君にレスするには連続性の認識は必須
君は結局、連続性を期待していて、自分の意図が伝わらない事に腹を立ててる
その原因は、「一つのコメントで意図が伝わるように書いてないから」
君にそれが出来れば問題ないけど、今での流れを見る限り出来るとは思えない
だから、トリップをお勧めした
君が書いた事実を確認できるのは君だけ
「嘘か本当か分からないもの」を推測で補完されるのは、止めようがないでしょ
「連続性に拘ってない」と君はいうけど、レスチェーン上では連続性を期待してるし、今だって期待してるからレスが成り立つわけだし
君にレスするには連続性の認識は必須
君は結局、連続性を期待していて、自分の意図が伝わらない事に腹を立ててる
その原因は、「一つのコメントで意図が伝わるように書いてないから」
君にそれが出来れば問題ないけど、今での流れを見る限り出来るとは思えない
だから、トリップをお勧めした
2019/07/17(水) 15:14:28.85ID:???
ワッチョイすればいいのに
291Name_Not_Found
2019/07/17(水) 15:26:08.62ID:/2qSQIzg >>288
ありがとう
ありがとう
292Name_Not_Found
2019/07/17(水) 16:53:08.43ID:/2qSQIzg コンテンツスクリプトって大雑把にいうとなんですか?
これを指定しないとページの操作は出来ないというところまでわかりますた
これを指定しないとページの操作は出来ないというところまでわかりますた
293Name_Not_Found
2019/07/17(水) 18:42:50.04ID:/2qSQIzg vs codeってjavascriptのインテリセンス出ませんか?
innerhtmlが出ない
innerhtmlが出ない
294Name_Not_Found (ワッチョイ 3394-RL4W)
2019/07/17(水) 19:21:00.44ID:???0 >>292
その名の通りコンテンツで動くスクリプト
拡張機能は通常バックグラウンドスクリプトで表示してるサイト(コンテンツ)とは独立に動く
拡張機能から表示してるサイトに干渉するにはmanifest.jsonでコンテンツスクリプトを明示する
>>293
https://mevius.5ch.net/test/read.cgi/tech/1552615295/
その名の通りコンテンツで動くスクリプト
拡張機能は通常バックグラウンドスクリプトで表示してるサイト(コンテンツ)とは独立に動く
拡張機能から表示してるサイトに干渉するにはmanifest.jsonでコンテンツスクリプトを明示する
>>293
https://mevius.5ch.net/test/read.cgi/tech/1552615295/
2019/07/17(水) 20:18:21.15ID:???
>>289
レスチェーン上で連続性があるのは当たり前では?
一つのコメントで意図が伝わるように云々は済まないが俺は必要性を感じていない
質問に対して回答し、それで分からないところがあるのは回答者の責任ではない
質問者が分からないけどどうでもいいやと思えばそこで話は終わりで、
質問者がここが聞きたいと思えばそこをより深く掘り下げていく
質問者が最初に質問しているのだから、自ら学ぶために流れを自由に作るのは当然質問者であるはずだ
回答者がどこまでも質問者のためを思ってこれが1レスで完結している完璧な回答だと押し付ける方がおこがましいんじゃないか?
俺は最初から全てをわかってもらおうという気持ちは一切ない
物事がそんなにシンプルだとは考えていないし、単純化して教えるのは良いことかもしれないがね
ともかく俺のレスに対して気になるところがあれば喜んでその指摘を受け入れるし
それに対して誠実にレスを返すというのが俺の流儀
俺はあくまで1回1回会話を返してるだけだからわざわざトリップを付ける必要性は感じない
トリップを付けろという君がまず付けてみればいいのでは?
というか初っ端の
>>「嘘か本当か分からないもの」を推測で補完されるのは、止めようがないでしょ
という発言から俺には理解できない
多分だけど、君は文章を読む力が弱いんだろう、そこは俺が文章を書く力が弱いのとおあいこだ
俺はどうして怒ってるのかを説明したよね
もしくは君にとっての「推測」とは、目隠しをして当てずっぽうをすることなのか?
君の脳というのはそれほどまでにスカスカなんだろうか
それとも「おあいこ」なんだろうか
むしろ君に興味が沸いてくるね
レスチェーン上で連続性があるのは当たり前では?
一つのコメントで意図が伝わるように云々は済まないが俺は必要性を感じていない
質問に対して回答し、それで分からないところがあるのは回答者の責任ではない
質問者が分からないけどどうでもいいやと思えばそこで話は終わりで、
質問者がここが聞きたいと思えばそこをより深く掘り下げていく
質問者が最初に質問しているのだから、自ら学ぶために流れを自由に作るのは当然質問者であるはずだ
回答者がどこまでも質問者のためを思ってこれが1レスで完結している完璧な回答だと押し付ける方がおこがましいんじゃないか?
俺は最初から全てをわかってもらおうという気持ちは一切ない
物事がそんなにシンプルだとは考えていないし、単純化して教えるのは良いことかもしれないがね
ともかく俺のレスに対して気になるところがあれば喜んでその指摘を受け入れるし
それに対して誠実にレスを返すというのが俺の流儀
俺はあくまで1回1回会話を返してるだけだからわざわざトリップを付ける必要性は感じない
トリップを付けろという君がまず付けてみればいいのでは?
というか初っ端の
>>「嘘か本当か分からないもの」を推測で補完されるのは、止めようがないでしょ
という発言から俺には理解できない
多分だけど、君は文章を読む力が弱いんだろう、そこは俺が文章を書く力が弱いのとおあいこだ
俺はどうして怒ってるのかを説明したよね
もしくは君にとっての「推測」とは、目隠しをして当てずっぽうをすることなのか?
君の脳というのはそれほどまでにスカスカなんだろうか
それとも「おあいこ」なんだろうか
むしろ君に興味が沸いてくるね
296Name_Not_Found
2019/07/17(水) 20:23:11.83ID:/2qSQIzg2019/07/17(水) 20:33:02.16ID:???
2019/07/17(水) 21:07:54.10ID:???
>>297
了解した。
了解した。
299Name_Not_Found
2019/07/18(木) 05:02:17.32ID:1cUBF1u8 electron製のフリーソフトってあるんですか?あまり使われていない印象です
firefoxのアドオン作りつつ、electronでデスクトップアプリを作りたい
C#でもいいですけど、、、
同じjavascriptでできるのが良いなと思って、electronも少しづつやってます
firefoxのアドオン作りつつ、electronでデスクトップアプリを作りたい
C#でもいいですけど、、、
同じjavascriptでできるのが良いなと思って、electronも少しづつやってます
2019/07/18(木) 07:14:37.45ID:???
ツクールとかエレクトロンじゃなかった?
301Name_Not_Found
2019/07/18(木) 07:20:48.69ID:1cUBF1u8 そうなんですかね
C#もやって、javascriptもやって、となると初心者の自分にはきついので流用できるといいなーなんて。
C#もやって、javascriptもやって、となると初心者の自分にはきついので流用できるといいなーなんて。
302Name_Not_Found
2019/07/18(木) 07:26:22.27ID:1cUBF1u8 var get_html = document.getElementsByTagName("html");
window.alert(get_html);
これでhtml collectionというのが帰ってくるんですけど、htmlタグではなくて、全体を取得しちゃってる感じですかね?
window.alert(get_html);
これでhtml collectionというのが帰ってくるんですけど、htmlタグではなくて、全体を取得しちゃってる感じですかね?
303Name_Not_Found (ワッチョイ 2394-7223)
2019/07/18(木) 07:48:08.22ID:???0304Name_Not_Found
2019/07/18(木) 10:53:55.00ID:1cUBF1u8 配列なんですか。
まだjavascriptがよくわからなくて
ただ、htmlタグに属性を追加するなど、書き換えたかったのです
まだjavascriptがよくわからなくて
ただ、htmlタグに属性を追加するなど、書き換えたかったのです
2019/07/18(木) 11:37:50.39ID:???
先頭の一つだけ欲しい時はdocument.querySelector("html")
306Name_Not_Found
2019/07/18(木) 11:45:06.03ID:1cUBF1u8 どうもです
2019/07/18(木) 13:22:00.07ID:???
>>299
VS codeとかboostnote
VS codeとかboostnote
308Name_Not_Found
2019/07/18(木) 17:46:27.42ID:1cUBF1u8 firefoxで背景を黒くするアドオン、dark readerのようなものを制作しているのですが、どこにcssを指定したら良いものでしょうか
https://mawatari.jp/archives/css-selector-priority#matome
このサイトによると優先順位が最も高いのはimportant指定したものとあります
ということは、インラインにimportant指定すればいいわけですよね
もっとスマートな方法はあるんでしょうか?
https://mawatari.jp/archives/css-selector-priority#matome
このサイトによると優先順位が最も高いのはimportant指定したものとあります
ということは、インラインにimportant指定すればいいわけですよね
もっとスマートな方法はあるんでしょうか?
309Name_Not_Found
2019/07/18(木) 17:58:58.28ID:x0YcemEL それってサイトがprefers-color-schemeとか定義してたらちゃんと読み取ってくれんの?
こっちはわざわざデザイナー多く雇って画像から何から全部作ってるのに
何でもかんでも勝手に適当に一律に弄られたら困るんだけど
こっちはわざわざデザイナー多く雇って画像から何から全部作ってるのに
何でもかんでも勝手に適当に一律に弄られたら困るんだけど
2019/07/18(木) 18:20:49.16ID:???
>>308
既存より詳細度が高く、カスケード規則上で優先順位の高い宣言であれば、何でも良い
https://triple-underscore.github.io/selectors4-ja.html#specificity-rules
https://triple-underscore.github.io/css-cascade-ja.html#cascading
※これはCSSの問題でJavaScriptの質問ではない
既存より詳細度が高く、カスケード規則上で優先順位の高い宣言であれば、何でも良い
https://triple-underscore.github.io/selectors4-ja.html#specificity-rules
https://triple-underscore.github.io/css-cascade-ja.html#cascading
※これはCSSの問題でJavaScriptの質問ではない
311Name_Not_Found
2019/07/18(木) 18:22:30.31ID:1cUBF1u8 >>309
上のリンクの説明だと、インラインCSSが最も優先されるわけで、その定義を探す必要はあるんでしょうか?優先される側で指定されたものが上書きされると思っていたんですが。
上のリンクの説明だと、インラインCSSが最も優先されるわけで、その定義を探す必要はあるんでしょうか?優先される側で指定されたものが上書きされると思っていたんですが。
2019/07/18(木) 18:30:58.72ID:???
2019/07/18(木) 18:46:43.03ID:???
314Name_Not_Found
2019/07/18(木) 18:47:04.34ID:1cUBF1u82019/07/18(木) 18:51:18.02ID:???
>>308
横からちょっかい出すのにスマートな方法なんてないよ
横からちょっかい出すのにスマートな方法なんてないよ
2019/07/18(木) 19:40:11.44ID:???
2019/07/18(木) 19:53:41.03ID:???
まあ、ユーザCSSで十分な要件だし、わざわざ拡張を作る必要もないよなあ
昔はProxomitronで書き換えてたけど、ブラウザも便利になったもんだ
昔はProxomitronで書き換えてたけど、ブラウザも便利になったもんだ
2019/07/18(木) 20:01:39.29ID:???
今はProxomitronではなくFiddlerを使うらしい
2019/07/18(木) 20:07:44.51ID:???
2019/07/18(木) 20:25:48.24ID:???
2019/07/18(木) 21:31:22.12ID:???
>>320
調べてみたが、結構いろいろ出来るものなんだな
このスレ的には、JScript.NET が使えるのが目玉か
https://docs.telerik.com/fiddler/Extend-Fiddler/AddRules
https://qiita.com/aaari/items/5cba39c5de448f22a1e5
https://prokusi.wiki.fc2.com/wiki/Fiddler%2BCustomRule
調べてみたが、結構いろいろ出来るものなんだな
このスレ的には、JScript.NET が使えるのが目玉か
https://docs.telerik.com/fiddler/Extend-Fiddler/AddRules
https://qiita.com/aaari/items/5cba39c5de448f22a1e5
https://prokusi.wiki.fc2.com/wiki/Fiddler%2BCustomRule
2019/07/18(木) 21:47:44.44ID:???
それを言うならこのスレ民的にはキャプチャやプロキシはNodeを使うでしょ
DOMパーサとかのライブラリも豊富だし
DOMパーサとかのライブラリも豊富だし
2019/07/18(木) 23:20:14.13ID:???
2019/07/18(木) 23:26:18.93ID:???
そろそろ本腰入れてjQueryを潰す頃か
4,5年かけてFlashを潰すため2chは勿論色んなブログを廻ったあの日のように
4,5年かけてFlashを潰すため2chは勿論色んなブログを廻ったあの日のように
2019/07/19(金) 11:24:26.72ID:???
本腰を入れるために、まずAppleにjQueryが動かないように頼んではどうかね?
FlashもSafariで動かなくすることで徐々に潰していくことが出来た。
ウェブ標準技術で動くjQueryをどうやって動かなくするのかは知らんが(笑)
FlashもSafariで動かなくすることで徐々に潰していくことが出来た。
ウェブ標準技術で動くjQueryをどうやって動かなくするのかは知らんが(笑)
2019/07/19(金) 12:48:58.46ID:???
動かなくする必要はない。
これは駄目なものなんだというイメージを閲覧者に少しずつ植え付けていけるようネガティブキャンペーンをすればOK
これは駄目なものなんだというイメージを閲覧者に少しずつ植え付けていけるようネガティブキャンペーンをすればOK
2019/07/19(金) 12:55:24.40ID:???
2019/07/19(金) 15:49:13.93ID:???
githubがjQuery廃止、bootstrapも5から廃止と来たらそろそろラスボスWordPressから廃止来て欲しいね。
Webサイト全体の3割、CMSサイトに限れば6割のシェアを持つコイツがデフォで採用してることがjQueryのシェアを押し上げてる元凶だからね。
Webサイト全体の3割、CMSサイトに限れば6割のシェアを持つコイツがデフォで採用してることがjQueryのシェアを押し上げてる元凶だからね。
2019/07/19(金) 21:29:07.06ID:???
2019/07/20(土) 10:55:26.13ID:???
2019/07/20(土) 15:10:27.08ID:???
1〜9 の整数の乱数が、25個ほしいです。
下の公式を、ラムダ式かメソッドにして、配列に入れてもらえませんか?
var min = 1 ;
var max = 9 ;
var a = Math.floor( Math.random() * (max + 1 - min) ) + min ;
下の公式を、ラムダ式かメソッドにして、配列に入れてもらえませんか?
var min = 1 ;
var max = 9 ;
var a = Math.floor( Math.random() * (max + 1 - min) ) + min ;
2019/07/20(土) 15:56:20.78ID:???
宿題はよそでどうぞ
333331
2019/07/20(土) 16:06:15.14ID:??? let get_random_int = ( min, max ) => {
return Math.floor( Math.random() * (max + 1 - min) ) + min;
};
console.log( get_random_int( 1, 9 ) );
ここまでは出来ました
このメソッドを、任意の回数、例えば、25回呼んで、配列に入れるには、どうすればよいですか?
map を使うのですか?
return Math.floor( Math.random() * (max + 1 - min) ) + min;
};
console.log( get_random_int( 1, 9 ) );
ここまでは出来ました
このメソッドを、任意の回数、例えば、25回呼んで、配列に入れるには、どうすればよいですか?
map を使うのですか?
334331
2019/07/20(土) 21:49:10.36ID:??? 出来ました。
ただ、乱数が偏っているような気もするが
function get_random_int( ) {
return function( ) {
const min = 1
const max = 9
return Math.floor( Math.random( ) * ( max + 1 - min ) ) + min ;
};
}
const ary = [ ...Array( 25 ) ].map( get_random_int( ) )
console.log( ary );
出力
[ 2, 8, 6, 2, 5, 7, 8, 1, 4, 6, 7, 1, 7, 7, 5, 4, 7, 4, 1, 3, 4, 5, 6, 8, 6 ]
ただ、乱数が偏っているような気もするが
function get_random_int( ) {
return function( ) {
const min = 1
const max = 9
return Math.floor( Math.random( ) * ( max + 1 - min ) ) + min ;
};
}
const ary = [ ...Array( 25 ) ].map( get_random_int( ) )
console.log( ary );
出力
[ 2, 8, 6, 2, 5, 7, 8, 1, 4, 6, 7, 1, 7, 7, 5, 4, 7, 4, 1, 3, 4, 5, 6, 8, 6 ]
2019/07/20(土) 23:07:41.20ID:???
乱数が偏ってるとかいう話題は↓で荒れてるんでここでレスしないように
Ruby 初心者スレッド Part 65
https://mevius.5ch.net/test/read.cgi/tech/1545421414/
Ruby 初心者スレッド Part 65
https://mevius.5ch.net/test/read.cgi/tech/1545421414/
2019/07/21(日) 12:30:41.50ID:???
>>330
諦めてなかった
https://teratail.com/questions/201689
相変わらず、「styleにimportantを付けたものが最も強い」といってる辺り、分かってなさそう
諦めてなかった
https://teratail.com/questions/201689
相変わらず、「styleにimportantを付けたものが最も強い」といってる辺り、分かってなさそう
2019/07/21(日) 13:19:40.94ID:???
>>334
精度を気にするのならrandom関数は自分で実装した方がいい
var rngstate = crypto.getRandomValues(new Uint32Array(2))
function MathRandom() {
var r0 = (Math.imul(18030, rngstate[0] & 0xFFFF) + (rngstate[0] >>> 16)) | 0
rngstate[0] = r0
var r1 = (Math.imul(36969, rngstate[1] & 0xFFFF) + (rngstate[1] >>> 16)) | 0
rngstate[1] = r1
var x = ((r0 << 16) + (r1 & 0xFFFF)) | 0
return (x < 0 ? (x + 0x100000000) : x) * 2.3283064365386962890625e-10
}
精度を気にするのならrandom関数は自分で実装した方がいい
var rngstate = crypto.getRandomValues(new Uint32Array(2))
function MathRandom() {
var r0 = (Math.imul(18030, rngstate[0] & 0xFFFF) + (rngstate[0] >>> 16)) | 0
rngstate[0] = r0
var r1 = (Math.imul(36969, rngstate[1] & 0xFFFF) + (rngstate[1] >>> 16)) | 0
rngstate[1] = r1
var x = ((r0 << 16) + (r1 & 0xFFFF)) | 0
return (x < 0 ? (x + 0x100000000) : x) * 2.3283064365386962890625e-10
}
2019/07/21(日) 13:42:05.73ID:???
2019/07/21(日) 14:01:02.40ID:???
2019/07/21(日) 14:01:44.27ID:???
> 真の乱数というのは6回サイコロを振ったとき同じ目が出ないもんですよ。
乱数をなんだと思っているんだ?
乱数をなんだと思っているんだ?
2019/07/21(日) 14:17:07.24ID:???
2019/07/21(日) 14:43:26.88ID:???
確率で言えば6回サイコロを振れば6割の確率で数字が連続することがある
偏ってないってことが偏ってるんだよ
偏ってないってことが偏ってるんだよ
2019/07/21(日) 15:16:26.19ID:???
>>338
> 真の乱数というのは6回サイコロを振ったとき同じ目が出ないもんですよ。
12回サイコロを振って、同じ目が2回ずつ出るとする
出た目を順番に並べて、12個の数値を持つ数列とする
数列から適当な場所で「連続した6個の数値」を取得した場合、どこをとっても同じ目が存在しない
この数列がどういう規則性を持つのか、を考えてみるといい
> 真の乱数というのは6回サイコロを振ったとき同じ目が出ないもんですよ。
12回サイコロを振って、同じ目が2回ずつ出るとする
出た目を順番に並べて、12個の数値を持つ数列とする
数列から適当な場所で「連続した6個の数値」を取得した場合、どこをとっても同じ目が存在しない
この数列がどういう規則性を持つのか、を考えてみるといい
2019/07/21(日) 16:01:43.22ID:???
>>338
今コインを投げて表が出ました。
もう一度投げて表が出る確率は?
一般人「1/2」
お前(バカ)「次に表が出ると表表となって偏っている!次は裏が出て表裏とならなければ乱数とは言えない!だから次に表が出る確率は0%だ!これが正しい乱数だ!」
今コインを投げて表が出ました。
もう一度投げて表が出る確率は?
一般人「1/2」
お前(バカ)「次に表が出ると表表となって偏っている!次は裏が出て表裏とならなければ乱数とは言えない!だから次に表が出る確率は0%だ!これが正しい乱数だ!」
2019/07/21(日) 16:35:27.33ID:???
乱数の使用目的にもよるでしょ
ゲームとかに用いられる乱数では人間が不平等感を感じないように調整されている
ゲームとかに用いられる乱数では人間が不平等感を感じないように調整されている
2019/07/21(日) 17:01:41.97ID:???
2019/07/21(日) 20:50:40.84ID:???
2019/07/21(日) 21:14:53.92ID:???
2019/07/21(日) 21:19:04.01ID:???
2019/07/21(日) 21:25:42.50ID:???
>>349
あー、誤情報を書いちゃった時に「ジョーク」といっておけば流せると妄信している人を嘲笑するやつね
あー、誤情報を書いちゃった時に「ジョーク」といっておけば流せると妄信している人を嘲笑するやつね
2019/07/21(日) 21:33:24.66ID:???
2019/07/21(日) 21:37:21.80ID:???
2019/07/21(日) 21:51:37.55ID:???
これからは嘘八百を回答して、散々悩んで貰った後に「ジョーク」と後出しする事にしましょう。
どうぞ笑ってやってください。
どうぞ笑ってやってください。
2019/07/21(日) 22:09:41.78ID:???
正しい回答を嘘と反論するのが5chの楽しみ方だよな
質問者は右往左往して楽しんでくれ
質問者は右往左往して楽しんでくれ
2019/07/21(日) 22:31:01.54ID:???
右往左往する奴は最初からお呼びでない
嘘を嘘と分からないやつはお呼びでない
嘘を嘘と分からないやつはお呼びでない
2019/07/21(日) 22:32:16.27ID:???
情報弱者に嘘を教えるのがここ流のコミュニケーション
知識に疎い質問者は初めから敗者なのである
知識に疎い質問者は初めから敗者なのである
2019/07/21(日) 22:46:25.61ID:???
当たり前
それが2chであり5ch
情弱を情弱と叩き続けて煽り続けてきたのがこのスレで
それでも食い下がってくる質問者を叩き直してきたのがこのスレ
自ら学ぶ気のない奴は来るな
初心者ですとでも書かれようものなら罵倒を浴びせたのがこのスレ
それが2chであり5ch
情弱を情弱と叩き続けて煽り続けてきたのがこのスレで
それでも食い下がってくる質問者を叩き直してきたのがこのスレ
自ら学ぶ気のない奴は来るな
初心者ですとでも書かれようものなら罵倒を浴びせたのがこのスレ
2019/07/21(日) 22:51:43.23ID:???
自ら学ぶ気のある人に嘘を教えて追い出すのがこのスレ
2019/07/22(月) 01:13:16.03ID:???
本当に学ぶ気のあるやつは勝手に学ぶ
ここに来るやつはやる気を上げてほしいだけのヘタレか制作依頼者ばかり
ここに来るやつはやる気を上げてほしいだけのヘタレか制作依頼者ばかり
2019/07/22(月) 08:10:49.02ID:???
2019/07/22(月) 08:55:51.12ID:???
少なくとも10年くらい前はそんなこと無かった
jQueryが広く使われるようになってから変な質問をする人が多くなったと思う
jQueryが広く使われるようになってから変な質問をする人が多くなったと思う
2019/07/22(月) 10:35:36.85ID:???
requestAnimationFrameを呼ぶタイミングは
コールバックの最初のほうが良いですか?後ろのほうが良いですか?
コールバックの最初のほうが良いですか?後ろのほうが良いですか?
2019/07/22(月) 12:16:35.95ID:???
2019/07/22(月) 14:50:54.32ID:???
分からないなら黙ってろw
2019/07/22(月) 18:13:12.66ID:???
分からないんだろ、と煽っても無駄です
2019/07/22(月) 18:24:51.53ID:???
>>362
悪い
悪い
2019/07/22(月) 20:30:41.92ID:???
脱jQueryとはいうけれどフロントエンドフレームワークも沼だな
2019/07/22(月) 21:22:15.01ID:???
2019/07/22(月) 21:34:45.24ID:???
>>368は嘘だから信じないように
2019/07/22(月) 22:46:23.54ID:???
何がどう嘘なのか
2019/07/23(火) 08:29:39.93ID:???
自分の考えを述べずに他人にお伺いを立てる奴は総じて自助努力が足りない
このスレの質問者のことだ
このスレの質問者のことだ
2019/07/23(火) 08:41:40.66ID:???
>>353-354が実践されてるみたいね
これがここ流のジョークか
これがここ流のジョークか
2019/07/23(火) 11:29:19.53ID:???
2019/07/23(火) 12:29:37.11ID:???
>>373は偽物です。
2019/07/23(火) 12:37:17.13ID:???
>>372
お前自身がジョークみたいだな
お前自身がジョークみたいだな
2019/07/23(火) 12:46:13.45ID:???
>>375
よく分からんが、嘘を書いてもジョークといっておけば、流せるのがここ流のコミュニケーションらしい
よく分からんが、嘘を書いてもジョークといっておけば、流せるのがここ流のコミュニケーションらしい
2019/07/23(火) 18:57:30.14ID:???
2019/07/23(火) 19:19:27.17ID:???
2019/07/23(火) 19:21:57.51ID:???
380Name_Not_Found
2019/07/23(火) 23:34:41.87ID:psgBedrU npmでシェルスクリプトだけのパッケージを配布してもOKですか?
2019/07/23(火) 23:49:44.55ID:???
>>379
オレオレ理論乙
オレオレ理論乙
2019/07/24(水) 10:07:56.00ID:???
>>380
NG です
NG です
383Name_Not_Found
2019/07/24(水) 10:30:17.00ID:Remlr8vY2019/07/25(木) 05:30:19.35ID:???
npm で、それをインストールしても、
require, import できないから、JavaScript で使えない!
require, import できないから、JavaScript で使えない!
2019/07/25(木) 07:59:59.99ID:???
*-cli みたいな、node_modules/.bin に置くことを想定したパッケージならあるんじゃね?
386Name_Not_Found
2019/07/26(金) 08:52:52.98ID:3uP+oR/U for ( i=0; i<arr.length i++) {
if (何らかの条件) {
(何らかの処理)
return false?break?
}
(最終的な処理)
}
例えばループ中、i=2のときにifの「何らかの条件」に合致したとして
その場合は「最終的な処理」をさせずにi=3へ移行したいのですが
return false?break?のところは何と書けばよいでしょうか?
if (何らかの条件) {
(何らかの処理)
return false?break?
}
(最終的な処理)
}
例えばループ中、i=2のときにifの「何らかの条件」に合致したとして
その場合は「最終的な処理」をさせずにi=3へ移行したいのですが
return false?break?のところは何と書けばよいでしょうか?
2019/07/26(金) 09:16:32.80ID:???
continue
388386
2019/07/26(金) 09:21:15.14ID:???2019/07/26(金) 14:08:44.61ID:???
>>338
サイコロを6回ふったとき同じ目が出ない確率を求めよ(夏休みの宿題)
サイコロを6回ふったとき同じ目が出ない確率を求めよ(夏休みの宿題)
2019/07/26(金) 22:04:51.16ID:???
数学と現実は違う
現実と人の頭の中の世界はもっと違う
数学を使って人間の頭の中の世界と向き合うのがフロントエンドエンジニア
いい加減気が付いたほうが良い
現実と人の頭の中の世界はもっと違う
数学を使って人間の頭の中の世界と向き合うのがフロントエンドエンジニア
いい加減気が付いたほうが良い
2019/07/27(土) 15:05:10.79ID:???
カルドセプトサーガ「真の乱数とは奇数と偶数が交互に出る」
2019/07/27(土) 15:42:46.85ID:???
「ただし魔法は尻から出る」
2019/07/27(土) 17:17:05.00ID:???
document.writeを使わずにインナーテキストを書き換える方法についてお訊ねしたいのですが
要素を取得してからelement.innerTextなどを書き換える以外で同じことをする方法ありますか?
要素を取得してからelement.innerTextなどを書き換える以外で同じことをする方法ありますか?
2019/07/27(土) 19:01:12.42ID:???
textContent
innerHTML
outerHTML
innerHTML
outerHTML
2019/07/28(日) 13:20:44.11ID:???
>>393
data
data
2019/07/28(日) 14:10:44.39ID:???
>>393
evaluate
evaluate
2019/07/28(日) 14:24:39.68ID:???
>>393
TreeWalker
TreeWalker
2019/07/28(日) 14:56:51.78ID:???
>>393
value
value
2019/07/29(月) 08:23:42.82ID:???
>>398
それはテキストノードじゃなくね?
それはテキストノードじゃなくね?
2019/07/29(月) 22:07:55.35ID:???
>>393
NodeIterator
NodeIterator
2019/07/30(火) 07:54:09.29ID:???
402Name_Not_Found
2019/07/30(火) 15:42:28.02ID:j7QmNAUu JSを使ってアドセンス広告を任意の位置に挿入するスクリプトを書いてるのですが、
Ins.style.display = 'block';
Ins.dataset.adClient = ‘aaaaaaa’;
Ins.dataset.adSlot= ‘111111’;
上記のような値に、レクタングルを全幅表示させる「data-full-width-responsive=‘true’」というパラーメータを追記すると、どのような構文になるのでしょうか…?
Ins.style.display = 'block';
Ins.dataset.adClient = ‘aaaaaaa’;
Ins.dataset.adSlot= ‘111111’;
Ins.dataset.full-width-responsive=‘true’;
と書いてみたところ、動作しませんでした…。
ご教授いただければ幸いです。
Ins.style.display = 'block';
Ins.dataset.adClient = ‘aaaaaaa’;
Ins.dataset.adSlot= ‘111111’;
上記のような値に、レクタングルを全幅表示させる「data-full-width-responsive=‘true’」というパラーメータを追記すると、どのような構文になるのでしょうか…?
Ins.style.display = 'block';
Ins.dataset.adClient = ‘aaaaaaa’;
Ins.dataset.adSlot= ‘111111’;
Ins.dataset.full-width-responsive=‘true’;
と書いてみたところ、動作しませんでした…。
ご教授いただければ幸いです。
403Name_Not_Found
2019/07/30(火) 16:33:23.21ID:j7QmNAUu >>402
すみません、自己解決しました。。
すみません、自己解決しました。。
404Name_Not_Found
2019/07/30(火) 16:39:39.39ID:j7QmNAUu 連投すみません;
かなり初歩的な質問なのですが、よく「document.writeは使うな」という警告を耳にしますが、あれはなぜなのでしょうか?
window.onloadイベントを記述してもNGなのでしょうか…?
現状、document.writeでスクリプトを読み込んでいるのですが、別の方法に変えたほうが良いのでしょうか?
かなり初歩的な質問なのですが、よく「document.writeは使うな」という警告を耳にしますが、あれはなぜなのでしょうか?
window.onloadイベントを記述してもNGなのでしょうか…?
現状、document.writeでスクリプトを読み込んでいるのですが、別の方法に変えたほうが良いのでしょうか?
2019/07/30(火) 18:24:32.07ID:???
2019/07/30(火) 20:06:14.66ID:???
>>404
使うなというのではなく、初期から実装されてたから今では古いし、他の手段があるからという事
あとDOMを扱う時に不具合が生じるケースがある(どのような場合か知っていれば問題ない)
そのくらいか?
使うなというのではなく、初期から実装されてたから今では古いし、他の手段があるからという事
あとDOMを扱う時に不具合が生じるケースがある(どのような場合か知っていれば問題ない)
そのくらいか?
2019/07/31(水) 03:35:06.82ID:???
>>401
グロ
グロ
2019/07/31(水) 08:18:02.44ID:???
相変わらず、自助努力する気のない丸投げ質問ばがりだな
2019/07/31(水) 09:56:39.11ID:???
410Name_Not_Found
2019/07/31(水) 11:08:38.69ID:8ILJEm94 JavaScriptコードがレンダリングに必須な場合
どうやって最適化するんだろうか?
遅い回線使ってると時たま見るよね。
ページ読み込んでる途中はレンダリングが崩れていて、
ページ読み込み完了したらやっとまともにレンダリングされるページ
JavaScriptを非同期で読み込むことが目的になってしまって
レンダリングが人間にとって最適化されてない
どうやって最適化するんだろうか?
遅い回線使ってると時たま見るよね。
ページ読み込んでる途中はレンダリングが崩れていて、
ページ読み込み完了したらやっとまともにレンダリングされるページ
JavaScriptを非同期で読み込むことが目的になってしまって
レンダリングが人間にとって最適化されてない
2019/07/31(水) 11:38:38.17ID:???
document.writeなんてIE6の頃ですら使わない方がいいって言われてたのになんでいまだに使いたがるんだろうか?
2019/07/31(水) 13:47:00.98ID:???
document.writeが適切な場合だから
2019/07/31(水) 15:22:50.27ID:???
document.write を使うと、一旦、すべての要素が消えてから、新しく作られるから!
2019/07/31(水) 16:27:47.86ID:???
Javascriptがレンダリングに必須なことなんて殆どない
415Name_Not_Found
2019/07/31(水) 17:24:56.19ID:nbAt67+R >>391
線形合同法を利用してる分際で出しゃばりやがってw
線形合同法を利用してる分際で出しゃばりやがってw
2019/07/31(水) 18:30:21.52ID:???
appendChilde的なのを期待して使っちゃう初心者は多いだろうね
実際は>>413なんだけど
実際は>>413なんだけど
2019/07/31(水) 20:52:51.40ID:???
2019/07/31(水) 20:58:52.92ID:???
2019/07/31(水) 21:16:30.36ID:???
2019/07/31(水) 21:28:07.47ID:???
崩れるのが嫌ならロード終わるまで表示させなきゃいいじゃん
2019/07/31(水) 21:29:34.42ID:???
それを実現するのが「ブロック」なんだよ
2019/08/01(木) 12:16:34.08ID:???
すごく恥ずかしい質問なのですが
HTMLに点在するscriptタグの変数というのは共有されてるんですか??
ポリフィルとかの変数と自分のスクリプトの変数と名前が同じだとどうなるのかな???と思いました
HTMLに点在するscriptタグの変数というのは共有されてるんですか??
ポリフィルとかの変数と自分のスクリプトの変数と名前が同じだとどうなるのかな???と思いました
2019/08/01(木) 12:25:35.94ID:???
共有される、但しモジュールならされない
後に実行された方に上書きされる
後に実行された方に上書きされる
2019/08/01(木) 12:41:23.14ID:???
だから一般的なライブラリは変数や関数名が競合しないように(function() {〜})();で囲って
必要最低限だけwindow.〜に代入して外部に公開してる
必要最低限だけwindow.〜に代入して外部に公開してる
2019/08/01(木) 12:41:37.68ID:???
2019/08/01(木) 12:50:40.53ID:???
427Name_Not_Found
2019/08/01(木) 14:02:44.46ID:L/xYC/oK オブジェクトの中身を、オブジェクト名を指名せずにキー名だけで取得できるようにする方法ないですか?
と質問しようとしましたが
let obj = {'dog': '犬', 'cat': '猫'}
Object.keys(obj).forEach( function (key){
window[ key ] = obj[ key ]
})
console.log(cat)
console.log(dog)
できちゃいましたね…
もし他にいい方法があれば教えていただきたいです
と質問しようとしましたが
let obj = {'dog': '犬', 'cat': '猫'}
Object.keys(obj).forEach( function (key){
window[ key ] = obj[ key ]
})
console.log(cat)
console.log(dog)
できちゃいましたね…
もし他にいい方法があれば教えていただきたいです
2019/08/01(木) 18:24:26.72ID:???
>>422の疑問が湧くのももっともなんだよね
どうも解説書にこういった肝心なことが書かれてないことが多すぎる
多くのJavascript入門書に欠けている(重要な)記述
・var等の単語の語源の紹介
・スクリプト同士の変数や関数名は共有されているのかどうかの疑問
・ユーザースクリプトやブラウザ拡張機能のスクリプトは、ブラウザや、見ているページに対して、どのように存在するのか
・イベントリスナーやsetTimeout等に無名関数を登録する時変数の中身を値渡しする方法
・beautifierやLintの存在とそれらをローカルで使うためのエディタやプラグインの紹介
・ブラウザの開発ツールの使い方(特に効果的な使い方のtips)
これらを書かない著者はボンクラだわ
どうも解説書にこういった肝心なことが書かれてないことが多すぎる
多くのJavascript入門書に欠けている(重要な)記述
・var等の単語の語源の紹介
・スクリプト同士の変数や関数名は共有されているのかどうかの疑問
・ユーザースクリプトやブラウザ拡張機能のスクリプトは、ブラウザや、見ているページに対して、どのように存在するのか
・イベントリスナーやsetTimeout等に無名関数を登録する時変数の中身を値渡しする方法
・beautifierやLintの存在とそれらをローカルで使うためのエディタやプラグインの紹介
・ブラウザの開発ツールの使い方(特に効果的な使い方のtips)
これらを書かない著者はボンクラだわ
2019/08/01(木) 20:24:24.70ID:???
結果として変数が共有されるとも言えるが
もっと素直にグローバルが同じと考えたほうが良い
もっと素直にグローバルが同じと考えたほうが良い
2019/08/01(木) 20:25:35.73ID:???
そういや略語の一覧や元になった単語は教えたほうがいいよな
strをずっと攻撃力と思ってたわははは
strをずっと攻撃力と思ってたわははは
2019/08/01(木) 20:54:44.83ID:???
varはvariableで変数なんだなって分かるけどletとかdimとか未だに良く分からない・・・
2019/08/01(木) 21:05:03.67ID:???
letはLet's la 前進のLetだし、
dimはディメンジョンのdimだろ
dimはディメンジョンのdimだろ
2019/08/01(木) 21:22:23.90ID:???
letはもともと数学の言い回しだそうな。
Let x be 100 in the following fomula.
Let x be 100 in the following fomula.
2019/08/01(木) 21:26:54.58ID:???
>varはvariableで変数
それじゃまだ丸暗記の域を出ないでしょ
variという語根に「変わる」という意味があってバラエティとかバリエーションと同じ部品であって
variableは当然-able(可能)がついてるから「変わることができる」という意味だ、まで説明しないと
それじゃまだ丸暗記の域を出ないでしょ
variという語根に「変わる」という意味があってバラエティとかバリエーションと同じ部品であって
variableは当然-able(可能)がついてるから「変わることができる」という意味だ、まで説明しないと
2019/08/01(木) 21:30:34.41ID:???
>>434
おお、まさにそういうのを聞きたいんだよ
おお、まさにそういうのを聞きたいんだよ
2019/08/01(木) 22:52:12.65ID:???
言語によってletが定数だったりするからカオス
2019/08/01(木) 22:53:29.01ID:???
letが定数になるってどの言語?
2019/08/01(木) 23:08:26.49ID:???
えっとねぇ
2019/08/01(木) 23:11:48.88ID:???
外から渡されたスクリプトを安全に実行するのにサンドボックスを作ろうとしているんだけど、
WebWorkerってスクリプト本体をstringで渡すことってできないんだっけ?
あるいはeval()でグローバルオブジェクトを任意に指定できたらそれが一番楽なんだが、
なんでできないんだろう。
WebWorkerってスクリプト本体をstringで渡すことってできないんだっけ?
あるいはeval()でグローバルオブジェクトを任意に指定できたらそれが一番楽なんだが、
なんでできないんだろう。
2019/08/01(木) 23:20:25.09ID:???
危険だからだよwww
2019/08/01(木) 23:39:32.05ID:???
?
今のeval()が許されてるのに逆にそれより危険になるって?マウントとりたいにしても雑すぎ。
今のeval()が許されてるのに逆にそれより危険になるって?マウントとりたいにしても雑すぎ。
2019/08/02(金) 00:11:07.24ID:???
evalが許されてることがなにか問題あるの?
サンドボックスというのは環境を隔離するものであって
evalの危険性とは全く別物なんだけど
ちなみにevalの危険性とは利用者が、利用者自身を危険にさらすことができるってことな
サーバー側が危険になるわけじゃな無いし、悪意がある人がeval使ってなにかできるわけじゃない。
evalと別のなにかの脆弱性を併用して攻撃することはあるが、
その場合は脆弱性自体が悪いのであってevalそのものは危険なものじゃない。
evalはユーザーがソースコードを書き換えられるのと同じ程度の話
サンドボックスというのは環境を隔離するものであって
evalの危険性とは全く別物なんだけど
ちなみにevalの危険性とは利用者が、利用者自身を危険にさらすことができるってことな
サーバー側が危険になるわけじゃな無いし、悪意がある人がeval使ってなにかできるわけじゃない。
evalと別のなにかの脆弱性を併用して攻撃することはあるが、
その場合は脆弱性自体が悪いのであってevalそのものは危険なものじゃない。
evalはユーザーがソースコードを書き換えられるのと同じ程度の話
443Name_Not_Found
2019/08/02(金) 02:56:23.64ID:SwpHAZj0 つまり諸刃の剣だから最終手段、と
2019/08/02(金) 06:27:31.97ID:???
2019/08/02(金) 06:31:48.68ID:???
2019/08/02(金) 06:32:12.81ID:???
2019/08/02(金) 08:11:48.50ID:???
>evalが許されてることがなにか問題あるの?
evalが許されていること自体が問題だと言ったつもりはないが?
ただ、呼び出し元と同じグローバルオブジェクトにアクセスできるのは安全じゃないから
それを差し替えられたら良いという話。
少なくとも現状より危険になるわけじゃないから>>440は的外れだと言ったまで。
evalが許されていること自体が問題だと言ったつもりはないが?
ただ、呼び出し元と同じグローバルオブジェクトにアクセスできるのは安全じゃないから
それを差し替えられたら良いという話。
少なくとも現状より危険になるわけじゃないから>>440は的外れだと言ったまで。
2019/08/02(金) 13:20:41.19ID:???
>>422-429
<script>
var a = 1;
</script>
<script>
var a = 2;
</script>
<script>
console.log( a ); // 2
</script>
<script>
var a = 1;
</script>
<script>
var a = 2;
</script>
<script>
console.log( a ); // 2
</script>
2019/08/02(金) 15:05:37.23ID:???
>>428みたいなFAQをスレのテンプレに入れればいいと思う
450404
2019/08/02(金) 15:30:37.79ID:3e/9quPm2019/08/02(金) 15:35:39.39ID:???
SEO? あれすべてがデマだけど?
SEOにいいやり方なんて無い。
コンテンツがすべて。HTMLの書き方で差は生まれない。
SEOにいいやり方なんて無い。
コンテンツがすべて。HTMLの書き方で差は生まれない。
452404
2019/08/02(金) 15:38:52.57ID:3e/9quPm innnerHTML?というのはメジャーな代用法だそうですが、document.writeで作ったプログラムを全て書き換える場合に中々互換性が確保できず混乱しています…。
変数に文字列を格納→そのまま出力といったシンプルな方法はないのでしょうか。。
変数に文字列を格納→そのまま出力といったシンプルな方法はないのでしょうか。。
2019/08/02(金) 16:06:32.25ID:???
無理して書き換えなくてもいいと思うが
documen.writeをそのまま置き換えたいならdocument.body.innerHTML += で良いんじゃね
documen.writeをそのまま置き換えたいならdocument.body.innerHTML += で良いんじゃね
2019/08/02(金) 16:38:50.93ID:???
2019/08/02(金) 19:48:19.62ID:???
>>451
wordpressでテンプレ変えるだけでも結構差が出るよ
ただ、SEOにゴリゴリ特化して複雑になったものはあまり良くない
シンプルでツボだけちゃんと抑えてる物が流入量多い
アウトラインは作っておいたほうが良い
wordpressでテンプレ変えるだけでも結構差が出るよ
ただ、SEOにゴリゴリ特化して複雑になったものはあまり良くない
シンプルでツボだけちゃんと抑えてる物が流入量多い
アウトラインは作っておいたほうが良い
2019/08/02(金) 21:35:22.58ID:???
>>427
with構文を使う方法(sloppyモードのみ):
let obj = {dog: '犬', cat: '猫'};
with (obj) {
console.log(cat);
console.log(dog);
}
with構文を使う方法(sloppyモードのみ):
let obj = {dog: '犬', cat: '猫'};
with (obj) {
console.log(cat);
console.log(dog);
}
2019/08/02(金) 21:47:43.91ID:???
でつ ←sloppyに見える
2019/08/02(金) 22:14:58.81ID:???
>>450
script要素ノードの弟位置にinsertAdjacentHTMLで挿入すれば良い
script要素ノードの弟位置にinsertAdjacentHTMLで挿入すれば良い
2019/08/02(金) 22:46:56.74ID:???
それはスヌーピー
2019/08/04(日) 20:38:12.89ID:???
Chromeで対応しているコーディックかの確認ができません
Firefoxでは実際の対応状況が反映されているようです
どうしたら良いでしょうか
await navigator.mediaCapabilities.decodingInfo({type: 'file', video: {
contentType: 'video/webm; codecs="av1"',
width: 3840,
height: 2160,
bitrate: 20*1024*1024,
framerate: 60,
}})
Firefoxでは実際の対応状況が反映されているようです
どうしたら良いでしょうか
await navigator.mediaCapabilities.decodingInfo({type: 'file', video: {
contentType: 'video/webm; codecs="av1"',
width: 3840,
height: 2160,
bitrate: 20*1024*1024,
framerate: 60,
}})
2019/08/04(日) 21:06:06.67ID:???
chromeの場合はcodecs="av01.0.05M.08"のようにきっちり書かないとだめなのよ
2019/08/05(月) 12:26:50.54ID:???
ありがとうございます。
contentTypeはきっちり反映されるようになりました。
ですがその他の値をべらぼうな値にしてもtrueになってしまうようです。
contentTypeはきっちり反映されるようになりました。
ですがその他の値をべらぼうな値にしてもtrueになってしまうようです。
463404
2019/08/07(水) 20:47:01.75ID:rraEgMJ2 >>454
ありがとうございます。
とりあえずその方法で置換できないか試してみます。
あとちょっと複雑なことをやっていて、
<div>
<p>りんご</p>
<p>ばなな</p>
<p>みかん</p>
<p>ぶどう</p>
</div>
↑みたいなHTMLを出力し、かつ<p>タグ内の文章をランダムで表示させており、
配列に変換してランダムに吐き出すと言うのを
【くだもの.js】
ver list[
<p>りんご</p>,
<p>ばなな</p>,
<p>みかん</p>,
<p>ぶどう</p>,
]
function Kudamono(){
var N = Math.floor(Math.random() * list.length);
document.write(list[N]);
list.splice(N,4);
}
と言う形でやっているのですが、何か良い代替案があれば教えて頂けるとめちゃ嬉しいです。自分でも試行錯誤します。
ありがとうございます。
とりあえずその方法で置換できないか試してみます。
あとちょっと複雑なことをやっていて、
<div>
<p>りんご</p>
<p>ばなな</p>
<p>みかん</p>
<p>ぶどう</p>
</div>
↑みたいなHTMLを出力し、かつ<p>タグ内の文章をランダムで表示させており、
配列に変換してランダムに吐き出すと言うのを
【くだもの.js】
ver list[
<p>りんご</p>,
<p>ばなな</p>,
<p>みかん</p>,
<p>ぶどう</p>,
]
function Kudamono(){
var N = Math.floor(Math.random() * list.length);
document.write(list[N]);
list.splice(N,4);
}
と言う形でやっているのですが、何か良い代替案があれば教えて頂けるとめちゃ嬉しいです。自分でも試行錯誤します。
2019/08/07(水) 21:08:45.57ID:???
あれid表示されるようになったのかな
2019/08/07(水) 21:11:11.26ID:???
よく見たらその人と思われるレスだけid付いてるけどどうやってるの?
466Name_Not_Found
2019/08/07(水) 21:21:15.06ID:R/swKGJ+ 課金すればIDがつくんだよ
467Name_Not_Found
2019/08/07(水) 22:00:32.28ID:0g+k5t7K こうかな
468Name_Not_Found
2019/08/07(水) 22:02:11.46ID:D7VQxMNX 課金してみたわ
469Name_Not_Found
2019/08/07(水) 22:07:34.97ID:0g+k5t7K やったwあたった
>>463
上の人は配列の中を文章だけにしてp=document.createElement('p')でP要素を作って
p.innerTextに配列の文章を入れなさいよってことを言いたかったじゃないの伝わってないみたいだけど
思うにそれHTMLに全部マークアップしといてランダムで隠す方が楽なんじゃないかな
イチイチ生成する意味なくないか
>>463
上の人は配列の中を文章だけにしてp=document.createElement('p')でP要素を作って
p.innerTextに配列の文章を入れなさいよってことを言いたかったじゃないの伝わってないみたいだけど
思うにそれHTMLに全部マークアップしといてランダムで隠す方が楽なんじゃないかな
イチイチ生成する意味なくないか
470404
2019/08/07(水) 22:21:08.55ID:rraEgMJ2 >>469
要素を作るまではできたのですが、それを”その場に吐き出す=スクリプトを書いた場所にそのまま出力する”と言うのができないのですよね…。
例えば
<div id kudamono></div>
<scr>kudamono. js</scr>
こう書けばいかようにもなると思うのですが、、
<scr>kudamono. js</scr>
↑これだけで全て出力できるようなメソッドがわからなくて詰んでます…。
要素を作るまではできたのですが、それを”その場に吐き出す=スクリプトを書いた場所にそのまま出力する”と言うのができないのですよね…。
例えば
<div id kudamono></div>
<scr>kudamono. js</scr>
こう書けばいかようにもなると思うのですが、、
<scr>kudamono. js</scr>
↑これだけで全て出力できるようなメソッドがわからなくて詰んでます…。
471404
2019/08/07(水) 22:23:19.04ID:rraEgMJ2 insertHTMLでbodyに書き出すと本当にbody直下に書き出しといった形になってしまうので…。
本当に「document.write」と全く同じことができる書き方、現状では無いのでしょうか?
本当に「document.write」と全く同じことができる書き方、現状では無いのでしょうか?
472Name_Not_Found
2019/08/07(水) 22:29:30.84ID:D7VQxMNX >>470
scr要素って何?
scr要素って何?
473404
2019/08/07(水) 22:32:09.31ID:rraEgMJ2 >>472
scriptと書いたところ謎の理由で書き込めなかったので、「scr」と略しました。
scriptと書いたところ謎の理由で書き込めなかったので、「scr」と略しました。
474Name_Not_Found
2019/08/07(水) 23:07:20.81ID:0g+k5t7K475404
2019/08/07(水) 23:15:26.37ID:rraEgMJ2 >>474
document.getElementById('kudamono')
.appendChild(p)
でやる場合、もともとのHTMLに
<div class=kudamono><./div>
と記述していないとダメですよね?
これは”無から””その場に”書き出すという
document.writeの代用にはならないんですよ…。
なぜなら<scrpt></scrpt>の記述”のみ”で成立しないので…。
document.getElementById('kudamono')
.appendChild(p)
でやる場合、もともとのHTMLに
<div class=kudamono><./div>
と記述していないとダメですよね?
これは”無から””その場に”書き出すという
document.writeの代用にはならないんですよ…。
なぜなら<scrpt></scrpt>の記述”のみ”で成立しないので…。
2019/08/07(水) 23:16:44.88ID:???
477476
2019/08/07(水) 23:18:58.06ID:??? まあ、insertBeforeの方が良いとは思うが
478Name_Not_Found
2019/08/07(水) 23:23:29.99ID:0g+k5t7K479404
2019/08/07(水) 23:35:48.56ID:rraEgMJ2 >>476
ありがとうございます。
insertAdjacentHTMLで親要素を取得して終了タグ直前に挿入、といった形で落ち着きそうです。
nextSiblingでも同じことができそうですが、レンダリング速度など考えるとどちらが良いのでしょうか?
ありがとうございます。
insertAdjacentHTMLで親要素を取得して終了タグ直前に挿入、といった形で落ち着きそうです。
nextSiblingでも同じことができそうですが、レンダリング速度など考えるとどちらが良いのでしょうか?
2019/08/08(木) 04:30:17.78ID:???
>>475
jQuery なら、これで、body に、div.kudamono を作れる。
その後に、document.getElementById('kudamono').appendChild(p) と続ければよい
<script type="text/javascript" src="file:///C:/Users/Owner/Documents/JS/jQuery/jquery-3.1.0.min.js"></script>
<script>
$( 'body' ).append( '<div class=kudamono></div>' );
</script>
jQuery なら、これで、body に、div.kudamono を作れる。
その後に、document.getElementById('kudamono').appendChild(p) と続ければよい
<script type="text/javascript" src="file:///C:/Users/Owner/Documents/JS/jQuery/jquery-3.1.0.min.js"></script>
<script>
$( 'body' ).append( '<div class=kudamono></div>' );
</script>
481480
2019/08/08(木) 07:25:38.74ID:??? 修正
kudamono は、id か
>$( 'body' ).append( '<div class=kudamono></div>' );
$( 'body' ).append( '<div id=kudamono></div>' );
kudamono は、id か
>$( 'body' ).append( '<div class=kudamono></div>' );
$( 'body' ).append( '<div id=kudamono></div>' );
482476
2019/08/08(木) 11:53:43.42ID:??? >>479
レンダリング速度よりもXSS等のセキュリティリスクを考慮した方が良い
俺なら、insertBeforeか自作のinsertAfterで対応する
必要なら、DocumentFragmentも使う
レンダリング速度よりもXSS等のセキュリティリスクを考慮した方が良い
俺なら、insertBeforeか自作のinsertAfterで対応する
必要なら、DocumentFragmentも使う
483404
2019/08/08(木) 15:02:42.60ID:VHDntjL2 >>480
ありがとうございます。
ただ、やはりそちらのやり方ですとどうしてもbody直下への挿入となるため、<scrpt>kudamono,js</scrpt>を記述した箇所にそのままの書き出しといった形にならないため、やはりdocument.writeの代用にはならないのですよね…。
ただJQueryだとそこまでスッキリした記述ができるんですね!教えて頂いてありがとうございます。
ありがとうございます。
ただ、やはりそちらのやり方ですとどうしてもbody直下への挿入となるため、<scrpt>kudamono,js</scrpt>を記述した箇所にそのままの書き出しといった形にならないため、やはりdocument.writeの代用にはならないのですよね…。
ただJQueryだとそこまでスッキリした記述ができるんですね!教えて頂いてありがとうございます。
484404
2019/08/08(木) 15:06:53.91ID:VHDntjL2 >>482
なるほどです。
insertBeforeで挿入したいのですが、.insertAdjacentHTMLの”beforeend”に該当する記述はinsertBedoreで可能なのでしょうか?
つまり
<div>
・コンテンツ
・コンテンツ
←ここに挿入するやり方がわからない(insertBefore ???)
</div>
←ここに挿入はわかる(insertBefore+nextSbling)or(nsertAdjacentHTML”beforeend”)
なるほどです。
insertBeforeで挿入したいのですが、.insertAdjacentHTMLの”beforeend”に該当する記述はinsertBedoreで可能なのでしょうか?
つまり
<div>
・コンテンツ
・コンテンツ
←ここに挿入するやり方がわからない(insertBefore ???)
</div>
←ここに挿入はわかる(insertBefore+nextSbling)or(nsertAdjacentHTML”beforeend”)
485404
2019/08/08(木) 15:11:07.88ID:VHDntjL2 また新たな疑問なのですが…
innerHTMLやinsertAdjacentHTMLで外部スクリプトを書き出そうとすると、一部正常に動作しないものがあるようなのですが…これは何が原因なのでしょうか?
外部から呼び出す類のスクリプト(アンケートサービスなど)を記述すると、スマホビューで表示されません(PCでは表示される)
そもそもinnerHTMLやinsertAdjacentHTMLではスクリプトを記述することができないのでしょうか?
innerHTMLやinsertAdjacentHTMLで外部スクリプトを書き出そうとすると、一部正常に動作しないものがあるようなのですが…これは何が原因なのでしょうか?
外部から呼び出す類のスクリプト(アンケートサービスなど)を記述すると、スマホビューで表示されません(PCでは表示される)
そもそもinnerHTMLやinsertAdjacentHTMLではスクリプトを記述することができないのでしょうか?
486404
2019/08/08(木) 15:11:55.43ID:VHDntjL2 なんども質問してしまい申し訳ありません。。
他に質問ある方などいましたら是非そちらの方を優先されてください><
他に質問ある方などいましたら是非そちらの方を優先されてください><
2019/08/08(木) 15:25:46.00ID:???
質問があります。質問してもいいですか?という質問をしてもいいですか?
2019/08/08(木) 16:56:22.96ID:???
「CSSセレクタで指定すれば可能」というレスを
スルーしてるぐらいだからそりゃできないだろな
ちょっとは自分で調べるなりすればいいのに
1から10まで教えてもらえると思うなよ
スルーしてるぐらいだからそりゃできないだろな
ちょっとは自分で調べるなりすればいいのに
1から10まで教えてもらえると思うなよ
2019/08/08(木) 18:54:55.21ID:???
function sengen(name, value) {
?????? //呼び出し元で let name = value する
}
function kidou() {
sengen('aiueo', 999);
}
kidou()
という形で呼ぶと、グローバルでもsengen()関数内でもなくkidou()関数内で
let aiueo = 999;
と変数を宣言してくれるようにする方法って何かないでしょうか?
あくまでkidou()内にはletと書かずに
無理ですかね?
?????? //呼び出し元で let name = value する
}
function kidou() {
sengen('aiueo', 999);
}
kidou()
という形で呼ぶと、グローバルでもsengen()関数内でもなくkidou()関数内で
let aiueo = 999;
と変数を宣言してくれるようにする方法って何かないでしょうか?
あくまでkidou()内にはletと書かずに
無理ですかね?
2019/08/08(木) 19:03:11.15ID:???
そんな事ができたら地獄だ
2019/08/08(木) 19:08:37.64ID:???
オブジェクトやクラス使えよ
2019/08/08(木) 21:24:11.02ID:???
スコープやコンテキストに触る必要があるから
唯一with-proxyで全体を囲めば限定的に可能
唯一with-proxyで全体を囲めば限定的に可能
2019/08/08(木) 21:31:15.33ID:???
何をしたいかでなく何故そうしたいのかを書けよ
494480
2019/08/08(木) 22:41:09.02ID:??? >>484
>>480-481
にも書いたように、
jQuery では、append で、
指定した要素の最後に、引数で指定した内容を追加できる。
id=box の要素の最後に、div を追加する。
$('#box').append('<div>...</div>');
初心者に、素のJavaScript(JS)は難しいから、jQueryを学ぶ方が早い
例えば、Showroom を見るときに、多くのアバターが邪魔なので削除しているけど、
素のJSでは、要素を削除するのにも、
一々、その親要素を取得して、親から子要素を削除するように書くから、面倒
var elem = document.getElementById( 'js-avatar' );
elem.parentNode.removeChild( elem );
>>480-481
にも書いたように、
jQuery では、append で、
指定した要素の最後に、引数で指定した内容を追加できる。
id=box の要素の最後に、div を追加する。
$('#box').append('<div>...</div>');
初心者に、素のJavaScript(JS)は難しいから、jQueryを学ぶ方が早い
例えば、Showroom を見るときに、多くのアバターが邪魔なので削除しているけど、
素のJSでは、要素を削除するのにも、
一々、その親要素を取得して、親から子要素を削除するように書くから、面倒
var elem = document.getElementById( 'js-avatar' );
elem.parentNode.removeChild( elem );
495480
2019/08/08(木) 22:52:23.50ID:??? >>485
innerHTML には、HTMLタグを書いて実行できるけど、
innerText には文字列しか書けない
素のJavaScript では、スマホ用ブラウザなどへの互換性が悪い。
新しめのメソッドなどを使うと、スマホには実装されていないなどが起きる
初心者には、互換性が高い、jQuery を勧める
jQueryを使わない場合は、自分で書いたメソッドが、どのブラウザで使えるのか、
一々、互換性を調べなければならないので、何年も掛かる
innerHTML には、HTMLタグを書いて実行できるけど、
innerText には文字列しか書けない
素のJavaScript では、スマホ用ブラウザなどへの互換性が悪い。
新しめのメソッドなどを使うと、スマホには実装されていないなどが起きる
初心者には、互換性が高い、jQuery を勧める
jQueryを使わない場合は、自分で書いたメソッドが、どのブラウザで使えるのか、
一々、互換性を調べなければならないので、何年も掛かる
2019/08/09(金) 00:19:23.88ID:???
上の人じゃないんですが、括弧でくるんで
(a = document.createElement(a')).setAttribute('foo','bar')
のような書き方をするのは短く書ける以外に何か利点があるんですか?
(a = document.createElement(a')).setAttribute('foo','bar')
のような書き方をするのは短く書ける以外に何か利点があるんですか?
2019/08/09(金) 01:03:36.21ID:???
普通は、これで良いだろ。
document.createElement( 'a' ).setAttribute( 'foo','bar' )
a = document.createElement( 'a' )
これは、a という変数を、後で使いたいから、一旦、代入するのだろう
だから、下の2行と同じ意味。
a = document.createElement( 'a' )
a.setAttribute( 'foo','bar' )
そして、それ以降で、a を使う
document.createElement( 'a' ).setAttribute( 'foo','bar' )
a = document.createElement( 'a' )
これは、a という変数を、後で使いたいから、一旦、代入するのだろう
だから、下の2行と同じ意味。
a = document.createElement( 'a' )
a.setAttribute( 'foo','bar' )
そして、それ以降で、a を使う
499476
2019/08/09(金) 08:13:35.94ID:??? >>485
DOM API全てで外部スクリプトを書いたscript要素を挿入出来る
実行順の問題か、コードがSPに対応していないか、ノードが出現する前に参照しようとしているか、script[tyoe=defer],async,moduleを使用しているか…etc
DOM API全てで外部スクリプトを書いたscript要素を挿入出来る
実行順の問題か、コードがSPに対応していないか、ノードが出現する前に参照しようとしているか、script[tyoe=defer],async,moduleを使用しているか…etc
501476
2019/08/09(金) 08:27:24.46ID:wUCuxxOg ぶっちゃけ、>>493が最重要
「やりたいこと」だけ先行すると、「やりたいこと」が不適切な手段だった場合に気がつけない
「最終目標」を踏まえて、最適解を見つける必要がある
最終目標は「document.writeの代替コードが欲しい」ではなくて、
- なぜdocument.writeが必要なのか
- document.writeではなく、代替コードである必然性はあるのか
- document.writeをなぜ使用してはいけないのか
このように、「なぜその手段を選択したのか」を尋ねられたら時に「論理的な理由」を説明出来るようになって、良いコードを書けるようになる
「やりたいこと」だけ先行すると、「やりたいこと」が不適切な手段だった場合に気がつけない
「最終目標」を踏まえて、最適解を見つける必要がある
最終目標は「document.writeの代替コードが欲しい」ではなくて、
- なぜdocument.writeが必要なのか
- document.writeではなく、代替コードである必然性はあるのか
- document.writeをなぜ使用してはいけないのか
このように、「なぜその手段を選択したのか」を尋ねられたら時に「論理的な理由」を説明出来るようになって、良いコードを書けるようになる
502404
2019/08/09(金) 08:31:31.97ID:Pbz7Qbgw503404
2019/08/09(金) 08:45:43.61ID:Pbz7Qbgw >>501
そうですよね…。
一応コード全体の書き換えは終わり、実装もできそうなのですが…。
書いているブログの記事下に、過去のおすすめ記事や人気商品などをランダムで表示させるスクリプトを書いていて、記事下に<scrpt>randam.js</scrpt>と書いて一括管理しています。
ブログサービスを利用しているのでphpも使えず、jsを使うしかないというね。
- なぜdocument.writeが必要なのか
過去の記事は別のファイル(kiji.js)で管理したいので、それをjs内で呼び出して使うのにdocument.writeが便利→多用してしまうという感じです。
あと単純に「その場に書く」ということができるので便利。。(ブログサービスの都合上、cssのクラス名がpc-スマホ上で違ったりするので、クラスを指定して挿入よりその場に書き出せる方が便利)
- document.writeではなく、代替コードである必然性はあるのか
これはむしろ私が最初に疑問に思ったので質問した次第です。
使っていて特に表示速度に問題もなく、ページが真っ白になるという事もないのですが、「document.writeは非推奨」という話を何回も目にしたので、変えたほうが良いのかなと…。
そうですよね…。
一応コード全体の書き換えは終わり、実装もできそうなのですが…。
書いているブログの記事下に、過去のおすすめ記事や人気商品などをランダムで表示させるスクリプトを書いていて、記事下に<scrpt>randam.js</scrpt>と書いて一括管理しています。
ブログサービスを利用しているのでphpも使えず、jsを使うしかないというね。
- なぜdocument.writeが必要なのか
過去の記事は別のファイル(kiji.js)で管理したいので、それをjs内で呼び出して使うのにdocument.writeが便利→多用してしまうという感じです。
あと単純に「その場に書く」ということができるので便利。。(ブログサービスの都合上、cssのクラス名がpc-スマホ上で違ったりするので、クラスを指定して挿入よりその場に書き出せる方が便利)
- document.writeではなく、代替コードである必然性はあるのか
これはむしろ私が最初に疑問に思ったので質問した次第です。
使っていて特に表示速度に問題もなく、ページが真っ白になるという事もないのですが、「document.writeは非推奨」という話を何回も目にしたので、変えたほうが良いのかなと…。
2019/08/09(金) 08:57:25.72ID:???
だから変えた方が良いって皆言ってるじゃない
これ以上は君が調べて自ら解決するべきことだよ
それで話は終わりなの ほんとしつこいね
変えなくてもいいって言ってほしいだけなんでしょ
これ以上は君が調べて自ら解決するべきことだよ
それで話は終わりなの ほんとしつこいね
変えなくてもいいって言ってほしいだけなんでしょ
2019/08/09(金) 09:49:30.79ID:???
>>503
document.writeはHTML5の仕様で非推奨なはずで、だからみんな非推奨と言ってるので
使えないわけではないから、使いたければ使ってもいいんだろうけど
ただ、質問されたら、非推奨だから別の方法でって答えしか返せないのは当然だと思う
document.writeはHTML5の仕様で非推奨なはずで、だからみんな非推奨と言ってるので
使えないわけではないから、使いたければ使ってもいいんだろうけど
ただ、質問されたら、非推奨だから別の方法でって答えしか返せないのは当然だと思う
506Name_Not_Found
2019/08/09(金) 22:35:07.13ID:qeDXchc7 自分の言ってる事が正しいと思うなら回答を気にせずに好きに実装していいんだぞ
死ぬ程大変な思いをすることになるけど、趣味でやる分にはとてもいい勉強になる
俺はなった、ありゃーやるべきだ
>>404は好きにやってしまえば良い
死ぬ程大変な思いをすることになるけど、趣味でやる分にはとてもいい勉強になる
俺はなった、ありゃーやるべきだ
>>404は好きにやってしまえば良い
2019/08/10(土) 10:48:10.83ID:???
すみません;
質問し直します
「document.writeは使うな」という警告を耳にしますが、私は誰がなんと言おうとも頑として聞かずdocument.write使いたいので、免罪符となる「document.writeを使っても問題ない理由」をでっち上げていただけないでしょうか?
質問し直します
「document.writeは使うな」という警告を耳にしますが、私は誰がなんと言おうとも頑として聞かずdocument.write使いたいので、免罪符となる「document.writeを使っても問題ない理由」をでっち上げていただけないでしょうか?
508Name_Not_Found
2019/08/10(土) 12:00:45.28ID:OSm48tTb (ヤバい、かなり難しい・・・)
2019/08/10(土) 12:34:08.44ID:???
>>507
例えばstyleタグを生成する場合。
document.writeを使わないなら、DOMが構築された後に呼ばれるので
わずかに構築済みのDOM(ただしスタイルがあたってない)ものが表示されてしまう
レンダリングがブロックされてしまうというが、そもそもstyleタグを生成する場合
レンダリングをブロックしたいわけでdocument.writeを使うのは願ったり叶ったり
例えばstyleタグを生成する場合。
document.writeを使わないなら、DOMが構築された後に呼ばれるので
わずかに構築済みのDOM(ただしスタイルがあたってない)ものが表示されてしまう
レンダリングがブロックされてしまうというが、そもそもstyleタグを生成する場合
レンダリングをブロックしたいわけでdocument.writeを使うのは願ったり叶ったり
2019/08/10(土) 12:44:56.90ID:???
飯食ったり
2019/08/10(土) 13:07:10.72ID:???
お昼寝したり
2019/08/11(日) 01:34:28.12ID:???
1.物理・数学の知識をjavascriptで活かすには何が一番有利?
2.ブラウザゲームが作りたい。専門書が多く出版されている物理エンジンはどれでしょうか?
2.ブラウザゲームが作りたい。専門書が多く出版されている物理エンジンはどれでしょうか?
2019/08/11(日) 03:30:50.06ID:???
>>512
国内壊滅海外ならphaser
国内壊滅海外ならphaser
2019/08/11(日) 07:57:15.05ID:???
物理・数学の知識を活かすって何が言いたいのか良くわからんな
ゲーム用の物理エンジンというのも必ずしも物理学的に忠実なものではなくて
性能的、面白さを出すために擬似的なものを使うのが主流だし
ゲーム用の物理エンジンというのも必ずしも物理学的に忠実なものではなくて
性能的、面白さを出すために擬似的なものを使うのが主流だし
2019/08/11(日) 09:21:26.73ID:???
自分が勝てるホームを探してるんだろw
物理・数学の知識がある(自称)のに
自分が何も作れないのは題材が悪いんだって考えてる。
物理・数学の知識がある(自称)のに
自分が何も作れないのは題材が悪いんだって考えてる。
516Name_Not_Found
2019/08/11(日) 09:38:50.42ID:0HXmsQsU 数学や物理だとpythonの方が向いてるよ
物理エンジンでどうこうしたいならc#+unityだけど、別に数学の知識は不要。パラメータ変更するだけで大抵のことは出来る
物理エンジンでどうこうしたいならc#+unityだけど、別に数学の知識は不要。パラメータ変更するだけで大抵のことは出来る
517404
2019/08/11(日) 13:34:30.36ID:Hw0y73vf518404
2019/08/11(日) 13:36:12.05ID:Hw0y73vf519Name_Not_Found
2019/08/11(日) 13:55:32.74ID:0HXmsQsU よく見たら既に使われているので支障があれば変えたいって質問内容だったのね
当然誰も読まないから>>507みたいにおもちゃにされとるだけ
当然誰も読まないから>>507みたいにおもちゃにされとるだけ
2019/08/11(日) 14:31:24.23ID:???
非推奨なのはパフォーマンス上の理由だから、パフォーマンス出なくて構わないならどんどん使っていけ。
521Name_Not_Found
2019/08/11(日) 15:10:53.07ID:0HXmsQsU いつの間にか使えなくなってるぞ
2019/08/11(日) 16:08:36.71ID:???
ならねーよバーカ
523Name_Not_Found
2019/08/11(日) 16:18:50.06ID:0HXmsQsU >>522
flashが全滅したのをもうお忘れで?
flashが全滅したのをもうお忘れで?
2019/08/11(日) 16:43:34.39ID:???
flashはそもそもweb標準じゃないがw
仕様書に名前すら出てこないがwww
単なるサードパーティーのプラグインでセキュリティチョンボ大杉のうんこなので閉め出されたゴミだがwwwww
仕様書に名前すら出てこないがwww
単なるサードパーティーのプラグインでセキュリティチョンボ大杉のうんこなので閉め出されたゴミだがwwwww
2019/08/11(日) 16:53:52.00ID:???
さすがにflashが終わったからdocument.write終わるってのは頭おかしい。
風が吹いたからヤったとかいうのと同じレベルで意味不明。
風が吹いたからヤったとかいうのと同じレベルで意味不明。
526Name_Not_Found
2019/08/11(日) 17:00:36.38ID:0HXmsQsU2019/08/11(日) 17:19:52.54ID:???
さすがに、standardから削る前に実装を廃止しちゃう早漏なブラウザメーカーはないだろう
2019/08/11(日) 17:26:42.87ID:???
RegExpのプロパティやメソッドは一部消えるな
2019/08/11(日) 17:27:29.90ID:???
Flashは存在を許すことで明確で積極的な害があったが
document.writeに関しては同期XHRと同じく非推奨以上にする積極的な理由がないでしょう
それに昔と違って今はFeature-Policyがあるんだからパフォーマンスの問題だって
Feature-Policy: {"disable":["sync-xhr","docwrite"]}
とか指定されているサイトでのみで最適化していけばいいという流れでしょ
document.writeに関しては同期XHRと同じく非推奨以上にする積極的な理由がないでしょう
それに昔と違って今はFeature-Policyがあるんだからパフォーマンスの問題だって
Feature-Policy: {"disable":["sync-xhr","docwrite"]}
とか指定されているサイトでのみで最適化していけばいいという流れでしょ
2019/08/11(日) 17:30:58.33ID:???
2019/08/11(日) 17:40:25.97ID:???
532Name_Not_Found
2019/08/11(日) 17:41:32.75ID:0HXmsQsU2019/08/11(日) 17:44:57.92ID:???
>>532
> ブラウザがdocument.writeを使えなくするのは時間の問題
ブラウザがdocument.writeを使えなくする根拠マダー?ww
おかしいなぁwwまだ使えるんだけど?www
あくしろよ嘘吐きノロマwwwww
> ブラウザがdocument.writeを使えなくするのは時間の問題
ブラウザがdocument.writeを使えなくする根拠マダー?ww
おかしいなぁwwまだ使えるんだけど?www
あくしろよ嘘吐きノロマwwwww
2019/08/11(日) 17:47:39.76ID:???
いまだにブラウザデフォがsloppyモードでwith文も使えるブラウザがdocument.write消す分けねーだろwebが壊れるわ
535Name_Not_Found
2019/08/11(日) 17:48:00.59ID:0HXmsQsU まぁ別に100%廃止される予定だから今すぐやめろなんて言ってないぜ
phpのmysqlも10年ぐらい掛けてじっくり廃止したが、それでもやぱり大混乱が起きた。弊社です。
非推奨の機能なんて1005使わない方が良い。
単にバージョンアップが無いだけでなく、その機能はいずれ使用できなくなる。
一ヶ月しか使わないランペならともかく、ずっと使うつもりなら絶対に使うべきではない
phpのmysqlも10年ぐらい掛けてじっくり廃止したが、それでもやぱり大混乱が起きた。弊社です。
非推奨の機能なんて1005使わない方が良い。
単にバージョンアップが無いだけでなく、その機能はいずれ使用できなくなる。
一ヶ月しか使わないランペならともかく、ずっと使うつもりなら絶対に使うべきではない
536Name_Not_Found
2019/08/11(日) 17:48:57.72ID:0HXmsQsU2019/08/11(日) 17:54:06.33ID:???
正しい→非推奨だから使わない方がいい
嘘松→非推奨だから削除される
嘘松→非推奨だから削除される
538Name_Not_Found
2019/08/11(日) 17:54:10.74ID:0HXmsQsU539Name_Not_Found
2019/08/11(日) 17:56:10.35ID:0HXmsQsU2019/08/11(日) 17:59:18.90ID:???
>>538
rubyやらphpやらから来た人にありがちな勘違いなんだけどjsはそれら言語と違って「仕様変更して前のはメジャーバージョンアップのとき消せばいいや」ってのが通じない言語なんだよね。
「webを壊す」とか「don't break the web」とかで検索して学んでよそこら辺の概念は。
同じように考えてたら笑われるよ。
rubyやらphpやらから来た人にありがちな勘違いなんだけどjsはそれら言語と違って「仕様変更して前のはメジャーバージョンアップのとき消せばいいや」ってのが通じない言語なんだよね。
「webを壊す」とか「don't break the web」とかで検索して学んでよそこら辺の概念は。
同じように考えてたら笑われるよ。
2019/08/11(日) 18:02:49.48ID:???
542Name_Not_Found
2019/08/11(日) 18:05:06.62ID:0HXmsQsU2019/08/11(日) 18:05:24.80ID:???
むしろ消えた機能出した方が早いだろ。すぐ出せるだろ100%らしいし
2019/08/11(日) 18:06:33.38ID:???
>>536
誰も勧めてなんかないでしょ
というか10年後使えなくなるかもしれないから今から気をつけるって
10年前Chromeが出てから、色んな機能がユーザーアクションが必要になったり、
プレフィックス付きが無効化されたり、WebComponent周りも大きく変わったけど
それらを10年前に予測することはできないでしょ
自分が勝手に気をつけるのなら良いけれど、
今実際に決まってることとしたらFeature-Policyで抑制して行こうということなのに
勝手に使えなくなるとかいう予想を押し付けるのはおかしいと思う
Webっていうのは記録でも有るんだから昔の物がそのまま見えないと行けない
writeなんかはコンテンツの内容表示に直接影響する機能なんだから
よほどの理由がない限り廃止することはできないと考えるのが普通
TLSやHTTPの将来の一定バージョン以降ではいくつかの機能を廃止するとかはできるだろうけどね
誰も勧めてなんかないでしょ
というか10年後使えなくなるかもしれないから今から気をつけるって
10年前Chromeが出てから、色んな機能がユーザーアクションが必要になったり、
プレフィックス付きが無効化されたり、WebComponent周りも大きく変わったけど
それらを10年前に予測することはできないでしょ
自分が勝手に気をつけるのなら良いけれど、
今実際に決まってることとしたらFeature-Policyで抑制して行こうということなのに
勝手に使えなくなるとかいう予想を押し付けるのはおかしいと思う
Webっていうのは記録でも有るんだから昔の物がそのまま見えないと行けない
writeなんかはコンテンツの内容表示に直接影響する機能なんだから
よほどの理由がない限り廃止することはできないと考えるのが普通
TLSやHTTPの将来の一定バージョン以降ではいくつかの機能を廃止するとかはできるだろうけどね
545Name_Not_Found
2019/08/11(日) 18:07:17.29ID:0HXmsQsU546Name_Not_Found
2019/08/11(日) 18:08:31.29ID:0HXmsQsU >>544
あの〜それそのままmysql*関数に言って頂いてよろしいですかね〜
あの〜それそのままmysql*関数に言って頂いてよろしいですかね〜
2019/08/11(日) 18:09:25.90ID:???
他の言語のように仕様変更してなかったことにできるならtypeof null → objectの仕様バグがいまだに残ってるわけないわな。
web技術の宿命や事情も知らないくせに門外漢が知った風な口聞かないでほしい。
web技術の宿命や事情も知らないくせに門外漢が知った風な口聞かないでほしい。
2019/08/11(日) 18:11:44.22ID:???
いいからdon't break the web で検索しろカス
mysqlやらphpと同列に語るとはヘソが茶を沸かすわ
mysqlやらphpと同列に語るとはヘソが茶を沸かすわ
549Name_Not_Found
2019/08/11(日) 18:22:45.91ID:0HXmsQsU550Name_Not_Found
2019/08/11(日) 18:25:33.17ID:0HXmsQsU どういう標準作るかはどうでもいんだ
それをどう実装するかがブラウザにかかっている
全企業全部統一なら分かるけど、何故か例外をだす企業がいる
それだけの話しだ
それをどう実装するかがブラウザにかかっている
全企業全部統一なら分かるけど、何故か例外をだす企業がいる
それだけの話しだ
2019/08/11(日) 18:57:18.58ID:???
>>550
それがWebだから
そうじゃないプロプラエティな技術も沢山あるのだから
嫌ならそちらでやればいい
悪いところを無くすことは絶対にできない
良いところがあればその分悪いところがあるのだから
あとはどれを選ぶかは好みの問題
それがWebだから
そうじゃないプロプラエティな技術も沢山あるのだから
嫌ならそちらでやればいい
悪いところを無くすことは絶対にできない
良いところがあればその分悪いところがあるのだから
あとはどれを選ぶかは好みの問題
2019/08/11(日) 19:21:45.67ID:???
そもそもWeb技術のうちどれをどれだけ採用して
どれだけ独自機能を乗せるかはブラウザの自由でしょ
ブラウザってただの1アプリなんだから
どれだけ独自機能を乗せるかはブラウザの自由でしょ
ブラウザってただの1アプリなんだから
553Name_Not_Found
2019/08/11(日) 19:23:02.76ID:0HXmsQsU >>551
webは使わざるを得ない状況になっている
使わなければ良い、はもう通じない
あとは言語の開発に参加するぐらいだ
なので俺はphpのデバッガに参加したところ。バグフィックスをバンバン出している
選ぶじゃない、作るんだよ
jsはまだ開発に参加してないけど、そろそろ行こうかなって思っている
webは使わざるを得ない状況になっている
使わなければ良い、はもう通じない
あとは言語の開発に参加するぐらいだ
なので俺はphpのデバッガに参加したところ。バグフィックスをバンバン出している
選ぶじゃない、作るんだよ
jsはまだ開発に参加してないけど、そろそろ行こうかなって思っている
2019/08/11(日) 19:32:56.52ID:???
>>553
言語の開発に参加した所で君が思ってるところは変わらないでしょ
TC39でJSエンジンもWebブラウザも作ってWebを乗っ取るってこと?
それはできないし通用しないと思うよ
それにね、技術の上に理念が乗っかってできてるものの
理念を否定することはその存在そのものの消滅を意味するでしょ
WebはWebだから支持されてるんじゃない
Webの理念が受けたから今の大きなWebがあるんだから
Webって実質まだ20年くらいのもの
Webの理念を否定して仮にWebを変えられたとしても
別の存在が数年の間に取って代わるようになるだけでしょ
つまるところWebは細かい部分を変えるしか無いの
理念の部分を変えようなど机上の空論でしかないの
言語の開発に参加した所で君が思ってるところは変わらないでしょ
TC39でJSエンジンもWebブラウザも作ってWebを乗っ取るってこと?
それはできないし通用しないと思うよ
それにね、技術の上に理念が乗っかってできてるものの
理念を否定することはその存在そのものの消滅を意味するでしょ
WebはWebだから支持されてるんじゃない
Webの理念が受けたから今の大きなWebがあるんだから
Webって実質まだ20年くらいのもの
Webの理念を否定して仮にWebを変えられたとしても
別の存在が数年の間に取って代わるようになるだけでしょ
つまるところWebは細かい部分を変えるしか無いの
理念の部分を変えようなど机上の空論でしかないの
555Name_Not_Found
2019/08/11(日) 19:46:16.32ID:0HXmsQsU >>554
どれだけ論破していただいても構わないんだけど、
Document.write()
が消えるか消えないか、これだけの話し
これで言えば俺は消えると思う
evaklに近いこれをどれだけ受け入れるか?
まぁそれだけの話しだな
どれだけ論破していただいても構わないんだけど、
Document.write()
が消えるか消えないか、これだけの話し
これで言えば俺は消えると思う
evaklに近いこれをどれだけ受け入れるか?
まぁそれだけの話しだな
2019/08/11(日) 20:02:27.35ID:???
>>555
受け入れるという人はいない
それと将来まで使える形で残しておくかは別の話
document.writeはFeature-Policyで制限されたり
HTTPのバージョンで制限されることは十二分に考えられるけど
基本的には10年後も使える形で残ってるよ
自称JS仙人の俺が保証する
受け入れるという人はいない
それと将来まで使える形で残しておくかは別の話
document.writeはFeature-Policyで制限されたり
HTTPのバージョンで制限されることは十二分に考えられるけど
基本的には10年後も使える形で残ってるよ
自称JS仙人の俺が保証する
2019/08/11(日) 20:20:16.81ID:???
>>530
まだ記号系のRegExp.$って使えんの?
まだ記号系のRegExp.$って使えんの?
2019/08/11(日) 20:41:13.66ID:???
使える
2019/08/11(日) 21:50:55.26ID:???
そりゃ互換性が一番重要だから廃止するわけがないだろう
2019/08/11(日) 22:15:32.77ID:???
使おうとしたらエラー出たんだけど?
2019/08/11(日) 22:24:59.97ID:???
2019/08/11(日) 23:41:19.99ID:???
2019/08/12(月) 08:29:15.07ID:???
上で言ってるのは廃止された時、何も準備してない奴が阿鼻叫喚になるだけだな
俺は順次書き換えているからなんでもいいぞ
俺は順次書き換えているからなんでもいいぞ
2019/08/12(月) 08:48:57.88ID:???
廃止しますって話を聞いてからでも十分間に合うで
2019/08/12(月) 09:50:41.40ID:???
「document.writeが非推奨」を記述している仕様書はあるの?
自分も使わないけど、あくまで機能的な面で使わないだけで、「非推奨だから使わない」は全く分からない
自分も使わないけど、あくまで機能的な面で使わないだけで、「非推奨だから使わない」は全く分からない
2019/08/12(月) 11:18:26.69ID:???
おはようございます!
データを取りに行って、なかったときundefinedエラーになるので
try/catchでしのいでいる部分があるのですが
例えば、要素がなかったときのquerySelectorAll().length的な
別のテクニックって何かありますでしょうか?
void 0とかtypeofで比較する方法はだめでした
データを取りに行って、なかったときundefinedエラーになるので
try/catchでしのいでいる部分があるのですが
例えば、要素がなかったときのquerySelectorAll().length的な
別のテクニックって何かありますでしょうか?
void 0とかtypeofで比較する方法はだめでした
2019/08/12(月) 11:53:39.11ID:???
>>565
HTML Standatdに書いてある
でも「記述している仕様書はあるのか」という判断基準は危険だよ
昨今ChromeチームがGitHubとかで公開したアイディアをWeb標準と言って自分に実装することが問題視されているけど
そのように仕様書なんて誰でも作れるもので超有名な仕様書だって大抵エディタは数人しか居ないのだから
非推奨と書いてあったってそのはそれを書いた人が非推奨と書いただけでしかなく、
仕様書がそれが法律というわけでもないし、推奨しないという言葉に明確な定義も効果も定められて居ないのだから
結局Webって皆で作るものだから、皆がどう思っていてどうしていきたいのかが重要
勿論皆と言っても自分の意見を出す人が少数居て、その中で特に引っ張っている人が少数という構図だから
基本的にはリーダーの発言発表をチェックして色んなメーリングリストに参加して雰囲気を掴んで
一緒に流れを作っていくという気概を持っておかないとね もし外部に判断基準を求めるのなら
HTML Standatdに書いてある
でも「記述している仕様書はあるのか」という判断基準は危険だよ
昨今ChromeチームがGitHubとかで公開したアイディアをWeb標準と言って自分に実装することが問題視されているけど
そのように仕様書なんて誰でも作れるもので超有名な仕様書だって大抵エディタは数人しか居ないのだから
非推奨と書いてあったってそのはそれを書いた人が非推奨と書いただけでしかなく、
仕様書がそれが法律というわけでもないし、推奨しないという言葉に明確な定義も効果も定められて居ないのだから
結局Webって皆で作るものだから、皆がどう思っていてどうしていきたいのかが重要
勿論皆と言っても自分の意見を出す人が少数居て、その中で特に引っ張っている人が少数という構図だから
基本的にはリーダーの発言発表をチェックして色んなメーリングリストに参加して雰囲気を掴んで
一緒に流れを作っていくという気概を持っておかないとね もし外部に判断基準を求めるのなら
2019/08/12(月) 12:38:13.34ID:???
>>567
どこに「非推奨(NOT RECOMENDED)」と書いてあるの?
https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#document.write()
https://momdo.github.io/html/dynamic-markup-insertion.html#document.write()
そもそも、HTML仕様における「非推奨」は HTML 4.01 まで存在したけど、HTML Standard以降はなかったと思うんだけどな…
> 非推奨と書いてあったってそのはそれを書いた人が非推奨と書いただけでしかなく、
それは「非推奨」を仕様で定義せず、各々の主観で物申してる場合の話だよね
Web標準仕様では通例的に RFC 2119 が参照される事が多いし、それに留まらず、通常は「非推奨の理由」にも仕様は言及する
重要なのは仕様における「非推奨の定義」「非推奨の理由」を正確に把握する事だよ
どこに「非推奨(NOT RECOMENDED)」と書いてあるの?
https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#document.write()
https://momdo.github.io/html/dynamic-markup-insertion.html#document.write()
そもそも、HTML仕様における「非推奨」は HTML 4.01 まで存在したけど、HTML Standard以降はなかったと思うんだけどな…
> 非推奨と書いてあったってそのはそれを書いた人が非推奨と書いただけでしかなく、
それは「非推奨」を仕様で定義せず、各々の主観で物申してる場合の話だよね
Web標準仕様では通例的に RFC 2119 が参照される事が多いし、それに留まらず、通常は「非推奨の理由」にも仕様は言及する
重要なのは仕様における「非推奨の定義」「非推奨の理由」を正確に把握する事だよ
2019/08/12(月) 12:50:23.13ID:???
仕様で「非推奨」が未定義なら、彼らのいう「document.writeは非推奨」が主観的根拠を基にするもので厳格な定義じゃない
彼らの意見を目にして>>503が
> 「document.writeは非推奨」という話を何回も目にしたので、変えたほうが良いのかなと…。
のように判断するのは、ただの思考停止だよ
彼らの意見を目にして>>503が
> 「document.writeは非推奨」という話を何回も目にしたので、変えたほうが良いのかなと…。
のように判断するのは、ただの思考停止だよ
2019/08/12(月) 13:14:39.86ID:???
参考までに、HTML 4.01 の非推奨は下記URLの「推奨しない」の部分
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/conform.html#h-4.1
HTML Standard には(自分の知る範囲では)非推奨はないけど、近いのは 15.
https://momdo.github.io/html/obsolete.html#obsolete
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/conform.html#h-4.1
HTML Standard には(自分の知る範囲では)非推奨はないけど、近いのは 15.
https://momdo.github.io/html/obsolete.html#obsolete
2019/08/12(月) 13:36:59.36ID:???
>>568
そこに書いてあるじゃない
For all these reasons, use of this method is strongly discouraged って
でも比較的大人数が長時間議論して練ってバージョンを区切って出していた時代とは違うのだから
非推奨の定義や理由だって結局少数のエディタの主観的根拠に基づくものでしか無い
今回だって警告の元はここ
https://www.w3.org/Bugs/Public/show_bug.cgi?id=9767#c32
document.write() behaviour is so crazy at this point that I've added a warning discouraging authors from using it.
あのHTML仕様界の王様、最も影響力のある人物であるHixieが「振る舞いがクレイジーだから警告しとこ」という理由で追加したものが10年も残ってる
元々はただwriteで書き込まれたスクリプトを動的に実行すべきかどうかという話でしかないのに、Hixieが主観的根拠というか気分で入れたものでしかない
仕様って言うのは結局そういうものでしか無い
そこに書いてあるじゃない
For all these reasons, use of this method is strongly discouraged って
でも比較的大人数が長時間議論して練ってバージョンを区切って出していた時代とは違うのだから
非推奨の定義や理由だって結局少数のエディタの主観的根拠に基づくものでしか無い
今回だって警告の元はここ
https://www.w3.org/Bugs/Public/show_bug.cgi?id=9767#c32
document.write() behaviour is so crazy at this point that I've added a warning discouraging authors from using it.
あのHTML仕様界の王様、最も影響力のある人物であるHixieが「振る舞いがクレイジーだから警告しとこ」という理由で追加したものが10年も残ってる
元々はただwriteで書き込まれたスクリプトを動的に実行すべきかどうかという話でしかないのに、Hixieが主観的根拠というか気分で入れたものでしかない
仕様って言うのは結局そういうものでしか無い
2019/08/12(月) 14:20:54.20ID:???
>>571
繰り返すが、「非推奨」と書いてない
それでも「書いてある」と主張するなら、「仕様書の警告文から判断して、非推奨だと俺は思う」と主張するのが正しい
あなたの個人的見解を聞いているのではない
仕様書は書いた通りに読むだけで主観的解釈を交えた曲解はよろしくない
繰り返すが、「非推奨」と書いてない
それでも「書いてある」と主張するなら、「仕様書の警告文から判断して、非推奨だと俺は思う」と主張するのが正しい
あなたの個人的見解を聞いているのではない
仕様書は書いた通りに読むだけで主観的解釈を交えた曲解はよろしくない
2019/08/12(月) 14:32:17.52ID:???
仕様の「非推奨」と個人の「非推奨」の違いか
2019/08/12(月) 14:51:09.79ID:???
>>572
警告文も仕様の一部で強く推奨しないと書いてあるのだから
それを書かれたとおりに読めばこのメソッドは非推奨なんだと言うことになるだろう
君は何?項目にNOT RECOMENDEDマークが付いてたりしないと非推奨と思わないの?
それこそ君の仕様に書いてあることに対する主観的解釈、個人的見解だと思うけど
Webに関する議論全般において通例的にRFC2119が参照されると思うのもただの君の古い考えだし
その範囲でしか非推奨という日本語訳を使えないというのも君のあまりにも頭の硬すぎる独自の考えでしょ
RFC2119のNOT RECOMENDEDはにしたって
具体的にそれを持ってこの機能が将来どうなるかとか、効果を表すものではなく
ただその仕様に従って欲しい度合いの強さを表すものでしか無い
もし仕様書に警告という形でその仕様に対するより詳しい事項がわざわざ書いてあるのに
キーワード1つ書くやり方に従っていないのであれば正式なものではないというような解釈をするのは
あまりに身勝手で意味のない考えだとしか言えないね
警告文も仕様の一部で強く推奨しないと書いてあるのだから
それを書かれたとおりに読めばこのメソッドは非推奨なんだと言うことになるだろう
君は何?項目にNOT RECOMENDEDマークが付いてたりしないと非推奨と思わないの?
それこそ君の仕様に書いてあることに対する主観的解釈、個人的見解だと思うけど
Webに関する議論全般において通例的にRFC2119が参照されると思うのもただの君の古い考えだし
その範囲でしか非推奨という日本語訳を使えないというのも君のあまりにも頭の硬すぎる独自の考えでしょ
RFC2119のNOT RECOMENDEDはにしたって
具体的にそれを持ってこの機能が将来どうなるかとか、効果を表すものではなく
ただその仕様に従って欲しい度合いの強さを表すものでしか無い
もし仕様書に警告という形でその仕様に対するより詳しい事項がわざわざ書いてあるのに
キーワード1つ書くやり方に従っていないのであれば正式なものではないというような解釈をするのは
あまりに身勝手で意味のない考えだとしか言えないね
2019/08/12(月) 14:56:18.87ID:???
2019/08/12(月) 15:01:11.74ID:???
2019/08/12(月) 15:08:11.48ID:???
俺も「強く推奨しない」とは読めなかったわ
どこだろ?
どこだろ?
2019/08/12(月) 15:13:17.15ID:???
For all these reasons, use of this method is strongly discouraged.
じゃないの
じゃないの
2019/08/12(月) 15:25:40.61ID:???
>>578
is strongly discouraged がそれか
is strongly discouraged がそれか
2019/08/12(月) 18:00:46.34ID:???
要所要所で使い分ければ良いだけなのに、document.write非推奨厨は最近DOMを覚えたオレすげーなのか?
Googleアナリティクスだって少し前まではdocument.write使ってたし…
でもGoogle(Chrome)を基準にWeb標準がコロコロ替えられるのは確かに迷惑
Googleアナリティクスだって少し前まではdocument.write使ってたし…
でもGoogle(Chrome)を基準にWeb標準がコロコロ替えられるのは確かに迷惑
2019/08/12(月) 18:07:57.84ID:???
>>575
最後にちょっと書いてますがfalsyな値と比較する方法ではだめでした
最後にちょっと書いてますがfalsyな値と比較する方法ではだめでした
2019/08/12(月) 18:15:34.84ID:???
2019/08/12(月) 18:22:09.41ID:???
obj.prop をチェックしようとして obj 自体が null とかいうパターンだったりして
2019/08/12(月) 18:38:43.44ID:???
「仕様書にはこう書いてある!(`・ω・´)キリッ」
「独自解釈乙論破!」
みたいな流れは
夏だなぁ
「独自解釈乙論破!」
みたいな流れは
夏だなぁ
2019/08/12(月) 18:55:47.04ID:???
>>580
よく見返してご覧よ
変えたほうが良いかと質問者が質問してるから
変えたほうが良いけど好きにすればという声が多数でしょ
非推奨だから死んでも使うなと言ってるやつ居るか?
被害妄想は大概にしようよ
よく見返してご覧よ
変えたほうが良いかと質問者が質問してるから
変えたほうが良いけど好きにすればという声が多数でしょ
非推奨だから死んでも使うなと言ってるやつ居るか?
被害妄想は大概にしようよ
2019/08/12(月) 21:44:25.31ID:???
>>537で終わってる
非推奨であろうがなかろうが使えなくはならない
非推奨であろうがなかろうが使えなくはならない
2019/08/13(火) 11:13:07.53ID:???
自分のメモ帳を見返してみたら
Title:javascript アロー関数
(a,b)=>a+b,[]
//第2引数も指定できる
という謎メモを発見しましたがさっぱりです
どういうことなのか解読してみてください
Title:javascript アロー関数
(a,b)=>a+b,[]
//第2引数も指定できる
という謎メモを発見しましたがさっぱりです
どういうことなのか解読してみてください
2019/08/13(火) 11:55:24.81ID:???
解読する恩恵が欠片もない
今アロー関数のことが分かっていれば良い
無駄なことにエネルギーと時間をを使うな
今アロー関数のことが分かっていれば良い
無駄なことにエネルギーと時間をを使うな
2019/08/13(火) 12:02:09.78ID:???
最後の,[]が意味不明
2019/08/13(火) 12:06:00.71ID:???
よくある書き方じゃん
2019/08/13(火) 12:37:19.84ID:???
無駄コードをよく見るなら、環境を変えた方がいいかもね
2019/08/13(火) 14:34:39.19ID:???
無駄?
アロー関数とカンマ演算子の関係、もしくはカンマで区切られて式として評価される区内においての挙動って
重要なポイントであり、テクニックというかコーディングスキルとして大切だと思うが
アロー関数とカンマ演算子の関係、もしくはカンマで区切られて式として評価される区内においての挙動って
重要なポイントであり、テクニックというかコーディングスキルとして大切だと思うが
2019/08/14(水) 08:17:32.22ID:???
2019/08/14(水) 09:45:48.35ID:???
2019/08/14(水) 10:27:02.33ID:???
>>594
エスパーかよ
エスパーかよ
2019/08/14(水) 12:46:48.19ID:???
2019/08/14(水) 13:27:36.07ID:???
>>587は、
[1, 2, 3].reduce((a, b) => a + b, 10000) //=> 10006
とでもメモしとけばこんなことにはならなかった。
さらに言うと面倒でも
[1, 2, 3].reduce((acc, n) => acc + n, 10000)
のようにアキュムレータと値が弁別できるように書いた方がよい。
aとbじゃパッと見まるで同格みたいじゃん。
[1, 2, 3].reduce((a, b) => a + b, 10000) //=> 10006
とでもメモしとけばこんなことにはならなかった。
さらに言うと面倒でも
[1, 2, 3].reduce((acc, n) => acc + n, 10000)
のようにアキュムレータと値が弁別できるように書いた方がよい。
aとbじゃパッと見まるで同格みたいじゃん。
2019/08/14(水) 21:20:16.91ID:???
2019/08/14(水) 23:52:44.68ID:???
>>593,598
何が言いたいのかようやく分かった
だけどそれこそが言いたいこと
(a, b) => a + b, []
が評価されて
(a, b) => a + (b, [])
になるか
((a, b) => a + b), []
になるかという話
何が言いたいのかようやく分かった
だけどそれこそが言いたいこと
(a, b) => a + b, []
が評価されて
(a, b) => a + (b, [])
になるか
((a, b) => a + b), []
になるかという話
2019/08/15(木) 00:46:20.69ID:???
ドツボだね
バカ丸出し
下になるのは当然で、その上でカンマ前のアロー関数に意味はあるの?あるというなら有効なコード書いてみろと言ってる
バカ丸出し
下になるのは当然で、その上でカンマ前のアロー関数に意味はあるの?あるというなら有効なコード書いてみろと言ってる
2019/08/15(木) 01:35:53.85ID:???
2019/08/15(木) 02:01:34.45ID:???
f =
2019/08/15(木) 02:54:08.97ID:???
2019/08/15(木) 03:00:20.58ID:???
君らはいちいち煽りと喧嘩という名の議論()をしないとまともなコミュニケーションにならないの?
まぁこのスレに限った話ではないけど
有益な内容なんだろうけど読んでてすげー疲れるわ
まぁこのスレに限った話ではないけど
有益な内容なんだろうけど読んでてすげー疲れるわ
2019/08/15(木) 07:08:39.95ID:???
っていうここがどこだか忘れてる奴が多いこと
2019/08/15(木) 08:00:27.13ID:???
5chで品行方正な議論がしたという変態
2019/08/15(木) 08:18:49.32ID:???
2019/08/15(木) 19:37:38.40ID:???
品行方正になれとまでは思わないけど指摘がお互いにすれ違っていたりして微妙
議論するなら変に端折ったりせずにまともな文章をお互いに書け
出来ないなら仲良し同士でツイッターでもやってろ
議論するなら変に端折ったりせずにまともな文章をお互いに書け
出来ないなら仲良し同士でツイッターでもやってろ
2019/08/15(木) 19:39:49.69ID:???
>>598に対する答えが出てない
これだけ
これだけ
2019/08/15(木) 20:59:06.35ID:???
2019/08/15(木) 20:59:13.79ID:???
2019/08/15(木) 21:04:46.47ID:???
>>611
つまり、誰も質問していない「カンマ演算子の遣い方」を唐突に書きだしたという事か
つまり、誰も質問していない「カンマ演算子の遣い方」を唐突に書きだしたという事か
2019/08/15(木) 22:26:48.65ID:???
2019/08/15(木) 22:41:39.81ID:???
2019/08/15(木) 23:43:41.88ID:???
2019/08/16(金) 07:40:21.59ID:???
2019/08/16(金) 08:17:11.69ID:???
2019/08/16(金) 09:13:05.41ID:???
2019/08/16(金) 12:50:08.09ID:???
>>617,618
済まないが俺としたら只々なんでそこに執拗に突っ込まれるのかが理解できない
俺が何を取り上げようが俺の勝手でしょ
俺は経緯も一通り説明したのにまだ同じ突っ込みを繰り返す理由が分からん
一体どうなったら満足なんだ?
済まないが俺としたら只々なんでそこに執拗に突っ込まれるのかが理解できない
俺が何を取り上げようが俺の勝手でしょ
俺は経緯も一通り説明したのにまだ同じ突っ込みを繰り返す理由が分からん
一体どうなったら満足なんだ?
2019/08/16(金) 13:22:58.60ID:???
勘違いしましたごめんなさいって一言言えば良いんじゃね
2019/08/16(金) 18:07:40.62ID:???
その言い草だと、>>592に対しても「何を拘ってるんだ?」で終わるわけで、自分に甘く、他人に厳しい人だな
2019/08/16(金) 21:16:37.14ID:???
>>620
実際に勘違いしていないので謝りたくはないところだが
今回は別に自分の主張も引っ張る価値もないどうでもいいものなので
君が謝って欲しいということであればそちらを取る
勘違いしましたごめんなさい
実際に勘違いしていないので謝りたくはないところだが
今回は別に自分の主張も引っ張る価値もないどうでもいいものなので
君が謝って欲しいということであればそちらを取る
勘違いしましたごめんなさい
2019/08/16(金) 21:57:42.61ID:???
あやまれって…
どっかの国のデモみたいだなレベルヒクッ
どっかの国のデモみたいだなレベルヒクッ
2019/08/16(金) 22:12:32.20ID:???
彼が長いこと引っ張るもんだから、カンマ演算子で使えるコードがあるのかと悩んでしまった
態度が大きいのがデフォなだけで、根拠があるわけではなかったみたいだな、やれやれ
態度が大きいのがデフォなだけで、根拠があるわけではなかったみたいだな、やれやれ
2019/08/16(金) 23:01:20.72ID:???
自分の非を認めずどっかの国みたいに騒ぐから突っ込まれてたんだろ
2019/08/16(金) 23:27:05.18ID:???
どっかの国みたいに謝罪と賠償を請求して騒いでるようにしか見えない
2019/08/16(金) 23:34:37.45ID:???
謝罪しろ。金を出せと言ってるんじゃない。
まあ、金だすっていうなら受け取るけど、
金で解決はできない。謝罪しろ。
何度、金を出しても言い続ける。次の金はまだか?
まあ、金だすっていうなら受け取るけど、
金で解決はできない。謝罪しろ。
何度、金を出しても言い続ける。次の金はまだか?
2019/08/16(金) 23:38:36.41ID:???
謝罪など要らん
正しい内容だけを書け
間違えたら、訂正しろ
言い訳がましい理屈を並べ立てるのが突っ込まれる原因
正しい内容だけを書け
間違えたら、訂正しろ
言い訳がましい理屈を並べ立てるのが突っ込まれる原因
2019/08/17(土) 10:13:51.17ID:???
何様なんだこいつ
2019/08/17(土) 11:33:00.11ID:???
他人を否定する時には>>592のような偉そうな態度をとるが、自分が否定された時には話題を逸らして躱す、スタンスの切替が非難されてる
能動/受動共にスタンスを統一するというのは大事な事だよ
能動/受動共にスタンスを統一するというのは大事な事だよ
2019/08/17(土) 12:24:08.65ID:???
2019/08/17(土) 12:25:17.05ID:???
2019/08/17(土) 12:50:25.09ID:???
>>632
これが「言葉だけの謝罪」か
これが「言葉だけの謝罪」か
2019/08/17(土) 18:55:26.79ID:???
>>633
慰謝料振り込むから口座と名前教えて
慰謝料振り込むから口座と名前教えて
2019/08/18(日) 02:10:23.73ID:???
>>631
なんだこいつ
お前のなんとか心を満たすための下らねぇ謝罪要求と、自分の正当性を延々と書き込んでたお陰で無駄にスレが消費されるわ肝心の技術的な話題が一切出てこなくなった
気分が悪いし迷惑だから俺に謝罪しろ!ここにいる全員にあやまれ!
なんだこいつ
お前のなんとか心を満たすための下らねぇ謝罪要求と、自分の正当性を延々と書き込んでたお陰で無駄にスレが消費されるわ肝心の技術的な話題が一切出てこなくなった
気分が悪いし迷惑だから俺に謝罪しろ!ここにいる全員にあやまれ!
2019/08/18(日) 03:48:43.98ID:???
ネタには勘違いをなんとか言い訳しようとする必死さがない
2019/08/18(日) 10:15:24.10ID:???
>>634
何も分かってない
何も分かってない
2019/08/18(日) 11:22:10.08ID:???
>>637
じゃあ謝罪のお手紙書くから住所教えて
じゃあ謝罪のお手紙書くから住所教えて
2019/08/18(日) 11:39:10.90ID:???
ここ民度悪いね
js選ばないほうがよさそう
js選ばないほうがよさそう
2019/08/18(日) 14:58:45.26ID:???
ここマウント取りたい猿が多いからね
2019/08/18(日) 14:58:54.81ID:???
真面目に回答や反論すると、「何必死になってんの?」と煽られる程度には民度が低い
2019/08/18(日) 15:03:48.87ID:???
マウンターでない奴をマウンター扱いする荒らしもいるから、質が悪い
2019/08/18(日) 20:35:03.74ID:???
Array#indexOfとArray#findIndexについて
配列からオブジェクト自身を検索するとき、どっちがいいですか?
[obj1,obj2,obj3].indexOf(obj2)
[obj1,obj2,obj3.findIndex(obj=>obj===obj2)
配列からオブジェクト自身を検索するとき、どっちがいいですか?
[obj1,obj2,obj3].indexOf(obj2)
[obj1,obj2,obj3.findIndex(obj=>obj===obj2)
2019/08/18(日) 20:35:40.96ID:???
ミスりました
[obj1,obj2,obj3].findIndex(obj=>obj===obj2)
[obj1,obj2,obj3].findIndex(obj=>obj===obj2)
2019/08/18(日) 20:48:35.59ID:???
どっちでもいい
前後の状況にもよる
前後の状況にもよる
2019/08/18(日) 21:05:15.74ID:???
2019/08/19(月) 19:49:39.14ID:???
入れ子的な非同期通信をやりたいのですが
https://i.imgur.com/K0qlToO.jpg
こういう感じの処理をしてみたいのですが苦戦しています
(右側のthen(hoge())毎に複数$.getし、かつhoge内もthen(hoge())も順番を守る、みたいな)
↓こういう単純なやつだと上手く言ってくれるのですが
function hoge(){
return $.ajax({url:'https://jquery.com',type:'GET'}).then(_=>console.log(1)).then(_=>console.log(2))
}
$.ajax({url:'https://jquery.com',type:'GET'}).then(hoge()).then(hoge())
入れ子になると
function hoge(){
return $.ajax({url:'https://jquery.com',type:'GET'})
.then(function(){
return $.when($.ajax({url:'https://jquery.com',type:'GET'}).done(_=>console.log('$get 1-1')),$.ajax({url:'https://jquery.com',type:'GET'}).done(_=>console.log('$get 1-2')))
})
.then(_=>console.log('$get 2'))
}
Promise.all([hoge(),hoge()]);
上手くいったり行かなかったりします(おそらく通信速度の影響?)
なので最初の単純な方も上手くいってるのかどうかすら怪しいです
何かテンプレみたいなものがあればおねがいします
https://i.imgur.com/K0qlToO.jpg
こういう感じの処理をしてみたいのですが苦戦しています
(右側のthen(hoge())毎に複数$.getし、かつhoge内もthen(hoge())も順番を守る、みたいな)
↓こういう単純なやつだと上手く言ってくれるのですが
function hoge(){
return $.ajax({url:'https://jquery.com',type:'GET'}).then(_=>console.log(1)).then(_=>console.log(2))
}
$.ajax({url:'https://jquery.com',type:'GET'}).then(hoge()).then(hoge())
入れ子になると
function hoge(){
return $.ajax({url:'https://jquery.com',type:'GET'})
.then(function(){
return $.when($.ajax({url:'https://jquery.com',type:'GET'}).done(_=>console.log('$get 1-1')),$.ajax({url:'https://jquery.com',type:'GET'}).done(_=>console.log('$get 1-2')))
})
.then(_=>console.log('$get 2'))
}
Promise.all([hoge(),hoge()]);
上手くいったり行かなかったりします(おそらく通信速度の影響?)
なので最初の単純な方も上手くいってるのかどうかすら怪しいです
何かテンプレみたいなものがあればおねがいします
2019/08/19(月) 21:28:16.34ID:???
2019/08/19(月) 21:41:15.83ID:???
Promise.allとか$.whenとか使うと順番通りにならねえんじゃね?
2019/08/19(月) 21:54:12.66ID:???
example.com みたいなサイトを使えば?
jquery.com は、テスト用のサイトじゃないだろ
タイムアウト時間も、関係あるかも
今は非同期処理に、axios を使うのが普通
jquery.com は、テスト用のサイトじゃないだろ
タイムアウト時間も、関係あるかも
今は非同期処理に、axios を使うのが普通
2019/08/19(月) 22:28:44.17ID:???
へぇw
非同期処理に、ねぇww
非同期処理に、ねぇww
2019/08/19(月) 22:38:33.97ID:???
2019/08/19(月) 23:01:56.68ID:???
>>652
いやだから右側の処理をしたいんだろ?
hoge終わったら次のhogeが実行してほしいんだろ?
Promise.allは全部同時に実行されるんだから使わずに
同じような引数で右の処理を行ってくれるような関数を実装しろよ
いやだから右側の処理をしたいんだろ?
hoge終わったら次のhogeが実行してほしいんだろ?
Promise.allは全部同時に実行されるんだから使わずに
同じような引数で右の処理を行ってくれるような関数を実装しろよ
2019/08/19(月) 23:15:44.48ID:???
2019/08/19(月) 23:40:36.79ID:???
jQuery関係なく、JavaScriptのPromiseっていうのは
こういうもんだ
こういうもんだ
2019/08/20(火) 04:20:25.78ID:???
その"こういう"が何かを書けっつー話
自分がわかってるつもりで書いても何も伝わらねーの
自分がわかってるつもりで書いても何も伝わらねーの
2019/08/20(火) 06:23:02.11ID:???
>>656
JavaScriptのPromiseを勉強してからもう一回来てくれる?
JavaScriptのPromiseを勉強してからもう一回来てくれる?
2019/08/20(火) 07:13:07.16ID:???
お前が勉強しろ
2019/08/20(火) 07:17:29.57ID:???
2019/08/20(火) 07:52:03.58ID:???
解決しますた
2019/08/20(火) 08:15:16.48ID:???
横からだが、>>656は何も間違ってない
2019/08/20(火) 08:20:11.30ID:???
解決したんだからいいだろ
2019/08/20(火) 08:24:28.96ID:???
どっちが解決したのか分からんが、>>654が解決したなら、良かったな
2019/08/20(火) 08:38:28.55ID:???
本人「横からだが〜」
wwww
wwww
2019/08/20(火) 12:42:01.42ID:???
どっちにしろ普通の頭持ってりゃここまでのレスで解決するだろ
2019/08/20(火) 13:17:40.81ID:???
説明もできずに「解決したんだから結果オーライ」みたいなバカしかいないの?
2019/08/20(火) 13:32:38.41ID:???
煽っても答えが出てくるわけではないよ
2019/08/20(火) 15:17:39.58ID:???
そもそも答えが書ける人間は「こういう」なんて書かないしな
2019/08/20(火) 23:44:21.81ID:???
ajaxでtimeoutはあるのですがfilesizeで何バイトダウンロードしたら通信切るやり方教えてください
2019/08/20(火) 23:55:44.22ID:???
もっと論理的に、正確に書いてくれ!
処理A が成功したら、処理B を行うとか
プログラマーなんだから、yes/no と、順番を明確に書いてくれ!
処理A が成功したら、処理B を行うとか
プログラマーなんだから、yes/no と、順番を明確に書いてくれ!
2019/08/20(火) 23:58:57.71ID:???
>>669
XMLHttpRequestオブジェのprogressイベントを監視しろ
XMLHttpRequestオブジェのprogressイベントを監視しろ
2019/08/22(木) 10:18:31.37ID:???
なんでそこまで必死なんだ?
673Name_Not_Found
2019/08/22(木) 10:42:17.99ID:xQgFxHX7 [1,21,33,46,58,64]みたいな配列があって、それぞれが1=りんご,21=スイカ,33=みかん,46=ぶどうみたいになっているんだけど、
配列内の数値が30以上50以下の時にだけ_で繋げて、みかん_ぶどうみたいに出力するのってどうすれば良いですか?
配列内の数値が30以上50以下の時にだけ_で繋げて、みかん_ぶどうみたいに出力するのってどうすれば良いですか?
2019/08/22(木) 10:47:04.11ID:???
意味がわかりません
2019/08/22(木) 12:56:17.87ID:???
>>673
俺だったらreduce使うかな
俺だったらreduce使うかな
2019/08/22(木) 19:04:40.21ID:???
2019/08/22(木) 19:30:57.37ID:???
> 俺だったらreduce使うかな
は、
俺だったらfor文使うかな
と言ってるのと同じで、なにも役に立つことを言ってない
は、
俺だったらfor文使うかな
と言ってるのと同じで、なにも役に立つことを言ってない
2019/08/22(木) 20:26:30.65ID:???
>>673
すまんがまず仕様を明確に示してくれないと何も答えられん
・数字↔果物の対応関係と文字列のデータは何処にどう置いてあるのか
・_で繋げるのは分かったのでみかんとぶどうは何処から来たのか
・配列は必ず昇順なのか
すまんがまず仕様を明確に示してくれないと何も答えられん
・数字↔果物の対応関係と文字列のデータは何処にどう置いてあるのか
・_で繋げるのは分かったのでみかんとぶどうは何処から来たのか
・配列は必ず昇順なのか
2019/08/22(木) 22:53:03.53ID:???
どっかの宿題みたいだな
2019/08/22(木) 23:41:03.48ID:???
reduceは無いわ
filter map joinだろ
filter map joinだろ
2019/08/23(金) 00:39:14.48ID:???
Ruby で作った
require 'csv'
str = <<"EOT"
id,fruit
1,りんご
21,スイカ
33,みかん
46,ぶどう
55,なし
EOT
options = { :headers => true }
# 2次元配列
ary = CSV.parse( str, options ).each_with_object( [ ] ) { | row, ary |
ary.push [ row[ 'id' ].to_i, row[ 'fruit' ] ]
}
ary_2 = ary.select { |ary| 30 <= ary[ 0 ] && ary[ 0 ] <= 50 }
.map { |ary| ary[ 1 ] } # フルーツ名
p res = ary_2.join( "_" ) #=> "みかん_ぶどう"
require 'csv'
str = <<"EOT"
id,fruit
1,りんご
21,スイカ
33,みかん
46,ぶどう
55,なし
EOT
options = { :headers => true }
# 2次元配列
ary = CSV.parse( str, options ).each_with_object( [ ] ) { | row, ary |
ary.push [ row[ 'id' ].to_i, row[ 'fruit' ] ]
}
ary_2 = ary.select { |ary| 30 <= ary[ 0 ] && ary[ 0 ] <= 50 }
.map { |ary| ary[ 1 ] } # フルーツ名
p res = ary_2.join( "_" ) #=> "みかん_ぶどう"
2019/08/23(金) 10:17:43.71ID:???
javascript初心者なのですが、よろしくお願いいたします。
【環境】windows10 1809、Chrome(Vivaldi)
【何をしたのか】
月イチで使う、web上の申込フォームがあります。
毎月同じような内容を入力→申込を繰り返すのですが、
その入力をブックマークレットで半自動化しようと思っています。
今回詰まっているのは、textの欄にクリップボードの文字列を貼り付けする処理の記述についてです。
【期待する結果】クリップボードの文字列を、目的の欄に貼り付けしたい。
【サンプルコード】
let chk = document.getElementsByTagName('input');
for (let i = 0; i < chk.length; i++) {
if (chk[i].type=='text'
&& chk[i].title=='利用者番号'){
chk[i].value = //クリップボードの値// ←ここの記述がわからないです
}
if (chk[i].type=='submit'
&& chk[i].value=='申込'){
chk[i].click();
}
}
【環境】windows10 1809、Chrome(Vivaldi)
【何をしたのか】
月イチで使う、web上の申込フォームがあります。
毎月同じような内容を入力→申込を繰り返すのですが、
その入力をブックマークレットで半自動化しようと思っています。
今回詰まっているのは、textの欄にクリップボードの文字列を貼り付けする処理の記述についてです。
【期待する結果】クリップボードの文字列を、目的の欄に貼り付けしたい。
【サンプルコード】
let chk = document.getElementsByTagName('input');
for (let i = 0; i < chk.length; i++) {
if (chk[i].type=='text'
&& chk[i].title=='利用者番号'){
chk[i].value = //クリップボードの値// ←ここの記述がわからないです
}
if (chk[i].type=='submit'
&& chk[i].value=='申込'){
chk[i].click();
}
}
2019/08/23(金) 13:47:23.98ID:???
2019/08/23(金) 19:09:22.91ID:???
await navigator.clipboard.readText()
2019/08/23(金) 19:44:04.29ID:???
686681
2019/08/24(土) 08:36:30.75ID:??? Ruby では、powershell, clip コマンドも呼べる
# クリップボード内の複数行文字列の、各行の先頭・末尾から、
# 連続する空白類を除去して、クリップボードに入れる
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ary = str.each_line.map( &:strip ) # 連続する空白類を除去する
IO.popen( 'clip', 'w:cp932' ) do | clip | # CP932 へ戻す
clip.print( ary.join "\n" )
end
# クリップボード内の複数行文字列の、各行の先頭・末尾から、
# 連続する空白類を除去して、クリップボードに入れる
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ary = str.each_line.map( &:strip ) # 連続する空白類を除去する
IO.popen( 'clip', 'w:cp932' ) do | clip | # CP932 へ戻す
clip.print( ary.join "\n" )
end
2019/08/24(土) 11:11:10.40ID:???
何でもreadLineとかストリーム的に読むのって古臭いと言うか不便というか気持ち悪くないのかな
688Name_Not_Found
2019/08/24(土) 12:54:56.25ID:/S1NGUjk オペレーターだらけなのも気持ち悪いだろ
2019/08/24(土) 13:28:19.84ID:???
別に絶対的に悪いということを言うつもりはないけど
Perlを引きずってるのがよく分かるね
Perlを引きずってるのがよく分かるね
2019/08/24(土) 13:38:26.50ID:???
Perlはシェルスクリプトを引きずっている
2019/08/24(土) 18:25:29.78ID:???
var tostr = {1:"りんご",21:"スイカ",33:"みかん",46:"ぶどう"};
var res = [1,21,33,46,58,64]
.filter(val => val >= 30 && val <=50)
.map(val => tostr[val])
.join("_");
たったこれだけのことをするのに>>681みたいに書かなきゃいけない言語ってやばない?
var res = [1,21,33,46,58,64]
.filter(val => val >= 30 && val <=50)
.map(val => tostr[val])
.join("_");
たったこれだけのことをするのに>>681みたいに書かなきゃいけない言語ってやばない?
2019/08/24(土) 18:30:15.62ID:???
「だから滅びた…」
2019/08/25(日) 06:33:17.22ID:???
とても初歩的な質問なんだが
Makefileを作成して(内容はwebから拾ってきたものをコピペ)package.jsonと同じディレクトリにおけばmakeコマンドが使えるようになるということらしいけど
makeコマンドを使おうとすると
>make : 用語 'make' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。
ってなってしまうのはどうしたらいいんだろう?
Makefileを作成して(内容はwebから拾ってきたものをコピペ)package.jsonと同じディレクトリにおけばmakeコマンドが使えるようになるということらしいけど
makeコマンドを使おうとすると
>make : 用語 'make' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。
ってなってしまうのはどうしたらいいんだろう?
2019/08/25(日) 06:35:38.30ID:???
makeをインストール汁
2019/08/25(日) 06:47:00.71ID:???
あ、makeもパッケージをインストールしないと使えないのか
上手くいったありがとう
上手くいったありがとう
2019/08/25(日) 23:46:41.10ID:???
コマンドプロンプトで、そのコマンドの実行ファイル(.exe)を探すと、
漏れは、make をインストールしていないが、node.js をインストールしている場合、
where make
情報: 与えられたパターンのファイルが見つかりませんでした。
where node
C:\Program Files\nodejs\node.exe
PowerShell で、環境変数Path を表示すると、
$env:Path.split(";")
C:\Program Files\nodejs\
と表示されるので、ちゃんと、実行ファイルのあるフォルダが、環境変数Path に追加されている
つまり、実行ファイルから、拡張子を除いたものが、コマンド名となる!
ただし、その実行ファイルのあるフォルダが、環境変数Path に追加されていることが必要です!
普通は、個別のユーザー環境変数Path に追加する。
すべてのユーザーで共通にするなら、システム環境変数Path に追加する
コマンドプロンプトで、メモ帳のコマンドのパスを探すと、
where notepad
C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe
このように、2つ以上見つかった場合は、一番上の実行ファイルが実行される
漏れは、make をインストールしていないが、node.js をインストールしている場合、
where make
情報: 与えられたパターンのファイルが見つかりませんでした。
where node
C:\Program Files\nodejs\node.exe
PowerShell で、環境変数Path を表示すると、
$env:Path.split(";")
C:\Program Files\nodejs\
と表示されるので、ちゃんと、実行ファイルのあるフォルダが、環境変数Path に追加されている
つまり、実行ファイルから、拡張子を除いたものが、コマンド名となる!
ただし、その実行ファイルのあるフォルダが、環境変数Path に追加されていることが必要です!
普通は、個別のユーザー環境変数Path に追加する。
すべてのユーザーで共通にするなら、システム環境変数Path に追加する
コマンドプロンプトで、メモ帳のコマンドのパスを探すと、
where notepad
C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe
このように、2つ以上見つかった場合は、一番上の実行ファイルが実行される
2019/08/26(月) 10:17:23.90ID:???
未経験でこれからフロントエンドの開発を行うとき、生のJSを覚えるべきなのかaltJSを利用すべきなのかどちらがよい?
用途は趣味用のユーティリティを自作する程度で、経験はwindows向けにC#、androidアプリをかじった程度
用途は趣味用のユーティリティを自作する程度で、経験はwindows向けにC#、androidアプリをかじった程度
698Name_Not_Found
2019/08/26(月) 15:45:00.62ID:I/PPoBgZ altJS一択
2019/08/26(月) 15:56:00.50ID:???
× altJS一択
○ TypeScript一択
その他のaltJSは全滅した
○ TypeScript一択
その他のaltJSは全滅した
700Name_Not_Found
2019/08/26(月) 16:04:35.34ID:I/PPoBgZ 勝手にkotlinをころすな
2019/08/26(月) 16:05:53.68ID:???
kotlinはaltJSって言いたいの?え?(笑)え?え?(笑)
2019/08/27(火) 04:31:20.64ID:???
JSの代替になりうるもの、つまるところ通常JSに変換できるようになっている言語で
特にDOMサポートもされているものはaltJSと呼んでいいだろう
特にDOMサポートもされているものはaltJSと呼んでいいだろう
2019/08/27(火) 05:26:11.55ID:???
じゃあkotlinはaltJSじゃないね
2019/08/28(水) 00:52:35.55ID:???
生のJSというかESではいかんの?
TSとか、angular以外で使ったことない印象
TSとか、angular以外で使ったことない印象
2019/08/28(水) 06:30:48.19ID:???
別に好きにしたら
JS界やWeb界で確立されている手法は少ない
変化も早いし
だからとにかく好きにしたら良い
JS界やWeb界で確立されている手法は少ない
変化も早いし
だからとにかく好きにしたら良い
706Name_Not_Found
2019/08/30(金) 10:27:44.19ID:Gb5+V9qd CSSのpositionを総まとめ!absoluteやfixedの使い方は?
https://saruwakakun.com/html-css/basic/relative-absolute-fixed
このサルワカのサイトで、スクロールしていくと、
1. CSSのpositionとは?
2. positionとセットで使うtop・bottom・left・right
など、その章に入ると、
画面の上に、その章のタイトルが表示されるのは、どういう仕組みでしょうか?
今のスクロール位置を取得して、それと何を比べているのでしょうか?
https://saruwakakun.com/html-css/basic/relative-absolute-fixed
このサルワカのサイトで、スクロールしていくと、
1. CSSのpositionとは?
2. positionとセットで使うtop・bottom・left・right
など、その章に入ると、
画面の上に、その章のタイトルが表示されるのは、どういう仕組みでしょうか?
今のスクロール位置を取得して、それと何を比べているのでしょうか?
2019/08/30(金) 10:46:38.74ID:???
ズブのど素人ですお手柔らかお願いします
通信でパソコンにデータを受け取るのに
websocket.apiというのがあって
URLとtokenが書いてあるのですが
具体的にどうしたら良いのか分かりません
またdatastore.apiというのもあって
同様にURLとtokenが書いてあります
これはなんに使うのでしょうか?
通信でパソコンにデータを受け取るのに
websocket.apiというのがあって
URLとtokenが書いてあるのですが
具体的にどうしたら良いのか分かりません
またdatastore.apiというのもあって
同様にURLとtokenが書いてあります
これはなんに使うのでしょうか?
2019/08/30(金) 10:56:09.75ID:???
ずぶのド素人に教えても理解できない
2019/08/30(金) 12:50:49.40ID:???
2019/08/30(金) 18:24:33.43ID:???
>>706
今のスクロール位置がその章全体の要素内に含まれているかを比べてるんじゃね
今のスクロール位置がその章全体の要素内に含まれているかを比べてるんじゃね
2019/08/30(金) 23:09:10.69ID:???
「websocket」で検索して、目的・使い方を調べれば?
2019/08/30(金) 23:33:22.06ID:???
>>707
「API」っていうものがどういうものか調べて理解できれば、
おのずとURLとトークンがどういうものかも分かると思う。
ものにもよるけどAPIって簡単なものも用意されてるはずだから、まずは調べながら実際に試してみたほうが理解が早いとも思う。
「API」っていうものがどういうものか調べて理解できれば、
おのずとURLとトークンがどういうものかも分かると思う。
ものにもよるけどAPIって簡単なものも用意されてるはずだから、まずは調べながら実際に試してみたほうが理解が早いとも思う。
2019/08/31(土) 01:54:58.74ID:???
ズブです
アドバイス感謝します
調べてみます
アドバイス感謝します
調べてみます
2019/09/01(日) 18:26:17.33ID:???
{name: 'ken', blood: 'a', city: 'tokyo'}
という形式のオブジェクトがある人数分あったときに
bloodで{AB: ['john', 'marie', 'adam']}のようなオブジェクトを作るときは
どうすればいいのでしょうか?
という形式のオブジェクトがある人数分あったときに
bloodで{AB: ['john', 'marie', 'adam']}のようなオブジェクトを作るときは
どうすればいいのでしょうか?
2019/09/01(日) 18:48:19.84ID:???
function blood() {
return {AB: ['john', 'marie', 'adam']};
}
はい、bloodで{AB: ['john', 'marie', 'adam']}というオブジェクトを作りました
return {AB: ['john', 'marie', 'adam']};
}
はい、bloodで{AB: ['john', 'marie', 'adam']}というオブジェクトを作りました
2019/09/01(日) 18:55:31.71ID:???
>>714
bloodType = {
A: [],
B: [],
AB: [],
O: []
};
bloodType.AB.push(john);
bloodType.AB.push(marie);
bloodType.AB.push(adam);
みたいな感じではダメ?
bloodType = {
A: [],
B: [],
AB: [],
O: []
};
bloodType.AB.push(john);
bloodType.AB.push(marie);
bloodType.AB.push(adam);
みたいな感じではダメ?
2019/09/01(日) 20:02:00.83ID:???
>>716
ありがとうございます
bloodTypeオブジェクトの各要素に、対応するnameの値を振り分けるときに
「bloodの値が'a'のオブジェクトのnameの値」をpushする
というような値の取り出し方ってできませんか
ありがとうございます
bloodTypeオブジェクトの各要素に、対応するnameの値を振り分けるときに
「bloodの値が'a'のオブジェクトのnameの値」をpushする
というような値の取り出し方ってできませんか
2019/09/01(日) 20:15:36.01ID:???
あ、もしかしてこれであってます?
const obj = {name: 'ken', blood: 'a', city: 'tokyo'};
bloodType[obj.blood].push(obj.name);
const obj = {name: 'ken', blood: 'a', city: 'tokyo'};
bloodType[obj.blood].push(obj.name);
2019/09/01(日) 21:44:30.66ID:???
皆さんKV Storageってまだimportmapにポリフィル併記して使ってると思いますけど
ポリフィルは自分が差し替えない限りずっと同じものですが
stdの方は将来的に実装が変化しない保証というのはあるのでしょうか
もしバージョン指定のような形になったとき、
WebComponentのv0のように古いバージョンのサポートを辞める可能性があるのでしょうか
そうなると、どれほど普及しようと必ずstdにポリフィルを併記し続けていかないといけないのでしょうか
ポリフィルは自分が差し替えない限りずっと同じものですが
stdの方は将来的に実装が変化しない保証というのはあるのでしょうか
もしバージョン指定のような形になったとき、
WebComponentのv0のように古いバージョンのサポートを辞める可能性があるのでしょうか
そうなると、どれほど普及しようと必ずstdにポリフィルを併記し続けていかないといけないのでしょうか
2019/09/02(月) 08:29:58.73ID:???
>>717
Object.entries -> Array.prototype.reduce
Object.entries -> Array.prototype.reduce
2019/09/02(月) 10:47:19.12ID:???
shiftキーを押された状態にする方法を教えてください。
checkboxをonでshiftキーon、offでshiftキーoff、としたいのです。
タッチデバイスで利用します。jQuery使用でもいいです。
よろしくお願いします。
checkboxをonでshiftキーon、offでshiftキーoff、としたいのです。
タッチデバイスで利用します。jQuery使用でもいいです。
よろしくお願いします。
2019/09/02(月) 11:45:57.14ID:???
shift キーじゃなくて、Caps Lock キーじゃないの?
「jquery key 入力」で検索!
イベント発動時に、とあるキーを押す方法
https://qiita.com/takebayashi0612/items/657b61294645618485ef
「jquery key 入力」で検索!
イベント発動時に、とあるキーを押す方法
https://qiita.com/takebayashi0612/items/657b61294645618485ef
2019/09/02(月) 19:30:49.03ID:???
shiftキーです。
2019/09/02(月) 19:46:53.97ID:???
>>721
「押した状態」は出来ない
イベント発行は出来る
https://developer.mozilla.org/ja/docs/Web/API/EventTarget/dispatchEvent
「押した状態」は出来ない
イベント発行は出来る
https://developer.mozilla.org/ja/docs/Web/API/EventTarget/dispatchEvent
2019/09/02(月) 20:28:41.91ID:???
>>722
そのリンクが質問になんの関係が?
そのリンクが質問になんの関係が?
2019/09/03(火) 01:10:47.24ID:???
foreach で return が使えないようなのですが、値を外で受け取る方法はないのでしょうか?
現状、外に空の配列を置いて、そこへ push しています。
現状、外に空の配列を置いて、そこへ push しています。
2019/09/03(火) 06:41:28.65ID:???
Ruby では、each_with_object の引数に、空配列・空辞書などを蓄積器として渡すと、
それが2つ目のブロック引数に渡ってくるので、そこにpush していくと、
最終的に、蓄積器を返り値として返してくれる
つまり、ループ内に蓄積器を置ける。
普通だと、ループ外に蓄積器を置くけど
ary_1 = [ 1, 2 ]
ary = ary_1.each_with_object( [] ) do | item, ary_2 |
ary_2.push item * 3
end
p ary #=> [3, 6]
同様に、map を使っても、蓄積器を返り値として返してくれる
p ary_3 = ary_1.map { |item| item * 3 } #=> [3, 6]
それが2つ目のブロック引数に渡ってくるので、そこにpush していくと、
最終的に、蓄積器を返り値として返してくれる
つまり、ループ内に蓄積器を置ける。
普通だと、ループ外に蓄積器を置くけど
ary_1 = [ 1, 2 ]
ary = ary_1.each_with_object( [] ) do | item, ary_2 |
ary_2.push item * 3
end
p ary #=> [3, 6]
同様に、map を使っても、蓄積器を返り値として返してくれる
p ary_3 = ary_1.map { |item| item * 3 } #=> [3, 6]
2019/09/03(火) 07:21:45.72ID:???
> Ruby では
スレタイ嫁
スレタイ嫁
2019/09/03(火) 07:37:32.87ID:???
2019/09/03(火) 08:53:02.36ID:???
>>724
それをshiftキーに当てはめるにはどうすればいいでしょうか?
それをshiftキーに当てはめるにはどうすればいいでしょうか?
2019/09/03(火) 11:05:40.82ID:???
>>726
簡単なコードであればforeachの代わりにmapやreduceなどのJavaScript標準の関数を使用します。
JavaScript標準の関数でできない、または面倒なものは、UnderscoreやLodashというライブラリがよく使われます。
何が適切かは内容によります。
簡単なコードであればforeachの代わりにmapやreduceなどのJavaScript標準の関数を使用します。
JavaScript標準の関数でできない、または面倒なものは、UnderscoreやLodashというライブラリがよく使われます。
何が適切かは内容によります。
2019/09/03(火) 14:24:17.03ID:???
>>721
javascriptでキーイベントを発生させる
https://teratail.com/questions/78596
>event.ctrlKey = true; // コントロールキー
シフトキーなら、
event.shiftKey = true; // シフトキー
ただし、入力コントロールの、keydown イベントハンドラー内で、
$( this ).trigger( event );
みたいに、同じ入力コントロールに対して、トリガーを呼ぶと、
無限ループになって、stack overflow エラーになる!
それと、誰が質問者か分からないので、
投稿時には、名前欄に、721 と入れてくれ!
javascriptでキーイベントを発生させる
https://teratail.com/questions/78596
>event.ctrlKey = true; // コントロールキー
シフトキーなら、
event.shiftKey = true; // シフトキー
ただし、入力コントロールの、keydown イベントハンドラー内で、
$( this ).trigger( event );
みたいに、同じ入力コントロールに対して、トリガーを呼ぶと、
無限ループになって、stack overflow エラーになる!
それと、誰が質問者か分からないので、
投稿時には、名前欄に、721 と入れてくれ!
733721
2019/09/03(火) 15:43:48.37ID:??? 俺は721ではない
734732
2019/09/03(火) 16:22:31.11ID:??? Edge・Chrome でも、
入力コントロールに対して、トリガーを呼んでも、入力できないw
入力コントロールに対して、トリガーを呼んでも、入力できないw
735732
2019/09/03(火) 19:06:34.78ID:??? >734
修正
入力コントロールに対して、トリガーを呼んでも、
コントロールには表示されないけど、情報は送られているw
修正
入力コントロールに対して、トリガーを呼んでも、
コントロールには表示されないけど、情報は送られているw
736732
2019/09/03(火) 19:19:51.19ID:??? ここまでやってみた結論!
HTML 内のjQuery のトリガーでは、
入力コントロールに情報は送られているが、表示はされない!
一方、Selenium WebDriver で、ブラウザを自動操作すると、
入力コントロールに表示もされる!
HTML 内のjQuery のトリガーでは、
入力コントロールに情報は送られているが、表示はされない!
一方、Selenium WebDriver で、ブラウザを自動操作すると、
入力コントロールに表示もされる!
737Name_Not_Found
2019/09/03(火) 19:26:50.88ID:nxPodWfI できるだけシンプルなテトリスチュート教えて下さい
738732
2019/09/03(火) 20:53:56.17ID:??? シフトキーの有無で、何をやりたいのか、知らないけど、
keydown で、シフトキーの有無を判別しても、
keyCode から、charCode(文字)へ変換できない!
以下のサイトで、それらの変換辞書を作っている!
https://www.code-adviser.com/detail_1772179
https://jsfiddle.net/5hhu896g/1/
<input type="text" id="text_2">
$( '#text_2' ).on( {
'keydown': function( e ) {
console.log( e.type, e.key, e.shiftKey, e.charCode );
},
'keypress': function( e ) {
console.log( e.type, e.key, e.shiftKey, e.charCode );
}
} );
$( '#text_2' ).trigger( $.Event( 'keydown', { key: 65, shiftKey: true } ) );
$( '#text_2' ).trigger( $.Event( 'keypress', { key: 65, shiftKey: true } ) );
keydown で、シフトキーの有無を判別しても、
keyCode から、charCode(文字)へ変換できない!
以下のサイトで、それらの変換辞書を作っている!
https://www.code-adviser.com/detail_1772179
https://jsfiddle.net/5hhu896g/1/
<input type="text" id="text_2">
$( '#text_2' ).on( {
'keydown': function( e ) {
console.log( e.type, e.key, e.shiftKey, e.charCode );
},
'keypress': function( e ) {
console.log( e.type, e.key, e.shiftKey, e.charCode );
}
} );
$( '#text_2' ).trigger( $.Event( 'keydown', { key: 65, shiftKey: true } ) );
$( '#text_2' ).trigger( $.Event( 'keypress', { key: 65, shiftKey: true } ) );
739732
2019/09/03(火) 21:15:25.77ID:??? >738
修正
2箇所の
>key: 65
key: "a"
keyCode なら、数字で良いけど、
key は文字列でした
修正
2箇所の
>key: 65
key: "a"
keyCode なら、数字で良いけど、
key は文字列でした
740721
2019/09/03(火) 21:45:17.90ID:??? canvas上でマウスで要素を複数選択する際、
PCではshift+要素クリックで可能なのですが
タッチデバイスではこれができないため
checkboxを設けてshiftキーを押した状態を疑似させたいのです。
よってキーを押されたらとのイベントではなく文字通り>>721の通りにしたいのです。
PCではshift+要素クリックで可能なのですが
タッチデバイスではこれができないため
checkboxを設けてshiftキーを押した状態を疑似させたいのです。
よってキーを押されたらとのイベントではなく文字通り>>721の通りにしたいのです。
741732
2019/09/04(水) 00:32:14.34ID:??? 複数選択したい要素が、例えば、Bootstrap の、
トグルボタングループ、チェックボックスグループ、セレクトボックスなどなら、複数選択できる
複数選択でも、ctrl キーとshift キーでは、複数選択される範囲が異なる。
セレクトボックスで確認してみて
Canvas 上ということは、上記のコントロールではなく、画像の一部分か何か?
特定の範囲を表すコントロールは、知らない。
そういうものなら、自作しないといけないのでは?
選択したら色を反転して、解除したら色を元に戻すとか?
それは、かなり難しい
>721 のように、特定のキーを押し続けている状態を維持することは無理です!
キーを押すと、すぐに放されるから。
または、押し続けると、連続して押されてしまうから
まあ、セレクトボックスで、複数選択を試してみれば?
トグルボタングループ、チェックボックスグループ、セレクトボックスなどなら、複数選択できる
複数選択でも、ctrl キーとshift キーでは、複数選択される範囲が異なる。
セレクトボックスで確認してみて
Canvas 上ということは、上記のコントロールではなく、画像の一部分か何か?
特定の範囲を表すコントロールは、知らない。
そういうものなら、自作しないといけないのでは?
選択したら色を反転して、解除したら色を元に戻すとか?
それは、かなり難しい
>721 のように、特定のキーを押し続けている状態を維持することは無理です!
キーを押すと、すぐに放されるから。
または、押し続けると、連続して押されてしまうから
まあ、セレクトボックスで、複数選択を試してみれば?
2019/09/04(水) 08:24:24.81ID:???
743742
2019/09/04(水) 08:28:14.21ID:wtmdhF4X >>741
checkbox使うなら、そこからcanvasを直接操作すればよい
checkbox使うなら、そこからcanvasを直接操作すればよい
2019/09/04(水) 10:28:36.79ID:???
タッチイベントを横取してイベントを発行すればいい
745732
2019/09/04(水) 11:46:06.75ID:??? セレクトボックスみたいに、複数選択できるHTML 要素なら、
その機能を、HTML/CSS がやってくれるから楽
でも、Canvas 上で単なる画像なら、HTML要素じゃないから大変!
画像を選択したら、選択したように色も変えたりしないといけないし、
どの部分を選択しているのか、自分で管理しないといけない
そもそも、タッチした座標が、どの画像の部分にあるのかも、計算しないといけない。
全く、ゲームプログラミングそのもの!
HTML で作る、普通のウェブページじゃない!
その機能を、HTML/CSS がやってくれるから楽
でも、Canvas 上で単なる画像なら、HTML要素じゃないから大変!
画像を選択したら、選択したように色も変えたりしないといけないし、
どの部分を選択しているのか、自分で管理しないといけない
そもそも、タッチした座標が、どの画像の部分にあるのかも、計算しないといけない。
全く、ゲームプログラミングそのもの!
HTML で作る、普通のウェブページじゃない!
746Name_Not_Found
2019/09/04(水) 11:57:20.58ID:8Za3ARZ8 ロジック学ぶなら言語は関係ないわよね?
2019/09/04(水) 17:52:05.71ID:???
そうわよ。
748Name_Not_Found
2019/09/04(水) 18:45:11.05ID:8Za3ARZ8 vs codeにjavascriptのデバッガついてないの?
749Name_Not_Found
2019/09/04(水) 18:50:46.52ID:8Za3ARZ8 下のコンソールにリアルタイムで構文をチェックしてくれるあの機能ないの?
2019/09/04(水) 18:52:14.31ID:???
デバッグがしたいのか構文チェックがしたいのか意味不明
751Name_Not_Found
2019/09/04(水) 19:03:54.98ID:8Za3ARZ8 eslintってのがあった
ごめn
ごめn
752Name_Not_Found
2019/09/04(水) 19:08:37.93ID:8Za3ARZ8 やっぱだめだ
;
を忘れてもエラーでないし
;
を忘れてもエラーでないし
753Name_Not_Found
2019/09/04(水) 19:10:54.36ID:8Za3ARZ8 ブラウザでデバッグするもんなのjsって
2019/09/04(水) 19:13:53.47ID:???
755721
2019/09/04(水) 19:18:38.55ID:???2019/09/05(木) 00:49:32.86ID:???
757732
2019/09/05(木) 12:16:36.44ID:??? パズドラ・Jewels などによくある、画像の一部分を選択するのは、ゲームプログラミングだよ。
HTML, JavaScript のゲームプログラミングの本などを読まないと、無理
選択されたように見せるだけでも、かなり苦戦する
https://www.emanueleferonato.com/
こういうイタリア人が、Phaser でゲームプログラミングしてる。
彼は昔、Cocos2d-x(JS 版)の本も書いていたけど、最近は、Phaserばっかり!
HTML, JavaScript のゲームプログラミングの本などを読まないと、無理
選択されたように見せるだけでも、かなり苦戦する
https://www.emanueleferonato.com/
こういうイタリア人が、Phaser でゲームプログラミングしてる。
彼は昔、Cocos2d-x(JS 版)の本も書いていたけど、最近は、Phaserばっかり!
2019/09/05(木) 15:48:34.70ID:???
うるせえ死ね!
2019/09/05(木) 17:30:57.72ID:???
>>757
的はずれなことばっかり言ってるなぁ
的はずれなことばっかり言ってるなぁ
760Name_Not_Found (ワッチョイ 4301-kPz+)
2019/09/05(木) 20:16:44.22ID:???0 const matched = value.match(/正規表現/)[0] || ''
これだと結局、右辺にたどり着く前に左辺の時点で「[0]を読み取れない」って怒られるんですけど
ここからあまり変数を増やしたりせずに
「マッチしたならその文字列、しなかったなら空の文字列」を代入する方法ってないですか?
const matched = (value.match(/正規表現/)) ? value.match(/正規表現/)[0] : ''
だと同じこと2回書くことになりますし…
これだと結局、右辺にたどり着く前に左辺の時点で「[0]を読み取れない」って怒られるんですけど
ここからあまり変数を増やしたりせずに
「マッチしたならその文字列、しなかったなら空の文字列」を代入する方法ってないですか?
const matched = (value.match(/正規表現/)) ? value.match(/正規表現/)[0] : ''
だと同じこと2回書くことになりますし…
2019/09/05(木) 20:20:30.04ID:???
2019/09/05(木) 20:39:32.85ID:???
新規イオンカード発行で20%キャッシュバック祭り始まるぞ!増税前に大きい買い物するチャンス!
イオンカード決済で10%、イオン口座引き落とし設定で更に+10%
計20%最大10万円まで還元
https://i.imgur.com/Q3BbxXw.jpg
入会時紹介コード1500P
https://i.imgur.com/zSlYyfQ.jpg
※イオンカードセレクト(イオン銀行と一体型したクレカ)がオススメ
イオンカード決済で10%、イオン口座引き落とし設定で更に+10%
計20%最大10万円まで還元
https://i.imgur.com/Q3BbxXw.jpg
入会時紹介コード1500P
https://i.imgur.com/zSlYyfQ.jpg
※イオンカードセレクト(イオン銀行と一体型したクレカ)がオススメ
2019/09/05(木) 20:52:19.57ID:???
>>757
作図、ドロー・・・
作図、ドロー・・・
2019/09/05(木) 23:16:16.81ID:???
>>760
const [matched] = value.match(/正規表現/) || ['']
const [matched] = value.match(/正規表現/) || ['']
765760
2019/09/05(木) 23:33:33.33ID:???2019/09/06(金) 06:42:56.42ID:???
「|| ['']」より「|.?」の方がスマート
2019/09/06(金) 07:41:48.98ID:???
天才「自分の頭を使って考え適切なものを選ぶ」
馬鹿「何も考えたくない。全部同じものを使う」
馬鹿「何も考えたくない。全部同じものを使う」
2019/09/06(金) 07:45:58.66ID:???
2019/09/06(金) 08:24:08.66ID:???
天才「独創的な考えを短時間で思索する」
常人「時間をかけて考える」
怠惰「先人に聞く」(同じ問題を何度でも)
常人「時間をかけて考える」
怠惰「先人に聞く」(同じ問題を何度でも)
2019/09/06(金) 08:38:46.18ID:???
馬鹿「考えるの面倒くさい、全部同じやり方でいいじゃん、コピペ楽じゃん」
2019/09/06(金) 12:33:04.61ID:???
2019/09/06(金) 13:34:20.23ID:???
2019/09/06(金) 19:09:07.27ID:???
2019/09/06(金) 19:12:48.10ID:???
2019/09/06(金) 19:45:45.61ID:???
どう違うのか自分では説明できないのに他人に勉強しろとか文句付けてる時点でこいつは頭悪そう
2019/09/06(金) 20:31:53.53ID:???
目くそ鼻くそ
2019/09/06(金) 20:37:27.13ID:???
バーカボンボン
778Name_Not_Found
2019/09/07(土) 02:57:11.21ID:VPSBl1x1 二次元配列があった場合、javascriptはx(横)から先に読むんですか?
普通はyからだとおもうんですが。
普通はyからだとおもうんですが。
779Name_Not_Found
2019/09/07(土) 07:20:03.71ID:VPSBl1x1 すみません
2019/09/07(土) 12:31:56.32ID:???
JSにアクセスアシスト付き多次元配列は無い
単純に配列が入れ子になっているだけ
考えを整理しろ
単純に配列が入れ子になっているだけ
考えを整理しろ
2019/09/07(土) 15:49:57.39ID:???
配列の入れ子で質問があります。
for文の i を1階層目のインデックス番号として使用すると、エラーになってしまうようです。
何が原因なのでしょうか。
また、回避策はありますでしょうか。
var arr = [
[1, 2, 3],
[4, 5, 6]
]
for (var i = 0; i <= arr.length; i++) {
console.log(arr[1][1]); // ok
console.log(arr[1][i]); // ok
console.log(arr[i][2]); // err なぜ?
}
for文の i を1階層目のインデックス番号として使用すると、エラーになってしまうようです。
何が原因なのでしょうか。
また、回避策はありますでしょうか。
var arr = [
[1, 2, 3],
[4, 5, 6]
]
for (var i = 0; i <= arr.length; i++) {
console.log(arr[1][1]); // ok
console.log(arr[1][i]); // ok
console.log(arr[i][2]); // err なぜ?
}
2019/09/07(土) 16:11:16.88ID:???
for (var i = 0; i <= arr.length; i++) {
console.log( i ); // ok
console.log( i, arr[i][2] ); // err なぜ?
}
出力
0
0 3
1
1 6
2
Cannot read property '2' of undefined
そこは、0〜1 の範囲だろ。
2 は、範囲外!
console.log( i ); // ok
console.log( i, arr[i][2] ); // err なぜ?
}
出力
0
0 3
1
1 6
2
Cannot read property '2' of undefined
そこは、0〜1 の範囲だろ。
2 は、範囲外!
2019/09/07(土) 17:19:21.88ID:???
i <= arr.length だから2までインクリメントされてるって話ではないの?
i < arr.length にすればいいだけでは?
i < arr.length にすればいいだけでは?
2019/09/07(土) 18:59:38.64ID:???
>>782-783
さっそくありがとうございます。
まさか <= となっているのが原因だったとは全く気づきませんでした。
やむおえず forEach で代替しておりました。
お二人様本当に助かりました。
さっそくありがとうございます。
まさか <= となっているのが原因だったとは全く気づきませんでした。
やむおえず forEach で代替しておりました。
お二人様本当に助かりました。
2019/09/08(日) 22:07:23.83ID:???
aryAry.forEach((ary)=>{
// ...
// 長い記述
// ...
ary.forEach((value)=>{ "なんかする"; });
})
↑のような場合、なんかする関数が何度も作られ効率が悪い(測ると実際遅い)ですよね?
外だせばいいじゃんってことですが、1箇所でしか使わないのに記述がバラけるのが少し嫌だなと思い
何かいいとこ取りした綺麗な書き方はないか、というのが質問です
(外に変数だけ用意しといて nanka || (nanka=(value)=>{ "なんかする"; }) みたいなことはできるかも)
// ...
// 長い記述
// ...
ary.forEach((value)=>{ "なんかする"; });
})
↑のような場合、なんかする関数が何度も作られ効率が悪い(測ると実際遅い)ですよね?
外だせばいいじゃんってことですが、1箇所でしか使わないのに記述がバラけるのが少し嫌だなと思い
何かいいとこ取りした綺麗な書き方はないか、というのが質問です
(外に変数だけ用意しといて nanka || (nanka=(value)=>{ "なんかする"; }) みたいなことはできるかも)
2019/09/08(日) 22:17:03.03ID:???
2019/09/08(日) 22:25:29.87ID:???
クソ長い記述の方を外出し出来ないのか?
2019/09/08(日) 22:33:56.57ID:???
>>786
50万回で300ms程度、外だしだと20ms程度です
50万回で300ms程度、外だしだと20ms程度です
2019/09/08(日) 23:36:39.09ID:???
中出し最高です
2019/09/08(日) 23:37:29.61ID:???
確かに
2019/09/09(月) 00:41:49.81ID:???
数千回以上呼び出されるようなものでない限り気にしなくていいぞ
多くの場合長い記述の方を見直したほうが結果が出る
どうしてもってのならforEachも関数も遅いんだからどっちも使うの禁止な
多くの場合長い記述の方を見直したほうが結果が出る
どうしてもってのならforEachも関数も遅いんだからどっちも使うの禁止な
2019/09/09(月) 07:02:02.70ID:???
千回でも数千人の環境で数十回実行されたら1億とか超える
そうするとそこに手を入れて削減できる実行時間が1時間とかになる可能性があるのだから
気にするくらいはしないとだめ
そうするとそこに手を入れて削減できる実行時間が1時間とかになる可能性があるのだから
気にするくらいはしないとだめ
2019/09/09(月) 07:18:53.56ID:???
>>785
手段は外部定義だけ
手段は外部定義だけ
2019/09/09(月) 09:03:46.38ID:???
2019/09/09(月) 09:17:33.49ID:???
Googleはページ表示まで2秒以内にすべきとしているし、Amazonは0.1秒の差が1%の売上に影響するとしている
それからすると、300msは決して小さい数字ではない
それからすると、300msは決して小さい数字ではない
2019/09/09(月) 09:51:05.83ID:???
Nodeとかサーバーサイドならアホみたいなループは使わなくて済むように考えたほうが良いだろうね
2019/09/09(月) 11:15:51.29ID:???
>>795
> それからすると、300msは決して小さい数字ではない
50万回で300msな
5万回なら30ms、5千回なら3ms
500回なら0.3ms、50回なら0.03ms
って計算できるやろ?
小さいかどうかは、ループ回数で決まるんだよ
> それからすると、300msは決して小さい数字ではない
50万回で300msな
5万回なら30ms、5千回なら3ms
500回なら0.3ms、50回なら0.03ms
って計算できるやろ?
小さいかどうかは、ループ回数で決まるんだよ
2019/09/09(月) 12:53:08.40ID:???
単純に1分考えて世界中のコンピューターの負担を1時間分節約できるのなら
まあ良いプログラマとしてはやるべきだな
塵も積もれば山となるし
まあ良いプログラマとしてはやるべきだな
塵も積もれば山となるし
2019/09/09(月) 13:38:23.04ID:???
1分考えて、節約できるのは0.03msとか
逆にコストが掛かってる
逆にコストが掛かってる
2019/09/09(月) 18:02:54.05ID:???
短期的な見方しか出来ないのか
2019/09/09(月) 18:05:09.63ID:???
2019/09/09(月) 18:39:17.38ID:???
1回が「0.0006ms = 0.6us = 600ns」の処理速度で実行可能なCPUがデファクトスタンダードな世界に生きてるんだろうさ
スマートフォンのスペックに相当余裕がある夢物語だな
スマートフォンのスペックに相当余裕がある夢物語だな
2019/09/09(月) 19:27:22.63ID:???
2019/09/09(月) 19:51:04.53ID:???
2019/09/09(月) 20:17:30.69ID:???
2019/09/09(月) 20:19:19.64ID:???
>>805
なぜサーバだと思ったのかね?
なぜサーバだと思ったのかね?
2019/09/09(月) 23:53:53.31ID:???
2019/09/10(火) 00:19:40.38ID:???
>>806
確定してないからこそのツッコミどころだろ
確定してないからこそのツッコミどころだろ
2019/09/10(火) 06:39:53.18ID:???
>>808
未確定なら、クライアントの話をしても問題あるまい
未確定なら、クライアントの話をしても問題あるまい
2019/09/10(火) 09:44:22.79ID:???
> 単純に1分考えて世界中のコンピューターの負担を1時間分節約できるのなら
CPUにはアイドル時間という何も処理してない時間があって、
ネットワークやディスクアクセスのI/Oによってその時間がどうしても生まれる。
300ms程度増えたってCPUの使用率が50%から50.01%になる程度で
何もしないアイドル時間が減るだけでコンピュータの負担は減らない
1時間節約するには、何億アクセスレベルの処理が必要でしょう
CPUにはアイドル時間という何も処理してない時間があって、
ネットワークやディスクアクセスのI/Oによってその時間がどうしても生まれる。
300ms程度増えたってCPUの使用率が50%から50.01%になる程度で
何もしないアイドル時間が減るだけでコンピュータの負担は減らない
1時間節約するには、何億アクセスレベルの処理が必要でしょう
2019/09/10(火) 12:31:40.22ID:???
2019/09/10(火) 13:06:17.32ID:???
>>811
value.match(/正規表現|.?/);
こういう事なんだろうけどこれじゃマッチしなかった時どこか1文字拾っちゃう可能性あるわな
matchだけでやるならこうかな?
value.match(/正規表現|$/);
value.match(/正規表現|.?/);
こういう事なんだろうけどこれじゃマッチしなかった時どこか1文字拾っちゃう可能性あるわな
matchだけでやるならこうかな?
value.match(/正規表現|$/);
2019/09/10(火) 13:26:22.24ID:???
>>809
クライアントに確定したかのように話すのはツッコミどころだろ
クライアントに確定したかのように話すのはツッコミどころだろ
2019/09/10(火) 15:22:21.37ID:???
文字列と正規表現の合致チェックをする場合、
文字列のmatchメソッドを使っても、
正規表現のtestメソッドを使っても、結果は同じなのでしょうか?
どっちの方がいいとかありますか?
文字列のmatchメソッドを使っても、
正規表現のtestメソッドを使っても、結果は同じなのでしょうか?
どっちの方がいいとかありますか?
2019/09/10(火) 15:41:57.71ID:???
>>812
あぁなるほど、.?という何やら特殊なプロパティがいつの間にかできてたのかと思ったら
||['']のところに置き換えるってわけじゃなくて単に正規表現の中に入れると
正規表現で^(先頭)や$(末尾)は必ずヒットするけど長さは0文字…!
言われてみればそうですね、注意は必要なものの何かしら応用できそうです
あぁなるほど、.?という何やら特殊なプロパティがいつの間にかできてたのかと思ったら
||['']のところに置き換えるってわけじゃなくて単に正規表現の中に入れると
正規表現で^(先頭)や$(末尾)は必ずヒットするけど長さは0文字…!
言われてみればそうですね、注意は必要なものの何かしら応用できそうです
2019/09/10(火) 16:27:29.30ID:???
testのほうがだいぶ高速みたいだけど、比較するなら正規表現のmatchメソッドでないの?
2019/09/10(火) 17:43:10.03ID:???
2019/09/10(火) 19:22:36.27ID:???
>>813
確定させてはいないだろ
確定させてはいないだろ
2019/09/10(火) 20:05:57.88ID:???
>>818
どう見ても確定したかのように言ってるだろ
どう見ても確定したかのように言ってるだろ
2019/09/10(火) 21:20:00.44ID:???
すごい初歩的な質問ですみません
window.onloadとimg.onloadでは、実行の順番みたいなものはありますか?
自作のプログラムでは、img.onloadの内容が終わってからwindow.onloadが実行されるみたいなのですが
window.onloadとimg.onloadでは、実行の順番みたいなものはありますか?
自作のプログラムでは、img.onloadの内容が終わってからwindow.onloadが実行されるみたいなのですが
2019/09/10(火) 22:24:27.04ID:???
2019/09/10(火) 23:19:51.72ID:???
文字列のn番目を書き換える方法って有る?
var a = "00000"; を n=3なら var a = "00100" にするような
n = "3";
i = 0;
var a = "";
while (i < 5) {
if (i == n) {
a += "1";
} else {
a += "0";
}
i++;
}
一応これで同じことはできる
var a = "00000"; を n=3なら var a = "00100" にするような
n = "3";
i = 0;
var a = "";
while (i < 5) {
if (i == n) {
a += "1";
} else {
a += "0";
}
i++;
}
一応これで同じことはできる
2019/09/10(火) 23:21:28.44ID:???
>>822
ああ下のnの””いらんかも
ああ下のnの””いらんかも
2019/09/10(火) 23:43:01.32ID:???
>>820
window.onloadはimgやiframe等も含めて必要な物が全て読み込み終わってから発生するイベント
DOM構築が終わってすぐ動いてほしいなら
document.addEventListener("DOMContentLoaded", 〜);
を使いましょう
window.onloadはimgやiframe等も含めて必要な物が全て読み込み終わってから発生するイベント
DOM構築が終わってすぐ動いてほしいなら
document.addEventListener("DOMContentLoaded", 〜);
を使いましょう
2019/09/10(火) 23:47:00.52ID:???
>>824
ありがとうございます
ありがとうございます
2019/09/10(火) 23:58:36.63ID:???
>>822
はい。
var func = ([...a], n) => (a[n - 1] = '1', a.join(''));
var a = '00000';
var n = 3;
func(a, n);
//=> "00100"
はい。
var func = ([...a], n) => (a[n - 1] = '1', a.join(''));
var a = '00000';
var n = 3;
func(a, n);
//=> "00100"
2019/09/11(水) 00:04:43.24ID:???
>>822
a.replace(new RegExp('^(.{' + (n-1) + '}).'), '$11');
a.replace(new RegExp('^(.{' + (n-1) + '}).'), '$11');
828Name_Not_Found
2019/09/11(水) 00:08:07.13ID:lQgvfKkg2019/09/11(水) 00:12:32.60ID:???
>>826
やりたいことエスパーしてちょっと修正
var func = ([...a], n, c) => (a[n - 1] = c, a.join(''));
var a = '00000';
a = func(a, 3, '1');
console.log(a);
//=> 00100
やりたいことエスパーしてちょっと修正
var func = ([...a], n, c) => (a[n - 1] = c, a.join(''));
var a = '00000';
a = func(a, 3, '1');
console.log(a);
//=> 00100
2019/09/11(水) 00:13:17.75ID:???
>>822
String型はプリミティブ値であり、プロパティ書換は不可
new Stringなら参照型だが、valueOfを書き換えて擬似的にプリミティブ値を書き換えるのが限度で、再代入とほぼ同じ
1文字レベルで書き換えたいなら、ユーザ定義コンストラクタ内でやるのが現実的
String型はプリミティブ値であり、プロパティ書換は不可
new Stringなら参照型だが、valueOfを書き換えて擬似的にプリミティブ値を書き換えるのが限度で、再代入とほぼ同じ
1文字レベルで書き換えたいなら、ユーザ定義コンストラクタ内でやるのが現実的
2019/09/11(水) 00:25:54.15ID:???
>>829
これでもいいな。
var func = ([...s], n, c) => s.map((v, i) => i === n - 1 ? c : v).join(''));
var a = '00000';
a = func(a, 3, '1');
console.log(a);
//=> 00100
これでもいいな。
var func = ([...s], n, c) => s.map((v, i) => i === n - 1 ? c : v).join(''));
var a = '00000';
a = func(a, 3, '1');
console.log(a);
//=> 00100
2019/09/11(水) 00:37:52.76ID:???
>>831
灯台下暗し、spliceが一番シンプルか。
var func = ([...s], n, c) => (s.splice(n - 1, 1, c), s);
var a = '00000';
a = func(a, 3, '1');
console.log(a);
//=> 00100
灯台下暗し、spliceが一番シンプルか。
var func = ([...s], n, c) => (s.splice(n - 1, 1, c), s);
var a = '00000';
a = func(a, 3, '1');
console.log(a);
//=> 00100
2019/09/11(水) 00:39:08.86ID:???
>>832
おっとjoin忘れたw
var func = ([...s], n, c) => (s.splice(n - 1, 1, c), s.join(''));
var a = '00000';
a = func(a, 3, '1');
console.log(a);
//=> 00100
おっとjoin忘れたw
var func = ([...s], n, c) => (s.splice(n - 1, 1, c), s.join(''));
var a = '00000';
a = func(a, 3, '1');
console.log(a);
//=> 00100
2019/09/11(水) 00:56:53.30ID:???
いいかげんjQueryから脱しようと思い、例えば<input>タグ内のテキストの書き換え処理を
$elem.val('テキスト')
でなく
elem.value = 'テキスト'
に変えてみました
そしたら気付いたのですが、JSでは関数が少ないためval()のようなメソッドが(エディタの色変えも相俟って)目立つのに対し
単にプロパティへの代入という形で書くと、どういう意味の代入なのかパッと見で区別しづらく…
Vanilla JSでもあえて明示的にするために、こういうちょっとした代入処理も独自関数にしたりするものでしょうか?
それとも気にせずに「 .value = 」で代入しちゃってれば慣れる感じですか?
$elem.val('テキスト')
でなく
elem.value = 'テキスト'
に変えてみました
そしたら気付いたのですが、JSでは関数が少ないためval()のようなメソッドが(エディタの色変えも相俟って)目立つのに対し
単にプロパティへの代入という形で書くと、どういう意味の代入なのかパッと見で区別しづらく…
Vanilla JSでもあえて明示的にするために、こういうちょっとした代入処理も独自関数にしたりするものでしょうか?
それとも気にせずに「 .value = 」で代入しちゃってれば慣れる感じですか?
2019/09/11(水) 01:01:12.97ID:???
ほら、意味もなくjQuery脱出なんかするから
そういうことを考えなければいけなくなったw
そういうことを考えなければいけなくなったw
2019/09/11(水) 01:10:05.37ID:???
2019/09/11(水) 01:11:29.35ID:???
jQueryをやめるということは、そういう設計も
自分で考えて判断するということです。
jQueryがやってくれていた作業を自分でやるということなんですよ
自分で考えて判断するということです。
jQueryがやってくれていた作業を自分でやるということなんですよ
838834
2019/09/11(水) 01:12:57.08ID:???2019/09/11(水) 01:15:23.02ID:???
jQueryでできないけど、get()で出来ることって?
840834
2019/09/11(水) 01:29:30.64ID:???2019/09/11(水) 02:25:13.89ID:???
>>840
そもそも、なぜ「関数」が良くて、「プロパティ」が直観的でないと思ったのか、を論理だてて考える必要があると思う
プロパティにはgetter/setterもあれば、Proxyもある
処理が伴うプロパティは全く珍しくないし、DOMには反映型属性もある
原理さえ覚えれば、「プロパティだから直観的でない」と思う事はない
そもそも、なぜ「関数」が良くて、「プロパティ」が直観的でないと思ったのか、を論理だてて考える必要があると思う
プロパティにはgetter/setterもあれば、Proxyもある
処理が伴うプロパティは全く珍しくないし、DOMには反映型属性もある
原理さえ覚えれば、「プロパティだから直観的でない」と思う事はない
2019/09/11(水) 02:59:44.41ID:???
どちらかといえば、jQueryが何でもかんでも関数化していて、分かりづらい印象だけどな…
jQuery#valがなぜ関数か、って実装当時はsetterがIEになくて、相互運用性の為に関数を採用しただけ
input要素のvalue属性を見るなら、状態を表すプロパティが直感的
jQuery#valがなぜ関数か、って実装当時はsetterがIEになくて、相互運用性の為に関数を採用しただけ
input要素のvalue属性を見るなら、状態を表すプロパティが直感的
2019/09/11(水) 03:14:24.76ID:???
> jQuery#valがなぜ関数か、
基本的な設計に従って、 $('.class').val(123) ってするためやろ
なに勘違いしてるんだ?
基本的な設計に従って、 $('.class').val(123) ってするためやろ
なに勘違いしてるんだ?
2019/09/11(水) 03:32:41.92ID:???
あと、setterは、Firefox2(2006年10月)やSafari3(2007年6月)以上から対応だから、
jQueryリリース(2006年8月)時点ではどのブラウザも対応してねーよ
jQueryリリース(2006年8月)時点ではどのブラウザも対応してねーよ
2019/09/11(水) 03:34:58.13ID:???
プロパティじゃメソッドチェーンも使えないし
2019/09/11(水) 07:18:37.57ID:???
2019/09/11(水) 07:23:31.14ID:???
未だにjQueryがブラウザ間の互換性をもたらすライブラリだと思ってる人がいるんだね。
jQueryはDOM要素をリスト処理できるようにするライブラリだよ。
jQueryはDOM要素をリスト処理できるようにするライブラリだよ。
2019/09/11(水) 08:12:53.13ID:???
どちらかといえば、jQueryのメソッドチェーンは気持ち悪く感じるな
何でもかんでもjQueryオブジェクトにのメソッドにして、返り値をjQueryオブジェクトにする
メソッドチェーンの為に複数の役割を強引に一つに統合した感が強い
何でもかんでもjQueryオブジェクトにのメソッドにして、返り値をjQueryオブジェクトにする
メソッドチェーンの為に複数の役割を強引に一つに統合した感が強い
2019/09/11(水) 10:40:20.20ID:???
漏れは、Ruby でも、grep 時に困るから、短い表記は避ける。
代入よりは、setAttribute などの方が、検索しやすい
ただ、速度が遅くなるのが嫌なら、コメントを付ける
ary = [ ]
ary << "a" # Array#push
ary.push 1
p ary #=> ["a", 1]
>>821
Ruby でも開発時には、Node.js, jQuery, Bootstrap, Webpack, Babel などは必須。
npm, yarn などのパッケージマネージャーが無いと、異なるバージョンを管理できないから
代入よりは、setAttribute などの方が、検索しやすい
ただ、速度が遅くなるのが嫌なら、コメントを付ける
ary = [ ]
ary << "a" # Array#push
ary.push 1
p ary #=> ["a", 1]
>>821
Ruby でも開発時には、Node.js, jQuery, Bootstrap, Webpack, Babel などは必須。
npm, yarn などのパッケージマネージャーが無いと、異なるバージョンを管理できないから
2019/09/11(水) 11:49:26.28ID:???
rubyってなんにもできないんだね
2019/09/11(水) 12:55:41.41ID:???
>>848
メソッドチェーンはパフォーマンスのために有るんだよ。
もしメソッドチェーンがなければ、$(セレクタ)を一旦ローカル変数に入れないと
メソッドを呼び出す毎に、内部でquerySelectorAllする必要がある
メソッドチェーンが有るのでローカル変数を使うこと無く、
パフォーマンスを落とすこと無くメソッドを実行できる
メソッドチェーンはパフォーマンスのために有るんだよ。
もしメソッドチェーンがなければ、$(セレクタ)を一旦ローカル変数に入れないと
メソッドを呼び出す毎に、内部でquerySelectorAllする必要がある
メソッドチェーンが有るのでローカル変数を使うこと無く、
パフォーマンスを落とすこと無くメソッドを実行できる
2019/09/11(水) 12:57:48.16ID:???
2019/09/11(水) 12:58:46.17ID:???
>>849
重要なのは短いかどうかじゃなくて、
単語で区別できるかどうかやろ?
setAttributeでもattrでも検索性は変わらない
> ary.push 1
あちこちでpushが使われてるのに、検索しやすくなるわけがない
<< で検索しても何も違いはない
重要なのは短いかどうかじゃなくて、
単語で区別できるかどうかやろ?
setAttributeでもattrでも検索性は変わらない
> ary.push 1
あちこちでpushが使われてるのに、検索しやすくなるわけがない
<< で検索しても何も違いはない
2019/09/11(水) 13:59:29.46ID:???
>>851
一旦ローカル変数に入れれば解決するのならパフォーマンスのためじゃないじゃん
一旦ローカル変数に入れれば解決するのならパフォーマンスのためじゃないじゃん
2019/09/11(水) 17:37:06.64ID:???
Ruby でも、メソッドチェーンのままなら、遅延処理ができる場合がある
例えば、a().b().c()
で、途中で実体化しないで、最後の所でだけ実体化する
Generator みたいに、無限配列の最初の5つとか、取得できる
もし、これを途中で変数に入れると、先に無限配列が実体化されて、エラーになる。
ただし、関数のまま持ち運べば、OK なのかな?
例えば、a().b().c()
で、途中で実体化しないで、最後の所でだけ実体化する
Generator みたいに、無限配列の最初の5つとか、取得できる
もし、これを途中で変数に入れると、先に無限配列が実体化されて、エラーになる。
ただし、関数のまま持ち運べば、OK なのかな?
2019/09/11(水) 18:19:34.91ID:???
jQueryはNode,Element,HTMLCollectionmHTMLAnchorElement...etcを廃止して、全メソッドをNodeListに生やしているようなもの
で、9割以上のメソッドを「絶対NodeListを返す関数」にしてメソッドチェーンを強引に実装
複数のオブジェクト指向から、jQuery単独の独裁思想に染まっているわけだな
ESで「Arrayだけあればいいのた」と唱えるようなもの
で、9割以上のメソッドを「絶対NodeListを返す関数」にしてメソッドチェーンを強引に実装
複数のオブジェクト指向から、jQuery単独の独裁思想に染まっているわけだな
ESで「Arrayだけあればいいのた」と唱えるようなもの
857Name_Not_Found
2019/09/11(水) 19:06:58.05ID:ZNEGXZLe ム板は人いなさそうだったけどNode.jsの話はここでいい?
Node.jsでファイルの排他ロックってどーやんの?
自分で実装するか外部ライブラリをインストールして使うしかない?
Node.jsでファイルの排他ロックってどーやんの?
自分で実装するか外部ライブラリをインストールして使うしかない?
2019/09/11(水) 19:07:56.28ID:???
いいのたwww
2019/09/11(水) 19:40:19.79ID:???
いいの「た」www
2019/09/11(水) 19:51:21.33ID:???
2019/09/11(水) 20:12:26.83ID:???
>>857
使うしか無い
使うしか無い
2019/09/11(水) 20:20:51.44ID:???
2019/09/11(水) 23:44:46.42ID:???
>>862には排他制御気にしなくていいどうだすごいだろみたいなことかいてあるんだけど…
2019/09/12(木) 00:21:22.73ID:???
シングルスレッドだから1プロセス内のメモリの競合はないけど、
マルチプロセスでファイル操作するなら排他ロックは要るやろ。
マルチプロセスでファイル操作するなら排他ロックは要るやろ。
2019/09/12(木) 02:22:59.71ID:???
>>862にはシングルスレッドは誤解でスレッドプールがあってマルチスレッド走る
けどそんな実装意識しないで使えるって書いてあるけど…
けどそんな実装意識しないで使えるって書いてあるけど…
2019/09/12(木) 06:36:16.16ID:???
2019/09/12(木) 06:50:04.98ID:???
誰もファイルをロックできないなんて言ってないんだがw
>>863が排他制御気にしなくていいと書いてあるって言ったからファイルの排他は要るやろと言っただけで
>>863が排他制御気にしなくていいと書いてあるって言ったからファイルの排他は要るやろと言っただけで
2019/09/12(木) 07:08:32.16ID:???
誰もファイルをロックできないなんて言ってるなんて言ってないんだがw
マルチプロセスとか関係ないやろと言っただけで
マルチプロセスとか関係ないやろと言っただけで
2019/09/12(木) 07:13:48.16ID:???
>ファイルならロックができるでしょ
これはどういう必要性があって言ったんだ?
ロックできると理解してる相手にこれを言う思考回路が理解できんわw
これはどういう必要性があって言ったんだ?
ロックできると理解してる相手にこれを言う思考回路が理解できんわw
2019/09/12(木) 08:20:06.27ID:???
>>865
https://qiita.com/junjis0203/items/7d3e63253a3d291a04c6#%E3%81%A8%E3%81%93%E3%82%8D%E3%81%A7%E3%81%BB%E3%82%93%E3%81%A8%E3%81%AB%E5%90%8C%E6%9C%9F
> 実は、読み込みは多分大丈夫ですが書き込みは怪しいです。...(以下略)
https://qiita.com/junjis0203/items/7d3e63253a3d291a04c6#%E3%81%A8%E3%81%93%E3%82%8D%E3%81%A7%E3%81%BB%E3%82%93%E3%81%A8%E3%81%AB%E5%90%8C%E6%9C%9F
> 実は、読み込みは多分大丈夫ですが書き込みは怪しいです。...(以下略)
2019/09/12(木) 08:34:08.92ID:???
そのページ持ち出した奴どういう意図か知らんが、ファイルの排他制御全然関係ないじゃん。
nodeならfs.openにflags指定するだけだろ。
nodeならfs.openにflags指定するだけだろ。
2019/09/12(木) 08:51:32.51ID:???
2019/09/12(木) 12:43:57.27ID:???
>>869
理解できないのは完全に君のオツムの問題だね
理解できないのは完全に君のオツムの問題だね
2019/09/12(木) 17:26:14.38ID:???
>>871
それロックできなくね?
それロックできなくね?
2019/09/12(木) 20:31:35.20ID:???
>>857
async await 関連の排他ロックは色々あるよ
node.jsは
「既にこの世にあるコードは例え1行でも自分では書かん!」みたいな文化あるんで
npm漁ればコレでもかっつーくらい色々あるよ
async await 関連の排他ロックは色々あるよ
node.jsは
「既にこの世にあるコードは例え1行でも自分では書かん!」みたいな文化あるんで
npm漁ればコレでもかっつーくらい色々あるよ
2019/09/12(木) 20:54:57.89ID:???
>>857
https://nodejs.org/docs/latest/api/fs.html#fs_file_open_constants
> O_NONBLOCK: Flag indicating to open the file in nonblocking mode when possible.
https://nodejs.org/docs/latest/api/fs.html#fs_file_open_constants
> O_NONBLOCK: Flag indicating to open the file in nonblocking mode when possible.
2019/09/12(木) 22:49:18.44ID:???
nonblockはflockじゃないじゃん
2019/09/12(木) 23:46:36.62ID:???
要素の座標を取得して、要素をクリック時にその値を使用するとした場合、
事前に取得してクリック時の処理を軽減する方が望ましいのでしょうか?
事前に取得する場合は、ブラウザをリサイズしたときに、要素の高さが変わる
可能性があるため、リサイズする度に値を取得する必要があります。
このような場合、記述が増えるけども、クリック時の処理の軽減に努めるべきなのか、
座標の取得など大した処理ではないので、クリック時に取得するべきなのか、
構成の考え方について、ご指導お願いいたします。
事前に取得してクリック時の処理を軽減する方が望ましいのでしょうか?
事前に取得する場合は、ブラウザをリサイズしたときに、要素の高さが変わる
可能性があるため、リサイズする度に値を取得する必要があります。
このような場合、記述が増えるけども、クリック時の処理の軽減に努めるべきなのか、
座標の取得など大した処理ではないので、クリック時に取得するべきなのか、
構成の考え方について、ご指導お願いいたします。
879Name_Not_Found (ワッチョイ 5394-g8Ew)
2019/09/12(木) 23:52:42.79ID:???0 処理を軽減して一体どの程度の効果があるのか
説明出来ないなら検討する必要なし
説明出来ないなら検討する必要なし
2019/09/13(金) 00:01:09.21ID:???
早速ありがとうございます。
全く説明できそうにないので、クリック時に取得します。
少し↑でも何万回繰り返すと、ほんの少し早くなる・・・みたいなこと
書いてありましたし。
フロント側で初心者なので、対して難しい処理できませんので。
モヤモヤが晴れました!
全く説明できそうにないので、クリック時に取得します。
少し↑でも何万回繰り返すと、ほんの少し早くなる・・・みたいなこと
書いてありましたし。
フロント側で初心者なので、対して難しい処理できませんので。
モヤモヤが晴れました!
2019/09/13(金) 00:48:02.48ID:???
凄い丁寧で分かりやすく説明できるアホな質問者だったな
2019/09/13(金) 01:02:46.26ID:???
async関数でreturn trueしてるコードを見かけますが、
これは普通の関数でのreturn Promise.resolve(true)と同じですか?
async関数は明示的に値を返さなくてもPromiseを返しているようですが、これらに違いはあるのでしょうか
これは普通の関数でのreturn Promise.resolve(true)と同じですか?
async関数は明示的に値を返さなくてもPromiseを返しているようですが、これらに違いはあるのでしょうか
883Name_Not_Found
2019/09/13(金) 01:12:55.35ID:yX+pvisW >>882
おなじ
asyncで関数を呼んだ時点で、Promiseが返ってる
その関数がreturnすると、そのPromiseがresolve(返り値)する
その関数が何か値をthrowすると、そのPromiseがreject(値)する
おなじ
asyncで関数を呼んだ時点で、Promiseが返ってる
その関数がreturnすると、そのPromiseがresolve(返り値)する
その関数が何か値をthrowすると、そのPromiseがreject(値)する
884Name_Not_Found
2019/09/13(金) 01:13:46.53ID:yX+pvisW すまぬちょいおかしかった
誤:asyncで関数を呼んだ時点
正:asyncの関数を呼んだ時点
誤:asyncで関数を呼んだ時点
正:asyncの関数を呼んだ時点
2019/09/13(金) 08:30:05.91ID:???
>>878
逆転させれば?
逆転させれば?
2019/09/13(金) 12:12:28.54ID:???
flock(群れ)ではないんじゃない?
分からんけど
分からんけど
2019/09/13(金) 14:09:26.17ID:???
2019/09/13(金) 20:01:31.56ID:???
ファイルロックはクロスプラットフォームの実装が面倒そうだな…
2019/09/13(金) 20:58:35.31ID:???
>>882
プロミスを解決するためのreturnと、解決されたプロミスを返すreturnは概念的に違う
プロミスを解決するためのreturnと、解決されたプロミスを返すreturnは概念的に違う
2019/09/14(土) 14:39:02.47ID:???
2019/09/14(土) 14:42:46.92ID:???
ドキュメントが読み込まれて
src属性とかのソースをブラウザがとりにいく前に
srcをとりにいかないようノードを削除したいのですが
どのイベントを使えばいいですか?
onloadでは一旦srcをとってきてから削除になるのでリクエストは発生してしまいます
src属性とかのソースをブラウザがとりにいく前に
srcをとりにいかないようノードを削除したいのですが
どのイベントを使えばいいですか?
onloadでは一旦srcをとってきてから削除になるのでリクエストは発生してしまいます
2019/09/14(土) 14:52:35.61ID:???
>>892
サービスワーカー
サービスワーカー
2019/09/14(土) 15:59:06.50ID:???
サービスワーカーですか?ありがとうございます
XHRから手つけてないのでちょっと読みましたが全くわかりませんでした
ちょっと頑張って勉強してみます
XHRから手つけてないのでちょっと読みましたが全くわかりませんでした
ちょっと頑張って勉強してみます
2019/09/14(土) 17:20:44.51ID:???
サービスワーカーじゃ初回訪問時はアウトじゃん
はぁ〜つっかえ
はぁ〜つっかえ
2019/09/14(土) 17:25:35.20ID:???
代替案があるならどうぞ
2019/09/14(土) 17:34:57.34ID:???
2019/09/14(土) 17:35:58.95ID:???
>>897
やってみました?無理ですよ。それじゃ
やってみました?無理ですよ。それじゃ
2019/09/14(土) 17:38:48.68ID:???
>>892
イベントじゃ無理だよ
そんなイベントはない。
無理にやるなら、document.writeを使って、HTML全体をコメント化する。
そして、ページ読み込みあとにHTMLを解析すればできるかもしれないけど
HTMLの中にコメント有るとうまく行かないし、まあまず無理
ブラウザ拡張を作るぐらいかねぇ
イベントじゃ無理だよ
そんなイベントはない。
無理にやるなら、document.writeを使って、HTML全体をコメント化する。
そして、ページ読み込みあとにHTMLを解析すればできるかもしれないけど
HTMLの中にコメント有るとうまく行かないし、まあまず無理
ブラウザ拡張を作るぐらいかねぇ
2019/09/14(土) 22:37:09.67ID:???
ブラウザ拡張も通信内容を完全に横取りできるAPIは削除される
2019/09/15(日) 01:29:24.13ID:???
>>892
作ってみたよ。
https://codepen.io/shinji709/pen/xxKJZba
https://codepen.io/shinji709/pen/LYPBGqY
上がsrc属性のみ削除(一応data-stashed-src属性作って保存)
下がimgタグごと削除
非推奨タグ使ってるんだけど代わりになるタグ無いんだなぁ…
作ってみたよ。
https://codepen.io/shinji709/pen/xxKJZba
https://codepen.io/shinji709/pen/LYPBGqY
上がsrc属性のみ削除(一応data-stashed-src属性作って保存)
下がimgタグごと削除
非推奨タグ使ってるんだけど代わりになるタグ無いんだなぁ…
2019/09/15(日) 11:10:46.58ID:???
ダメダメだね
2019/09/15(日) 12:04:46.98ID:???
代替案があるならどうぞ
2019/09/15(日) 12:31:14.97ID:???
まだ1つも案が出てきてないのに代替案ってどういうこと?
2019/09/15(日) 12:38:10.49ID:???
>>904
志村…
志村…
2019/09/15(日) 12:47:19.15ID:???
>>901
キツネにつつまれたような気分だ
キツネにつつまれたような気分だ
2019/09/15(日) 12:49:21.41ID:???
つつまれる?
なんかのネタ?
なんかのネタ?
2019/09/15(日) 13:31:42.66ID:???
な、なんか狐に
つつまれたような
気がする・・・。
∧_∧
/ ヽ
|` ´|
`<>○<>\= oノ
/ハ\⊂二_ヽ
`/ ∧_∧ヽ |
|(´∀`)|ヽ | |ヽ
| \yノ |( |ノ |
ヽ___ノと_ノ_ノ
つつまれたような
気がする・・・。
∧_∧
/ ヽ
|` ´|
`<>○<>\= oノ
/ハ\⊂二_ヽ
`/ ∧_∧ヽ |
|(´∀`)|ヽ | |ヽ
| \yノ |( |ノ |
ヽ___ノと_ノ_ノ
2019/09/15(日) 16:03:54.07ID:???
aaまであるのか
910Name_Not_Found
2019/09/15(日) 19:33:59.59ID:AQXA6Vga テトリスに関してなんですが、
if (tetro[y][x])
でブロックのいちを指定できるのはなぜですか。
if tetro[y][x] == 1{}
とかだったらわかるんですが
https://youtu.be/LJlKaTwtSdI?t=743
if (tetro[y][x])
でブロックのいちを指定できるのはなぜですか。
if tetro[y][x] == 1{}
とかだったらわかるんですが
https://youtu.be/LJlKaTwtSdI?t=743
2019/09/15(日) 20:05:31.12ID:???
2019/09/15(日) 23:05:18.40ID:???
>>910
if 文の中は Boolean 型に型変換される
if 文の中は Boolean 型に型変換される
2019/09/15(日) 23:12:05.56ID:???
2019/09/16(月) 05:52:28.95ID:???
配列の中に連想配列を格納してある場合、forEach的なループ処理はできますか?
Object.keys()の forEach は無理そうでした・・・
Object.keys()の forEach は無理そうでした・・・
2019/09/16(月) 08:09:14.35ID:???
>>914
参考: https://jsfiddle.net/Lq082r6t/
頼むから質問する時はサンプルコードを置くか、言葉を正確に使ってくれ
forEach的とか無理そうとか此方は何も分からん
参考: https://jsfiddle.net/Lq082r6t/
頼むから質問する時はサンプルコードを置くか、言葉を正確に使ってくれ
forEach的とか無理そうとか此方は何も分からん
2019/09/16(月) 08:27:08.84ID:???
foreachは一般用語だろ
2019/09/16(月) 09:23:27.19ID:???
2019/09/16(月) 11:28:10.06ID:???
0/1はわかりやすいよ
2019/09/16(月) 13:22:26.70ID:???
Ruby なら、辞書も簡単に繰り返せるけど
hash = { 1 => 9, "a" => "X" }
p hash.keys #=> [1, "a"]
hash.each { |key, val| p [ key, val ] }
出力
[1, 9]
["a", "X"]
hash = { 1 => 9, "a" => "X" }
p hash.keys #=> [1, "a"]
hash.each { |key, val| p [ key, val ] }
出力
[1, 9]
["a", "X"]
2019/09/16(月) 13:41:04.33ID:???
Ruby便利そうですね。JavaScriptの代わりとしてブラウザで
動かすにはどうしたら良いでしょうか?
Ruby2.0はChromeブラウザでネイティブに動くようになりそう
http://hoshi.air-nifty.com/diary/2012/05/ruby20chrome-d6.html
動かすにはどうしたら良いでしょうか?
Ruby2.0はChromeブラウザでネイティブに動くようになりそう
http://hoshi.air-nifty.com/diary/2012/05/ruby20chrome-d6.html
2019/09/16(月) 13:57:34.06ID:???
NCはもう死んでるいまはWASM
WASMでRubyのようなモダン言語を動かそうと思ったらエンジンごと移植しないといけないので
それならRuby2JSトランスレータ使うほうが現実的
もう数年したらWASMがGCに対応するからそこからがWebマルチ言語の本番
このページをずっとチェックしてろ
https://github.com/WebAssembly/proposals
WASMでRubyのようなモダン言語を動かそうと思ったらエンジンごと移植しないといけないので
それならRuby2JSトランスレータ使うほうが現実的
もう数年したらWASMがGCに対応するからそこからがWebマルチ言語の本番
このページをずっとチェックしてろ
https://github.com/WebAssembly/proposals
2019/09/16(月) 13:59:10.09ID:???
え?Ruby動かないんですか!?
それじゃゴミじゃないですか!
それじゃゴミじゃないですか!
2019/09/16(月) 14:00:29.05ID:???
そういうのはもう良いから
そんな言語同士で張り合うような時代じゃないから
そんな言語同士で張り合うような時代じゃないから
2019/09/16(月) 14:19:44.51ID:???
たしかに。全部jsの時代だもんな。
2019/09/16(月) 14:34:06.61ID:???
Rubyは荒らしだから触るなとあれほど・・・
2019/09/16(月) 14:39:34.32ID:???
wasmはjs製のjsコンパイラをさっさと作っとけば爆発的に流行っただろうに
2019/09/16(月) 14:50:03.65ID:???
js自体がコンパイルに向いていないのが最大のネック
929Name_Not_Found
2019/09/16(月) 14:57:35.76ID:3yY5DvmS vscodeを使っているんですが、補完してくれるアドオンないでしょうか
getcontext2dが出てこないのですが、これはもしやjavascriptと関係ないですか?
getcontext2dが出てこないのですが、これはもしやjavascriptと関係ないですか?
930Name_Not_Found
2019/09/16(月) 14:59:22.10ID:3yY5DvmS あと、fillstyleとかも出ませんね
eslintというのを使っています
eslintというのを使っています
2019/09/16(月) 15:13:37.33ID:???
getContext("2d")はHTMLCanvasElementのメソッド
fillStyleはCanvasRenderingContext2Dのプロパティ
getContextを呼び出そうとしているインスタンスがCanvasじゃなかったら当然補完は死ぬ
ESLintはLinterであって補完とか関係ない
fillStyleはCanvasRenderingContext2Dのプロパティ
getContextを呼び出そうとしているインスタンスがCanvasじゃなかったら当然補完は死ぬ
ESLintはLinterであって補完とか関係ない
932Name_Not_Found
2019/09/16(月) 15:26:16.92ID:3yY5DvmS 勘違いしてました
linterは構文チェックですね
ということは今使えているのはvscodeデフォルトの補完ということですかね
canvasを使用していますが、getcontextは補完に出てこないです
linterは構文チェックですね
ということは今使えているのはvscodeデフォルトの補完ということですかね
canvasを使用していますが、getcontextは補完に出てこないです
933920
2019/09/16(月) 16:08:53.15ID:??? >>921
Ruby は、サーバー側で使われる。
サーバー側は、Ruby on Rails, JavaScript のNode.js とか
サーバー側で、HTML を組み立てるまでが仕事
クライアント側は、jQuery, Bootstrap, Vue.js とか
最近のサーバー側では、マイクロサービスで、Go を使うこともあるらしい。
サーバー側のJava, Python などは、Rubyよりも、遥かにシェアが少ない
Ruby は、サーバー側で使われる。
サーバー側は、Ruby on Rails, JavaScript のNode.js とか
サーバー側で、HTML を組み立てるまでが仕事
クライアント側は、jQuery, Bootstrap, Vue.js とか
最近のサーバー側では、マイクロサービスで、Go を使うこともあるらしい。
サーバー側のJava, Python などは、Rubyよりも、遥かにシェアが少ない
2019/09/16(月) 16:10:37.59ID:???
getContextで保管してくれるのは難しいでしょ
('2d')に限らないんだし
ChromeのConsoleとSourceパネルのライブエディタ使って開発するしかないんじゃない
('2d')に限らないんだし
ChromeのConsoleとSourceパネルのライブエディタ使って開発するしかないんじゃない
2019/09/16(月) 16:18:21.89ID:???
getContextも引数は定数なんだから難しくはないっしょ
2019/09/16(月) 16:59:51.13ID:???
>>932
HTMLCanvasElementなら、.geぐらいで出る
getElementByIdで取得したHTMLElementでCanvasと認識されてなかったら出ない
認識させるにはTypeScriptだったら型付けるだけだけどJavaScriptだとinstanceofとかかな(分からん)
Canvasさえ認識されればgetContext("2d")の型は自動的に判明するから問題ないはず
HTMLCanvasElementなら、.geぐらいで出る
getElementByIdで取得したHTMLElementでCanvasと認識されてなかったら出ない
認識させるにはTypeScriptだったら型付けるだけだけどJavaScriptだとinstanceofとかかな(分からん)
Canvasさえ認識されればgetContext("2d")の型は自動的に判明するから問題ないはず
2019/09/16(月) 17:01:32.77ID:???
>>934
TypeScriptの型で"2d"だった場合〜って感じで定義されているから補完できる
TypeScriptの型で"2d"だった場合〜って感じで定義されているから補完できる
2019/09/16(月) 17:10:46.66ID:???
DOMツリーから探してきた要素がcanvasかどうかなんて
エディタの知ったことじゃ無いわな
エディタの知ったことじゃ無いわな
939Name_Not_Found
2019/09/16(月) 17:21:54.36ID:3yY5DvmS 型付け出来ないことが補完されない原因なら、すべての候補出しちゃえばいいんじゃないんですか
2019/09/16(月) 17:36:35.80ID:???
そんなんここで聞かれても…
どうしても補完して欲しいならtypescript使うかjsdoc形式でコメントしておくか
どうしても補完して欲しいならtypescript使うかjsdoc形式でコメントしておくか
2019/09/16(月) 17:41:34.80ID:???
>>939
それじゃあ存在しないメソッド呼んじゃうじゃん…
if (canvas instanceof HTMLCanvasElement) {
// getContext補完される
}
// 補完されない
それじゃあ存在しないメソッド呼んじゃうじゃん…
if (canvas instanceof HTMLCanvasElement) {
// getContext補完される
}
// 補完されない
942Name_Not_Found
2019/09/16(月) 17:49:37.50ID:3yY5DvmS typescriptの導入からわからんので、覚えます
2019/09/16(月) 18:07:11.39ID:???
>>941
そもそもHTMLCanvasElementなどが書き換えられていない保証がないのでは?
もしくはHTMLCanvasElementベースのカスタムエレメントでgetContextが殺されてるかもしれないし
そもそもHTMLCanvasElementなどが書き換えられていない保証がないのでは?
もしくはHTMLCanvasElementベースのカスタムエレメントでgetContextが殺されてるかもしれないし
2019/09/16(月) 18:47:16.47ID:???
>>943
HTMLCanvasElement自体の書き換え、お行儀悪過ぎるしそれはやる奴がダメな気がする
HTMLCanvasElement自体の書き換え、お行儀悪過ぎるしそれはやる奴がダメな気がする
2019/09/16(月) 18:51:32.59ID:???
>>943
殺すことなんて出来るのか?
殺すことなんて出来るのか?
2019/09/16(月) 20:06:21.12ID:???
instanceof演算子ってSymbol.hasInstanceの影響を受けるから静的解析には使えないんじゃないの?
2019/09/17(火) 02:38:42.81ID:???
javascriptには連想配列をオブジェクトと呼ぶとあったのですが、
配列用のカッコに値を格納しコンソールログで出力したところ、
オブジェクトとは違う出力結果となりました。
これは連想配列と考えてよいのでしょうか。
var a = {};
a[5] = 'abc';
a[4] = 'def';
console.log(a); // Object {4: "def", 5: "abc"}
var b = [];
b[5] = 'abc';
b[4] = 'def';
console.log(b); // [4: "def", 5: "abc"]
配列用のカッコに値を格納しコンソールログで出力したところ、
オブジェクトとは違う出力結果となりました。
これは連想配列と考えてよいのでしょうか。
var a = {};
a[5] = 'abc';
a[4] = 'def';
console.log(a); // Object {4: "def", 5: "abc"}
var b = [];
b[5] = 'abc';
b[4] = 'def';
console.log(b); // [4: "def", 5: "abc"]
2019/09/17(火) 02:46:03.99ID:???
>>947
連想配列をオブジェクトと呼ぶが、配列もまたオブジェクトなので連想配列として使えるが使わないほうが良い
連想配列をオブジェクトと呼ぶが、配列もまたオブジェクトなので連想配列として使えるが使わないほうが良い
2019/09/17(火) 06:36:27.27ID:???
連想配列なんていう用語はJS仕様にはないので
連想配列と考えてよいかどうかは自分自身が決めること
連想配列と考えてよいかどうかは自分自身が決めること
2019/09/17(火) 08:23:47.11ID:???
Mapあるじゃん
2019/09/17(火) 12:31:33.93ID:???
確かにMapが近いだろうが、最終的には個々の「連想配列」のイメージに引きずられるからな
標準仕様で定義されていない用語は使わない方が混乱が少ない
https://teratail.com/questions/211927
標準仕様で定義されていない用語は使わない方が混乱が少ない
https://teratail.com/questions/211927
2019/09/17(火) 13:28:05.79ID:???
配列は、キーを数値だけに限定したもの
Object を、連想配列・辞書のように使うと、__proto__ というキーでバグるから、要注意!
Haxe では、キーの前に、@ を連結してた
キーがabc なら、@abc にする。
__proto__ なら、@__proto__ になるのでバグらない
ES2015 以降なら、Map を使えばよい
Object を、連想配列・辞書のように使うと、__proto__ というキーでバグるから、要注意!
Haxe では、キーの前に、@ を連結してた
キーがabc なら、@abc にする。
__proto__ なら、@__proto__ になるのでバグらない
ES2015 以降なら、Map を使えばよい
2019/09/17(火) 17:46:41.98ID:???
型付きの配列っていつから入ったっけ?
2019/09/17(火) 18:16:57.35ID:???
Mapにreduceやfilterがないのはなぜ?
配列にしては低機能過ぎでは?
配列にしては低機能過ぎでは?
2019/09/17(火) 18:43:41.43ID:???
無くても困らないからです
2019/09/17(火) 19:22:10.02ID:???
>>955
ES3時代の配列で満足なのね
ES3時代の配列で満足なのね
2019/09/17(火) 20:23:13.67ID:???
http://www2u.biglobe.ne.jp/~oz-07ams/2002/ecma262r3/15-4_Array_Objects.html
new MapはES3のArrayにも及ばないんじゃないかな
sort,slice,unshift,concat...etc
配列としては足りない機能がかなりある
new MapはES3のArrayにも及ばないんじゃないかな
sort,slice,unshift,concat...etc
配列としては足りない機能がかなりある
2019/09/17(火) 20:34:11.67ID:???
>>947 です。
配列用のカッコでも行けるけど使わない方がよいのですね。
forのiと連動させつつ、歯抜けでpushして配列使えたらよいなと
試してみたところでして。
普通にオブジェクトか配列きちんと埋めて使います。
ありがとうございました
配列用のカッコでも行けるけど使わない方がよいのですね。
forのiと連動させつつ、歯抜けでpushして配列使えたらよいなと
試してみたところでして。
普通にオブジェクトか配列きちんと埋めて使います。
ありがとうございました
2019/09/17(火) 20:40:33.75ID:???
2019/09/17(火) 22:00:28.65ID:???
2019/09/18(水) 13:40:07.67ID:???
const str = `abc
123`
const lines = str.split( "\n" ); // 配列
console.log( lines ) //=> [ 'abc', '123' ]
1行ずつ処理するのに、上のように、split を使って、一旦配列に入れたのですが、
下のRuby みたいに、配列に入れずに、そのまま1行ずつ処理できますか?
str = <<"EOT"
abc
123
EOT
str.each_line do |line|
line.chomp! # 末尾の改行を削除する
p line
end
出力
"abc"
"123"
123`
const lines = str.split( "\n" ); // 配列
console.log( lines ) //=> [ 'abc', '123' ]
1行ずつ処理するのに、上のように、split を使って、一旦配列に入れたのですが、
下のRuby みたいに、配列に入れずに、そのまま1行ずつ処理できますか?
str = <<"EOT"
abc
123
EOT
str.each_line do |line|
line.chomp! # 末尾の改行を削除する
p line
end
出力
"abc"
"123"
2019/09/18(水) 16:22:21.37ID:???
str.split('\n').forEach(line => console.log(line))
str.replace(/.+/gm, line => console.log(line))
str.replace(/.+/gm, line => console.log(line))
2019/09/18(水) 17:27:38.91ID:???
下の方そんな動作するんだ。意外だ
2019/09/18(水) 22:38:26.97ID:???
下で空行処理する場合は適当に変えてね
2019/09/19(木) 07:17:22.03ID:???
2019/09/19(木) 12:13:34.77ID:???
知ったかが無知に解説
2019/09/19(木) 19:22:46.18ID:???
>>966
知ったか乙
知ったか乙
2019/09/19(木) 20:19:00.15ID:???
2019/09/19(木) 23:29:34.25ID:???
mはなんとなく付けてしまった
2019/09/20(金) 01:35:52.57ID:???
ちょっと見ない間に定数宣言もできるようになったんか
2019/09/20(金) 02:10:30.22ID:???
>>964
空行も処理するのは、
console.log(str.replace(/^.*$/gm, line => line + ' peropero'))
または、
for (const line of /^.*$/gm) console.log(line + ' peropero')
空行も処理するのは、
console.log(str.replace(/^.*$/gm, line => line + ' peropero'))
または、
for (const line of /^.*$/gm) console.log(line + ' peropero')
972Name_Not_Found
2019/09/20(金) 02:28:18.29ID:9OhScHGM 質問です
let str1 = '庭には二羽鶏がいるオムライス食べたい2日目';
let str2 = 'にわにはにわにわとりがいるおむらいすたべたいふつかめ';
このstr2のテキストから
str1の中の平仮名以外の文字の読み仮名に該当する部分を取り出したくて試行錯誤してます
str1を平仮名とそれ以外に割って
['庭','には','二羽鶏','がいる','オムライス食','べたい','2日目']
str2の先頭から、配列2つ目の「には」が出てくるまでが
配列1つ目の「庭」の読み仮名だ!
という方針でやってみて、上記の例だとうまくいくんですが
indexOfの引数になる平仮名が漢字の読みに含まれてしまうと失敗します
let str1 = '煮蛤には焼酎よりも日本酒';
let str2 = 'にはまぐりにはしょうちゅうよりもにほんしゅ';
これだと、配列2つ目の「には」が、読み仮名となる「にはまぐり」に含まれてしまうので
どうも方針が間違ってる気がしているのですが
なにかうまいやり方はありますでしょうか
let str1 = '庭には二羽鶏がいるオムライス食べたい2日目';
let str2 = 'にわにはにわにわとりがいるおむらいすたべたいふつかめ';
このstr2のテキストから
str1の中の平仮名以外の文字の読み仮名に該当する部分を取り出したくて試行錯誤してます
str1を平仮名とそれ以外に割って
['庭','には','二羽鶏','がいる','オムライス食','べたい','2日目']
str2の先頭から、配列2つ目の「には」が出てくるまでが
配列1つ目の「庭」の読み仮名だ!
という方針でやってみて、上記の例だとうまくいくんですが
indexOfの引数になる平仮名が漢字の読みに含まれてしまうと失敗します
let str1 = '煮蛤には焼酎よりも日本酒';
let str2 = 'にはまぐりにはしょうちゅうよりもにほんしゅ';
これだと、配列2つ目の「には」が、読み仮名となる「にはまぐり」に含まれてしまうので
どうも方針が間違ってる気がしているのですが
なにかうまいやり方はありますでしょうか
973972
2019/09/20(金) 02:35:48.52ID:9OhScHGM2019/09/20(金) 03:24:22.65ID:???
>>971
$が不要では?
$が不要では?
2019/09/20(金) 06:18:09.57ID:???
2019/09/20(金) 06:41:03.69ID:???
>>975
「知ったか」と「無知」にレスアンカーを付けないで、なぜ通じると思ったんだ?
「知ったか」と「無知」にレスアンカーを付けないで、なぜ通じると思ったんだ?
2019/09/20(金) 06:58:37.28ID:???
2019/09/20(金) 07:22:40.81ID:???
>972
漢字部分を.+に置き換えた正規表現でひとつのマッチは
得られると思う。
ただ、受理できる全パターンの列挙とその中から
正解を選び出す手段は別に必要かな。
漢字部分を.+に置き換えた正規表現でひとつのマッチは
得られると思う。
ただ、受理できる全パターンの列挙とその中から
正解を選び出す手段は別に必要かな。
2019/09/20(金) 07:55:43.75ID:???
>>972
漢字と平仮名の対応表なしに正解を導き出すのは不可能
庭にわ二羽庭
にわにわにわにわ
プロクラムには、各々の漢字の「にわ」と「にわにわ」を区別出来ない
全パターンを掲示して、人間に正解を選んで貰うのが次善解
漢字と平仮名の対応表なしに正解を導き出すのは不可能
庭にわ二羽庭
にわにわにわにわ
プロクラムには、各々の漢字の「にわ」と「にわにわ」を区別出来ない
全パターンを掲示して、人間に正解を選んで貰うのが次善解
2019/09/20(金) 09:12:16.47ID:???
>>974
たしかに。
たしかに。
981972
2019/09/20(金) 12:53:22.10ID:9OhScHGM2019/09/20(金) 13:52:27.02ID:???
考えないで脳死回答すると後ろからみていきゃいいんじゃね
2019/09/20(金) 14:17:40.16ID:???
別のAPI使えば良いんじゃね
https://developer.yahoo.co.jp/webapi/jlp/ma/v1/parse.html
https://developer.yahoo.co.jp/webapi/jlp/ma/v1/parse.html
984972
2019/09/20(金) 14:32:09.50ID:9OhScHGM985972
2019/09/20(金) 16:04:24.35ID:9OhScHGM >>983
いろいろゴニョゴニョしたんですが
最初は茶筅の形態素解析を使って失敗していたんですが
gooラボの形態素解析APIは品詞分解した結果に読み仮名が付いていました!
これでかなり精度上がりました
ありがとうございました!
いろいろゴニョゴニョしたんですが
最初は茶筅の形態素解析を使って失敗していたんですが
gooラボの形態素解析APIは品詞分解した結果に読み仮名が付いていました!
これでかなり精度上がりました
ありがとうございました!
2019/09/20(金) 17:05:18.44ID:???
おう良かったな
987Name_Not_Found
2019/09/20(金) 18:57:52.46ID:YH5m6cro >>981
おもしろそうなのでちょっとやってみた。
const kanafuri = (漢字かな混じり文, かな文) => {
const matches = [...漢字かな混じり文.matchAll(/(?<ひらがな>\p{Script=Hiragana}+)|(?<ひらがな以外>[\P{Script=Hiragana}]+)/gu)]
const 行頭の文字種 = matches[0].groups.ひらがな ? 'ひらがな' : 'ひらがな以外'
const 行末の文字種 = matches[matches.length - 1].groups.ひらがな ? 'ひらがな' : 'ひらがな以外'
const ひらがなchunks = matches.filter(({groups: {ひらがな}}) => ひらがな).map(([match]) => match)
const [_, ...よみがなchunks] = RegExp((行頭の文字種 === 'ひらがな以外' ? '(.+)' : '') + ひらがなchunks.join`(.+)` + (行末の文字種 === 'ひらがな以外' ? '(.+)' : ''), 'gu').exec(かな文)
result = ''
for (const {groups: {ひらがな, ひらがな以外}} of matches) {
if (ひらがな) {
// ひらがなのときの処理
result += ひらがな
} else {
// ひらがな以外のときの処理
result += ひらがな以外 + '【' + よみがなchunks.shift() + '】'
}
}
return result
}
おもしろそうなのでちょっとやってみた。
const kanafuri = (漢字かな混じり文, かな文) => {
const matches = [...漢字かな混じり文.matchAll(/(?<ひらがな>\p{Script=Hiragana}+)|(?<ひらがな以外>[\P{Script=Hiragana}]+)/gu)]
const 行頭の文字種 = matches[0].groups.ひらがな ? 'ひらがな' : 'ひらがな以外'
const 行末の文字種 = matches[matches.length - 1].groups.ひらがな ? 'ひらがな' : 'ひらがな以外'
const ひらがなchunks = matches.filter(({groups: {ひらがな}}) => ひらがな).map(([match]) => match)
const [_, ...よみがなchunks] = RegExp((行頭の文字種 === 'ひらがな以外' ? '(.+)' : '') + ひらがなchunks.join`(.+)` + (行末の文字種 === 'ひらがな以外' ? '(.+)' : ''), 'gu').exec(かな文)
result = ''
for (const {groups: {ひらがな, ひらがな以外}} of matches) {
if (ひらがな) {
// ひらがなのときの処理
result += ひらがな
} else {
// ひらがな以外のときの処理
result += ひらがな以外 + '【' + よみがなchunks.shift() + '】'
}
}
return result
}
988Name_Not_Found
2019/09/20(金) 19:06:33.56ID:YH5m6cro >>987
const str1_漢字 = '庭には二羽鶏がいるオムライス食べたい2日目'
const str1_かな = 'にわにはにわにわとりがいるおむらいすたべたいふつかめ'
const str2_漢字 = '煮蛤には焼酎よりも日本酒'
const str2_かな = 'にはまぐりにはしょうちゅうよりもにほんしゅ'
const str3_漢字 = 'あのイーハトーヴォのすきとおった風、夏でも底に冷たさをもつ青いそら、' + //5ch制限のため改行
'うつくしい森で飾られたモリーオ市、郊外のぎらぎらひかる草の波。'
const str3_かな = 'あのいーはとーゔぉのすきとおったかぜ、なつでもにわにつめたさをもつあおいそら、' + //5ch制限のため改行
'うつくしいもりでかざられたもりーおし、こうがいのぎらぎらひかるくさのなみ。'
console.log(kanafuri(str1_漢字, str1_かな))
//=> 庭【にわ】には二羽鶏【にわにわとり】がいるオムライス食【おむらいすた】べたい2日目【ふつかめ】
console.log(kanafuri(str2_漢字, str2_かな))
//=> 煮蛤【にはまぐり】には焼酎【しょうちゅう】よりも日本酒【にほんしゅ】
console.log(kanafuri(str3_漢字, str3_かな))
//=> あのイーハトーヴォ【いーはとーゔぉ】のすきとおった風、夏【かぜ、なつ】でも底【にわ】に冷【つめ】たさをもつ青【あお】いそら、【、】
//5ch制限のため改行
うつくしい森【もり】で飾【かざ】られたモリーオ市、郊外【もりーおし、こうがい】のぎらぎらひかる草【くさ】の波。【なみ。】
、や。の扱いが不服だが疲れたのでここまでにする。
参考:
Unicode property escapes
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions/Unicode_Property_Escapes
Unicodeの文字プロパティを指定した正規表現をみてみる(ECMAScript2018)
https://blog.tes.co.jp/entry/2018/06/29/145450
const str1_漢字 = '庭には二羽鶏がいるオムライス食べたい2日目'
const str1_かな = 'にわにはにわにわとりがいるおむらいすたべたいふつかめ'
const str2_漢字 = '煮蛤には焼酎よりも日本酒'
const str2_かな = 'にはまぐりにはしょうちゅうよりもにほんしゅ'
const str3_漢字 = 'あのイーハトーヴォのすきとおった風、夏でも底に冷たさをもつ青いそら、' + //5ch制限のため改行
'うつくしい森で飾られたモリーオ市、郊外のぎらぎらひかる草の波。'
const str3_かな = 'あのいーはとーゔぉのすきとおったかぜ、なつでもにわにつめたさをもつあおいそら、' + //5ch制限のため改行
'うつくしいもりでかざられたもりーおし、こうがいのぎらぎらひかるくさのなみ。'
console.log(kanafuri(str1_漢字, str1_かな))
//=> 庭【にわ】には二羽鶏【にわにわとり】がいるオムライス食【おむらいすた】べたい2日目【ふつかめ】
console.log(kanafuri(str2_漢字, str2_かな))
//=> 煮蛤【にはまぐり】には焼酎【しょうちゅう】よりも日本酒【にほんしゅ】
console.log(kanafuri(str3_漢字, str3_かな))
//=> あのイーハトーヴォ【いーはとーゔぉ】のすきとおった風、夏【かぜ、なつ】でも底【にわ】に冷【つめ】たさをもつ青【あお】いそら、【、】
//5ch制限のため改行
うつくしい森【もり】で飾【かざ】られたモリーオ市、郊外【もりーおし、こうがい】のぎらぎらひかる草【くさ】の波。【なみ。】
、や。の扱いが不服だが疲れたのでここまでにする。
参考:
Unicode property escapes
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions/Unicode_Property_Escapes
Unicodeの文字プロパティを指定した正規表現をみてみる(ECMAScript2018)
https://blog.tes.co.jp/entry/2018/06/29/145450
2019/09/20(金) 19:44:22.15ID:???
990Name_Not_Found
2019/09/20(金) 19:55:31.65ID:YH5m6cro まあもうスレも終わりだしまた今度な。
2019/09/20(金) 20:00:14.89ID:???
> また今度な。
絶対やらないパターンな
絶対やらないパターンな
992Name_Not_Found
2019/09/20(金) 20:18:23.94ID:YH5m6cro イーハトーヴォのかな文、誤字ったぜ…
底をにわって書いちゃったんだぜ。
例文1でにわにわうるさいから…
底をにわって書いちゃったんだぜ。
例文1でにわにわうるさいから…
993972
2019/09/20(金) 20:18:33.26ID:9OhScHGM2019/09/20(金) 23:04:30.94ID:???
インデントが無くなっても、VSCode のフォーマットの拡張機能で、自動的にインデントされるだろ?
2019/09/21(土) 00:19:45.06ID:???
5ちゃんに長々と書かれてるコードをいちいちエディタにペーストしないわ
2019/09/21(土) 00:25:51.17ID:???
つまり5ちゃんに長々と書くことによって、みんながコードをいちいちエディタにペーストする手間を省いたわけだ。親切!
2019/09/21(土) 08:35:31.08ID:???
アスペ
2019/09/21(土) 08:36:46.90ID:???
次スレはどっち使うの?
2019/09/21(土) 15:27:48.45ID:???
>>981
スピーチAPIを利用したらできる
スピーチAPIを利用したらできる
1000Name_Not_Found
2019/09/21(土) 17:08:00.94ID:??? >>999
形態素解析APIで解決したって言ってんだろうがマヌケ
形態素解析APIで解決したって言ってんだろうがマヌケ
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 77日 22時間 54分 33秒
新しいスレッドを立ててください。
life time: 77日 22時間 54分 33秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 地方で深刻移動貧困の実態「車のために働いてる」手取り15万円のシンママ月3.2万円が軽自動車の維持費 [七波羅探題★]
- 「これらも違反として検挙しています」岡山県警の注意喚起に「教習所行き直したほうがいい」 [試オ波羅探題★]
- 【ファッション】「同級生に笑われたことも」現役女子大生が「全身レギンス姿」で大学に通う理由…日本に「アスレジャー」は定着するのか [湛然★]
- 【芸能】奈良・橿原市に「エドモンド本田」突っ張り銅像…市長「世界中の人に楽しんでもらいたい」 [湛然★]
- SNSを一触即発の“地雷原”に変えた「叩き活」の正体…推し活よりも“嫌いな相手を叩く”ことに快感を覚えるのはなぜか [おっさん友の会★]
- 外国人の不動産所有状況を一元管理、登記・国籍を登録…27年度にも運用へ政府調整 [蚤の市★]
- 【悲報】女子「なんで男って酔ってる時襲わないの?ばかなの?」→38000いいね!酔った女はセックスを求めてることが判明 [802034645]
- 古市憲寿「スタジオでも中国批判して気持ち良くなってる人はいるが高市答弁で日本人は損してる。国益を害した」スタジオ凍りつく★2 [931948549]
- 【悲報】自転車乗り、4月から終わる 普通に乗ってても2万3000円くらい罰金を取られる [455031798]
- 【悲報】中国🇨🇳、完全にカードが尽きる
- VRChat男性、メス化し始める・・・ [329329848]
- 教科書体の「座」で抜いたww
