2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

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

1 : ◆SEdFBOkLSw (スププ Sdb8-t1qj):2016/08/29(月) 08:21:23.08 ID:zn5a5dIZd.net
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-6のテンプレを読んだ上で質問してください。次スレは>>950>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください

■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
  (ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
  具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
  わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
  ※必ず「問題の事象が再現されること」を確認してください。
   必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) ライブラリ関連の質問は禁止です。関連スレにあるライブラリ質問スレで質問して下さい。
(10) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
※前スレ
+ JavaScript の質問用スレッド vol.121 +
http://echo.2ch.net/test/read.cgi/tech/1468158373/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured

2 : ◆SEdFBOkLSw (スププ Sdb8-t1qj):2016/08/29(月) 08:22:19.52 ID:zn5a5dIZd.net
■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。(ex: IE8, Firefox4)
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
 1レスに収まらないならコード投稿サイトを利用してください。
 http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/

■前スレ
+ JavaScript の質問用スレッド vol.120 + [無断転載禁止]c2ch.net
http://echo.2ch.net/test/read.cgi/tech/1463914293/

■過去スレ全集
http://www2.atpages.jp/mirror/2ch/javascript/
http://usamimi.info/~mirrorhenkan/2ch/javascript/ (閲覧のみ)

■テンプレ案
https://fiddle.jshell.net/6018r9tu/1/show/light/

■関連スレ
JavaScript ライブラリ総合質問所 vol.5 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/hp/1465399470/
JavaScript & jQuery 質問用スレッド vol.6 + [無断転載禁止]c2ch.net
http://echo.2ch.net/test/read.cgi/hp/1465566635/
【node.js】サーバサイドjavascript 4【io.js】 [無断転載禁止]c2ch.net
http://echo.2ch.net/test/read.cgi/tech/1460359714/
(X)HTML/CSS の質問に優しく答えるスレ23 [無断転載禁止]c2ch.net
http://echo.2ch.net/test/read.cgi/hp/1467511443/
Canvasについて語ろう
http://peace.2ch.net/test/read.cgi/hp/1305093769/

3 : ◆Pj4prouD92 (スププ Sdb8-LFRZ):2016/08/29(月) 08:24:24.04 ID:zn5a5dIZd.net
■FAQ
http://fiddle.jshell.net/vSqKr/44/show/light/

◆開発者ツール(Developer Tools)の基本的な使い方 (全部はhttp://fiddle.jshell.net/vSqKr/44/show/light/#Browser-Developer-Tools )
 ▼諸注意
  - 本説明では Google Chrome の開発者ツールの名称に従います。他ブラウザで使う場合は適宜読み替えて下さい。
  - IE9- でコンソールを使うには予め開発者ツールを起動しておく必要があります(開発者ツールを起動しないと 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プロパティの算出値を表示(

4 : ◆SEdFBOkLSw (スププ Sdb8-LFRZ):2016/08/29(月) 08:25:42.49 ID:zn5a5dIZd.net
■FAQ(続き)
◆JavaScriptの実行速度
JavaScriptの速度は「ブラウザ名」「ブラウザのバージョン」「PCスペック」に依存します(ブラウザのバージョン毎に最適化具合が異なります)。
速度の疑問解消の為に http://jsperf.com/ にコードをUPしてブラウザ毎に速度計測する事を推奨します。
例外として、仕様における理論上の速度が明確になっている場合があります。
例えば、正規表現によるマッチング処理を考えた場合、「RegExp#test > RegExp#exec > String#match」は ES5 仕様で保証されています。
ES5 仕様において RegExp#test が最も処理数が少なく、String#match が最も処理数が多いことが明確だからです。
ブラウザによっては RegExp#test の最適化が十分でなく、String#match の最適化が RegExp#test より十分であれば逆転する可能性はありますが、各メソッドの最適化が一律であればこの前提が崩れる事はありません。

■各種仕様 ( http://fiddle.jshell.net/vSqKr/44/show/light/#Link も参照 )
◆ 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 和訳)

5 : ◆Pj4prouD92 (スププ Sdb8-LFRZ):2016/08/29(月) 08:26:07.58 ID:zn5a5dIZd.net
■FAQ
http://fiddle.jshell.net/vSqKr/44/show/light/

◆開発者ツール(Developer Tools)の基本的な使い方 (全部はhttp://fiddle.jshell.net/vSqKr/44/show/light/#Browser-Developer-Tools )
 ▼諸注意
  - 本説明では Google Chrome の開発者ツールの名称に従います。他ブラウザで使う場合は適宜読み替えて下さい。
  - IE9- でコンソールを使うには予め開発者ツールを起動しておく必要があります(開発者ツールを起動しないと 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プロパティの算出値を表示(

6 : ◆SEdFBOkLSw (スププ Sdb8-t1qj):2016/08/29(月) 08:28:22.86 ID:zn5a5dIZd.net
■各種仕様 (続き)
◆ 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

7 : ◆SEdFBOkLSw (スププ Sdb8-t1qj):2016/08/29(月) 08:28:57.37 ID:zn5a5dIZd.net
■各種仕様 (続き)
◆ 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

8 : ◆SEdFBOkLSw (スププ Sdb8-t1qj):2016/08/29(月) 08:29:18.16 ID:zn5a5dIZd.net
■諸注意
vol.115でlodashを不必要に推奨して啓蒙する行為が多く確認されており、ライブラリ系の質問はvol.116から禁止されました。
vol.115,116ではライブラリ禁止する発言が見られた直後にライブラリを許可する意図で次スレを立てる行為が確認されています。
本スレッドでライブラリ許可を求める発言が確認された場合は不要な争いを避ける為、スルーすることを推奨します。
ライブラリの質問はライブラリスレへ誘導し、誘導行為への反論はスルーしてください。

-----ここまでテンプレ-----

9 :デフォルトの名無しさん (ワッチョイ 2aa7-gQqU):2016/08/29(月) 12:07:07.79 ID:uRu8v7uy0.net
取りあえず一乙だけどレスポンチは他所でやってほしい

10 : ◆SEdFBOkLSw (スプッッ Sdc8-t1qj):2016/08/29(月) 12:12:04.30 ID:v+VBJ2wid.net
>>9
うん、それはマジですまんかった。
新しいスレ立ててもらえたようだし、ワッチョイもやってみたし、迷惑掛けた分多少なりとも貢献させてくれ。

11 :デフォルトの名無しさん (ワッチョイ 7f5b-gQqU):2016/08/30(火) 19:50:02.89 ID:XVRDpTr20.net
一乙ワッチョイ乙。

個人的にはやりたいことをやればいいと思うから、
「スレを乗っ取る」のではなく、「新しいスレを立てて何かやる」のはいいと思うよ。
今回はその新しいスレが「質問スレ」と銘打っているから駄目だと思うけど。

仕様について語りたい人が多いのなら、「仕様スレ」を立てればいいんだよ。
人を集めるのが面倒だからといって、既存スレを乗っ取るのは駄目だよ。
結果的に「質問スレ」「仕様スレ」と並立した状態で、質問スレが過疎って落ちるのなら、
それは不要という意味だから、その時統合すればいいだけ。
それ以前に無理矢理方針変更するのは、ただの乗っ取りでしかない。
質問スレは単独で十分流れているわけだし。

前回何故か「仕様スレ」が放置されて落ちたでしょ。
それも含めて単独で「仕様スレ」が存在出来ないと考えて「質問スレ」としたのなら姑息だよ。
単独で存在出来ないのならそれは需要がないということでしかない。
それでも需要を掘り起こしたいのなら、ぬしって保守していくしかない。

自分では何もする気がなくて、他人が作り上げた物を横取りすることしか考えないのは、ただのクズだよ。
実際、君らには「仕様スレ」が必要なのだろう?
だったら姑息なことをせずに正面から「仕様スレ」立てて勝負すれば良かっただけの話だよ。
それが落ちたらそれまでの話でね。別に殺されるわけでもなし。

というのが今回の顛末で思ったことだね。


はい、では次の質問どうぞ。

12 : ◆SEdFBOkLSw (アウアウ Sa45-t1qj):2016/08/31(水) 02:07:12.14 ID:hBi44Zvna.net
>>11
いや、俺にそこまでの強い意図があったわけでは無いんだ。
質問スレで、間違ってる答えってのはその中で訂正、再発言されて然るべきだと思って、おかしいんじゃねえの?
って言ったのを、良くわからん理屈で訂正どころか、
間違いに間違いを重ねるから。

訂正してほしかっただけよ。後続の人のために。
売り言葉に買い言葉になっているだけで仕様を語りたいわけでは(俺は)無くて、間違ってなければそれで良いよ。どんな話してても。

13 :デフォルトの名無しさん (ワッチョイ 7dce-gQqU):2016/08/31(水) 03:17:11.25 ID:Z+fjIbnf0.net
訂正してほしかったじゃなくて、お前が訂正するんだよ。
正しい情報をちゃんとしたソース込みで。

相手はちゃんとソース出しているんだから、
お前がそれよりも信頼できるソースを出せない以上、
相手が正しいで終わりだろ。

14 : ◆SEdFBOkLSw (アウアウ Sa45-t1qj):2016/08/31(水) 07:41:52.69 ID:VVMtMJPza.net
>>13
平行線だろ。
こっちが、ソースやら考え方を話しても聞かないんだから。
だから説得は諦めた。

15 :デフォルトの名無しさん (ワッチョイ 27b1-CT9T):2016/08/31(水) 07:49:31.73 ID:xPKmFyyb0.net
以下の言語がいいよって言われたんですが聞き取り間違えたのか検索しても出てきませんでした。
ホトリン
正確な言語名を教えて欲しいです。

16 :デフォルトの名無しさん (ワッチョイ 11a1-qQHP):2016/08/31(水) 20:30:25.87 ID:VPZCfIA10.net
kotlinじゃないかな
間違ってたらすまん

17 :デフォルトの名無しさん (ワッチョイ 75ce-gQqU):2016/08/31(水) 23:30:36.59 ID:mxX4GOAr0.net
ポワトリン
年齢がわかる

18 :デフォルトの名無しさん (オッペケ Sr8f-RETc):2016/09/01(木) 01:07:46.75 ID:vX3kyOFIr.net
ここが比較的まともだな

19 : ◆SEdFBOkLSw (アウアウ Sacf-RETc):2016/09/01(木) 07:30:55.95 ID:x5Fi8ahca.net
ガンは切らないとね。

20 :デフォルトの名無しさん (オッペケ Sr8f-RETc):2016/09/01(木) 08:21:27.50 ID:bs0MIC6Pr.net
>>19
だったら、向こうのスレでレスするのを止めなよ

21 : ◆SEdFBOkLSw (スププ Sd5f-RETc):2016/09/01(木) 11:17:03.88 ID:4NaaelJAd.net
>>20
あっちが閑古鳥鳴いたら来ちゃうじゃん。

22 :デフォルトの名無しさん (オッペケ Sr8f-RETc):2016/09/01(木) 13:36:19.91 ID:Z7/OzEHdr.net
>>21
構わなければあの話題に関しては自然消滅するでしょ
あっちが本スレだと勘違いする人も出てくるだろうし、スルーが一番

23 :デフォルトの名無しさん (ワッチョイ 17c9-wh/5):2016/09/01(木) 18:09:09.45 ID:yAfRysov0.net
promiseのチェーンをn個動的につなげたいときはどうしたらいいの?

24 :デフォルトの名無しさん (ワッチョイ 17c9-wh/5):2016/09/01(木) 18:17:54.49 ID:yAfRysov0.net
a().then(b).then(c).then(d);

これをこう書き
function run(a){
return a[0]().then(a[1]).then(a[2]).then(a[3]);
}

a[] を4個固定じゃなくてn個にしたい

25 :デフォルトの名無しさん (オッペケ Sr8f-RETc):2016/09/01(木) 18:44:11.05 ID:P+2ORA+3r.net
>>24
Promise.all の事?

26 :デフォルトの名無しさん (ワッチョイ 17c9-wh/5):2016/09/01(木) 19:14:13.95 ID:yAfRysov0.net
>>25
allじゃない。 thenの方。

27 :デフォルトの名無しさん (ワッチョイ efce-wh/5):2016/09/01(木) 20:03:48.39 ID:EP8ZkXWM0.net
>>23-24
PromiseはECMAScriptの範囲なので

+ JavaScript(ECMAScript)質問用スレッド vol.122 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1472401404/

こっちのほうがふさわしい。

28 : ◆SEdFBOkLSw (アウアウ Sacf-RETc):2016/09/01(木) 21:56:03.01 ID:x5Fi8ahca.net
>>24
var f=function (a){
var y=a.shift();
if(y) y().then(function(){f(a)})
}
で全部いけるんでないの?

29 :デフォルトの名無しさん (アウアウ Sacf-vSVO):2016/09/01(木) 22:40:36.60 ID:ZxoQ7kpta.net
>>26
処理の連続性は保証されるはずだが、Promise.all では要件を満たせないのだな?
並列処理がNGなら下記URLを参考に
http://azu.github.io/promises-book/#promise-sequence

30 :デフォルトの名無しさん (ワッチョイ f3ce-wh/5):2016/09/01(木) 22:41:37.26 ID:scPPFiSF0.net
>>26
こっちに答えがあったよ。
http://echo.2ch.net/test/read.cgi/tech/1472401404/130

31 :デフォルトの名無しさん (ワッチョイ eb5b-wh/5):2016/09/01(木) 22:59:22.58 ID:+SVnGf+J0.net
>>28
前から思ってるんだけど、何でお前らそんな奇妙なコードを書くの?
そういう可変長ループはwhileが鉄板で、>>24はそれを知らないだけだろ?
関数型()でインミュータブル()なら、shift使っちゃ駄目だと思うし。(俺は詳しくないが)

そのコード自体は自前Promiseとしてarrayを持ち、途中で挿入も出来るから、
そういった用途には面白いと思うよ。
ただ、普通は>>24に対してそれはない。
というか、お前らどこで習った?或いは誰を参考にしてそのコードを書いてる?

>>24
while使って書いてみ?
正直、書くのは手間ではないのだけど、コードクレクレ君が集まるのはウザイから、
今回の質問レベルならコピペで動くコードを書く気はない。
ただ、十分なヒントだと思うから、クレクレ君でなければ書けると思うが。

32 : ◆SEdFBOkLSw (アウアウ Sacf-RETc):2016/09/01(木) 23:19:49.59 ID:x5Fi8ahca.net
>>31
while使って書くって、プロミスなのに?
順序が保証できるのならそれで良いとは思うけど。
別に、shiftでも、carとcdrに相当するものでも良いよ。
どこも奇妙じゃないと思うけど。

33 :デフォルトの名無しさん (ワッチョイ eb5b-wh/5):2016/09/01(木) 23:29:32.66 ID:+SVnGf+J0.net
>>32
いや俺はPromise使ったことがないからその辺詳しくはないが、
>>24なら見た目普通に書けそうだが駄目なのか?
そもそも>>24が駄目(動かないコード)なのか?そうだったら済まんかった。

やはりcarとcdrか。
つかcar/cdrで抽象化している関数型みたいな奴って、一般的にarrayを破壊的に使うものなのか?
(lispなら最近の大富豪プログラミング以前だからそうなのかもしれんが、
多分最近の関数型なら嫌われるのでは?)

34 :デフォルトの名無しさん (ワッチョイ f3ce-wh/5):2016/09/01(木) 23:31:41.25 ID:scPPFiSF0.net
>>31
◆SEdFBOkLSw は技術レベル低いくせに
口ばっかりうるさいやつですから・・・
これまでも何度となく、意味不明なこと言ってるよw

35 :デフォルトの名無しさん (ワッチョイ eb5b-wh/5):2016/09/01(木) 23:46:42.27 ID:+SVnGf+J0.net
うーん、一応PromiseをMDNで確認してみたけど、書けると思うけどね。
見た目、functionで入れ子になるのが嫌で、タマネギ型オブジェクトにしてみただけだろ?
まあ、俺は使ったことがないから、壮絶な勘違いをしているかもしれんが。

ちなみに>>30は「タマネギ型」であることを説明しているわけだが、
それは>>24見る限り本人は分かってると思うんだよ。
そうではなくて、「n個にしたい」って言ってるんだから、そこを答えないと意味無いだろ。
なんつーか、Promise知ってる俺カッケーな答えでしかないんだよ。>>30は。

36 :デフォルトの名無しさん (ワッチョイ f3ce-wh/5):2016/09/01(木) 23:52:20.69 ID:scPPFiSF0.net
n個にしたいなら、i < 10 の代わりに
i < n にすればいいだけじゃんw

37 :デフォルトの名無しさん (ワッチョイ eb5b-wh/5):2016/09/01(木) 23:57:35.19 ID:+SVnGf+J0.net
だからそこを説明しろってこと。Promiseの説明全くいらんよね。

というか、これを書けないレベルの人がPromiseの使用を強制されられるところが
若干JavaScriptは歪んでる。まあこれも前から思っていることだが。

38 :デフォルトの名無しさん (ワッチョイ f3ce-wh/5):2016/09/02(金) 00:00:22.58 ID:gFIXdWf60.net
>>24本人、そしてそれ以外の人は、これでわかってるよw
http://echo.2ch.net/test/read.cgi/tech/1472401404/130

お前だけが分かってない。

39 : ◆SEdFBOkLSw (アウアウ Sacf-RETc):2016/09/02(金) 00:26:17.09 ID:nUqjDcPOa.net
>>33
まぁ、破壊されたものを次に渡してるし、参照型で渡ってるから気持ち悪いだけで、破壊せずに渡してもいいと思うよ。
多分嫌われるw

>>34
本質理解してないお前よりマシだけどな。
なんだあのセンス無いやつ。

>>35
thenの中はコールバック関数で遅延評価だから、whileだと終わったかどうかわかんないと思うけど、どんなソース想定してる?

40 :デフォルトの名無しさん (ワッチョイ eb5b-wh/5):2016/09/02(金) 00:40:54.92 ID:oKN/Shh+0.net
>>39
いやPromiseで書くのはあくまで処理の事前予約だよな?
そこは変更不能だし、同期的に確定する。
もちろん中身の関数は実際には後に呼ばれるけど、
一般的にそれを「遅延評価」とは表現しない。

俺の想定しているコードなら、>>30をwhileに変えただけに近い。
とりあえず君の言い分が正しいのなら、>>30は間違いだということになるが、そうか?

41 : ◆SEdFBOkLSw (アウアウ Sacf-RETc):2016/09/02(金) 01:01:25.21 ID:nUqjDcPOa.net
>>40
あー、そういう事か。いや、間違ってない。面目ないな。

入れ替えると言うか、それごと変えるという事か。
それは再帰とどっちが良いのかは目的次第かもしれん。
俺は残り回数渡して再帰すると思うわ。setTimeoutで包んで。

42 :デフォルトの名無しさん (ワッチョイ eb5b-wh/5):2016/09/02(金) 01:23:27.78 ID:oKN/Shh+0.net
>>41
>>23が「動的に」って言っているからそこは微妙なのだけど、
まあ初心者にそこまで厳密に言っても仕方ないからね。
多分あの質問なら単純に「可変長ループ」が分からないのだと思った。

それはさておき、>>28のコードは面白いとは思うが、
>>28を読める奴がこの質問はないだろってこと。
Promiseなら突っ込んだ時点でそこまでの処理は確定だが、
>>28なら途中の関数内で処理を変更出来る。
これを「動的に」と表現するのは自然ではあるが、
これを記述しようとする奴が>>24の質問はない。(と見た)

43 :デフォルトの名無しさん (ワッチョイ f3ce-wh/5):2016/09/02(金) 01:52:27.16 ID:gFIXdWf60.net
> setTimeoutで包んで。

またなぁw 余計な一言。
なんでsetTimeoutを含まなきゃならんのか。
これも何も分かってない証拠よ。

理屈はわからないけど、これやったら動いた!
正しい理解をせずに長年やったやつの末路だなw

44 :デフォルトの名無しさん (ワッチョイ eb5b-wh/5):2016/09/02(金) 02:32:24.71 ID:oKN/Shh+0.net
んー、まあ俺は>>41の使い方ならsetTimeoutで包んだ方が妥当だと思うがな。

ただし俺はC派だからそういう余計な処理は出来るだけ入れたくなくて、
俺は実際にはほぼ直接呼び出しにしているが、その分気を使わなければならなくなる。
そういう面倒なことは無しにしようってのが昨今のプログラミングスタイルだろ。

つーか、お前も若いんだと思うが、噛み付きまくるのはやめい。
setTimeoutで包むかどうかは上位のコーディングポリシーの話だから、
「常に」どっちがいいとかいうことはないし、ここで白黒つけられることでもないよ。
むしろそこに噛み付いた時点で無知だと晒しているようなもん。
まあそれでも「技術的に」やり合うのならどうぞご自由にだが。

45 :デフォルトの名無しさん (ワッチョイ 3fa7-wh/5):2016/09/02(金) 03:01:31.89 ID:L3z5oHD70.net
ご自由にされちゃたまらんわ
やり合うんだったら>>27の隔離スレでやってくれ

46 : ◆SEdFBOkLSw (アウアウ Sacf-RETc):2016/09/02(金) 07:39:58.54 ID:HDM5TMU3a.net
>>43
よく理解して実装してるにきまってるでしょ。
自分の経験書かないでよ。

47 :デフォルトの名無しさん (オッペケ Sr8f-RETc):2016/09/02(金) 08:28:05.43 ID:ZAub+DJjr.net
>>46
いや、setTimeoutは不要でしょ
遅延処理をするわけでもないのになぜ使う必要があるのさ?

48 : ◆SEdFBOkLSw (スププ Sd5f-RETc):2016/09/02(金) 08:40:46.72 ID:Nu/77N8Pd.net
>>47
生粋のネイティブなPromiseなら、非同期になることは保証されてるけど、
どんなPromiseっぽいものかわからん現状安全側に倒すよ。
次の処理始める、ではなくて、
今もし、今回の呼び出しでキュー溜まってるならそれ終わらしてからやりたいし、
コールスタックも深くなるじゃん。

49 :デフォルトの名無しさん (オッペケ Sr8f-RETc):2016/09/02(金) 08:45:09.66 ID:ZAub+DJjr.net
>>48
非同期の逐次処理で重要なのはコールバックでしょ
非同期処理が完了したことを確認するにはコールバックするしかない
seTimeoutはコールバックを楽に実装する機能がないわけで何の役にも立ってない

50 :デフォルトの名無しさん (ワッチョイ efa5-w0F2):2016/09/02(金) 11:47:53.06 ID:RZSd/NSC0.net
こんにちは、初歩的な話で恐縮ですが、
textareaの入力から複数行、行頭スペース・連続スペースを含む文字列を取得したいのですがJS側で何とかすることはできませんか?

51 :デフォルトの名無しさん (ワッチョイ 739d-Es5g):2016/09/02(金) 11:52:59.18 ID:d9/aWFQj0.net
>>50
できるよ

52 : ◆SEdFBOkLSw (スププ Sd5f-RETc):2016/09/02(金) 11:56:09.84 ID:Nu/77N8Pd.net
>>49
thenの中の話だが。
promiseのそれっぽいポリフィルだと、即時に関数呼び出しするから、
promiseの中でsetTimeoutしてた場合、そいつらが走る前に、次のPromiseが走るよね。
そうじゃなくて、キューイングすることで、もし何かが実行されていてもその後に実行されるじゃん。

あと、コールバックが書けない、は一番ナンセンスじゃない?
配列の最後のPromiseが、「コールバックを呼び出す」ってPromiseであれば良い。

>>50
それぞれ取りたい感じ?
valueで全体は取れるけど、あとは正規表現でマッチした部分使えば良いんじゃないかな。

53 :デフォルトの名無しさん (ワッチョイ efa5-w0F2):2016/09/02(金) 12:59:55.23 ID:RZSd/NSC0.net
取得ではなく出力の時に&nbsp;に置換するのを忘れていたことに気づきました……
お騒がせしました……

54 :デフォルトの名無しさん (オッペケ Sr8f-RETc):2016/09/02(金) 15:53:26.83 ID:XGUTMOjhr.net
>>52
君はPromiseとsetTimeputを激しく誤解している気がしてならない

> promiseの中でsetTimeoutしてた場合、そいつらが走る前に、次のPromiseが走るよね。
そんなことはない
そもそも、非同期処理を上手く活用することを目的としているPromiseにそれが出来ないわけがないだろう
やり方は既出だが、ちゃんと理解してないのではないか?

> そうじゃなくて、キューイングすることで、もし何かが実行されていてもその後に実行されるじゃん。
君の言葉を借りるなら非同期処理に対してsetTimeputを適用したらsetTimeputの数だけキューが増えると思うんだが
setTimeputは同期処理を非同期処理にするのに有効だが、非同期処理にsetTimeputを使っても遅延処理以上の結果は得られない

> あと、コールバックが書けない、は一番ナンセンスじゃない?
「コールバックが書けない」とは誰もいってない

55 : ◆SEdFBOkLSw (スププ Sd5f-RETc):2016/09/02(金) 16:23:16.06 ID:Nu/77N8Pd.net
>>54
だからそれっぽいポリフィルだって言ってんじゃん。
日本語読めないならもう書かんほうが良いよ。
キューが増えていいんだよ。
promiseの中でsetTimeout(..,0)された物を先に動かしたいだけだから。

お前実装見ずに概念で話してない?

56 :デフォルトの名無しさん (オッペケ Sr8f-RETc):2016/09/02(金) 18:24:53.65 ID:Z6ER1HHhr.net
>>55
それはPolyfillがおかしいだけだろ
おかしなPolyfillを基準にされてま困る
setTimeoutは役に立たんという意見もスルーするし、お前の方こそ日本語を読め

57 : ◆SEdFBOkLSw (スププ Sd5f-RETc):2016/09/02(金) 18:33:05.77 ID:Nu/77N8Pd.net
>>56
あ、うん。
最初からそう言ってんじゃん。
まぁ、thenを持ったオブジェクトさえ返せば別にPromiseで無くともその辺誤魔化しつつ走ってくれる便利なやつなんだけどね。書いた関数。
なんでsetTimeoutするかの理解出来てないんだったら、同じようにcatch書いたときにどう例外オブジェクト飛んでくるか見たら?
catchで、setTimeoutしてthrowし直すとか割と普通っしょ。
コールスタックって言ったのになぁ。

58 :デフォルトの名無しさん (ワッチョイ 739d-Es5g):2016/09/02(金) 18:36:22.17 ID:YHEl/7lL0.net
そもそもpromiseってそんなに必要か?

59 :デフォルトの名無しさん (オッペケ Sr8f-RETc):2016/09/02(金) 18:40:34.64 ID:Z6ER1HHhr.net
>>57
Promiseが理解できていればsetTimeoutが不要なことがわかるはずなんだがな
「それっぽいPolyfill」とやらも具体例が皆無
必要なら完璧なzPolyfillを探すなり、自分でPolyfillを書くなりやれと
お前さんのPolyfillらしきものがsetTimeoutなのかもしれんが、無駄が多すぎだろ

60 : ◆SEdFBOkLSw (スププ Sd5f-RETc):2016/09/02(金) 18:40:39.63 ID:Nu/77N8Pd.net
>>58
ちゃんと処理が出来るならなんでも良いよ。
俺は嫌いだからeventEmittet的なものでイベント起こす。
イベントのリスナが一つとも限らんし、発火させるやつが一つとも限らんし。
そのイベントがリエントラントでさえあれば良い。

61 : ◆SEdFBOkLSw (スププ Sd5f-RETc):2016/09/02(金) 18:41:53.96 ID:Nu/77N8Pd.net
>>59
書いたでしょ。
>>48
で。
噛みつきたいだけならお前圧倒的に理解力足らんわ。

62 :デフォルトの名無しさん (オッペケ Sr8f-RETc):2016/09/02(金) 18:44:14.81 ID:Z6ER1HHhr.net
>>58
Promiseがなくてももちろん実装できる
Promiseの利点は統一されたインターフェースで非同期処理を管理できること
自分なりのコード資産があるのならPromiseを使わなくてもいい
が、他人に読ませるならPromise一択だな

63 :デフォルトの名無しさん (オッペケ Sr8f-RETc):2016/09/02(金) 18:51:50.44 ID:Z6ER1HHhr.net
>>61
>>48のどこに「ポリフィルっぽいもの」の具体例がある?
余所様のPolyfillが使用できないなら自分で書けばいいのにな

64 : ◆SEdFBOkLSw (スププ Sd5f-RETc):2016/09/02(金) 18:57:53.41 ID:Nu/77N8Pd.net
>>62
error,resultほうが余程そして統一されてるんでは?

65 : ◆SEdFBOkLSw (スププ Sd5f-RETc):2016/09/02(金) 18:59:39.77 ID:Nu/77N8Pd.net
>>63
逆じゃん。
生粋のものであれば、の方でPromiseの定義してるでしょ。
もちろん使うなら内製はするだろうけど、基本的にはポリフィル自体を使わんよ。

66 :デフォルトの名無しさん (ワッチョイ eb5b-wh/5):2016/09/02(金) 21:24:55.46 ID:oKN/Shh+0.net
>>58
自分では使わないが、
意識高い系APIが返してくる場合はどうしようもないだろ。

67 :デフォルトの名無しさん (ワッチョイ f3ce-wh/5):2016/09/02(金) 22:29:55.63 ID:gFIXdWf60.net
◆SEdFBOkLSw お前はポリフィル使ったらだめだよ。
中身が違うだろ?w

68 :デフォルトの名無しさん (オッペケ Sr8f-vSVO):2016/09/03(土) 07:07:29.63 ID:z0le1ilUr.net
>>65
> 生粋のものであれば、の方でPromiseの定義してるでしょ。
そんなことは聞いてない

> promiseの中でsetTimeoutしてた場合、そいつらが走る前に、次のPromiseが走るよね。
こんなおかしなPolyfillがあるならそのPolyfillをDL出来るURLを出せ、って事だ
正直、そんなPolyfillがあるなら「Promise」と呼ぶのもおこがましいレベルだが、
実際のところは君が書いているPromiseのコードがおかしいだけでPolyfillに罪はないと思ってるよ
どうせsetTimeoutをPromise化してないんだろ?

69 :デフォルトの名無しさん (ワッチョイ a3a1-10NS):2016/09/03(土) 08:12:05.87 ID:I7zaPf2I0.net
promiseの中でsetTimeoutしたらその先まで面倒見るのは
promiseの仕事じゃない気がするんだが

どんなコードを前提にしてるのかさっぱり分からん

70 :デフォルトの名無しさん (オッペケ Sr8f-RETc):2016/09/03(土) 08:26:26.61 ID:Y2U/H6HXr.net
◆SEdFBOkLSw がPromiseを理解してないってことはわかった

71 :デフォルトの名無しさん (ワッチョイ e33c-10NS):2016/09/03(土) 09:05:52.38 ID:KrSHBF2N0.net
>>69
Promiseの中でsetTimeoutした場合に、その先まで面倒見るかどうかは使う側の問題なのでどちらとも言えない
Promise自身は内部で何をしているかに関わらず、resolveまたはrejectが呼ばれるまで次の処理に進まずに待つだけだ

setTimeoutの処理を待ちたいならsetTimeoutの中でresolveを呼べばいいし、待たないならsetTimeoutの外でresolveを呼べばいい

Promiseなんてちょっと賢いコールバックの仕組みでしかなく、正しく使えるかどうかは使う側の問題
まあそのちょっと賢いに慣れてしまうとわざわざ他を使おうなんて思えなくなるぐらい便利なんだがw

72 :デフォルトの名無しさん (ワッチョイ a3a1-RETc):2016/09/03(土) 09:15:44.52 ID:I7zaPf2I0.net
>>71
ありがとう

setTimeoutの中でresolveを呼んでる場合
引数を受け取らずに次が走るって状況が想像付かんのだわ

73 :デフォルトの名無しさん (ワッチョイ f77b-RETc):2016/09/03(土) 09:29:11.12 ID:e3VOV86p0.net
一つ教えて下さい。
Promiseで実行指定した処理群内部では
タイマー関連を使えないのでしょうか?
これが使えないならば、WebWorkerでも極力使わない方が良い様に思います。

74 : ◆SEdFBOkLSw (スププ Sd5f-RETc):2016/09/03(土) 13:42:23.73 ID:WfmCkwdkd.net
理解してない、というか理解したつもりになってる人が、
それでよいと盲信して使っているが故にこうなる見本じゃん。

75 :デフォルトの名無しさん (オッペケ Sr8f-RETc):2016/09/03(土) 13:55:25.79 ID:40V3o/40r.net
>>74


76 : ◆SEdFBOkLSw (スププ Sd5f-RETc):2016/09/03(土) 13:58:36.46 ID:WfmCkwdkd.net
>>75
おまえに必要なもんだな。

77 :デフォルトの名無しさん (ワッチョイ 0bce-wh/5):2016/09/03(土) 14:22:41.73 ID:EZVA2rF20.net
ここでも◆SEは能力不足だって指摘されてるなw

78 :デフォルトの名無しさん (オッペケ Sr8f-RETc):2016/09/03(土) 18:29:27.52 ID:fDA8i4Yzr.net
向こうのスレでは ID:EZVA2rF2 が頑張ってるな

79 :デフォルトの名無しさん (オッペケ Sr8f-RETc):2016/09/03(土) 18:49:19.66 ID:fDA8i4Yzr.net
>> はい、で?お前は何がブラックボックスだって?
> うん、得体のしれないポリフィル、に対して言ってた。
> 読めば良いだけ、なら、そんな工数無駄なので、作れば良いだけ。
この人(◆SEdFBOkLSw )、他作製コードは全く使わんつもりなのかな
このポリシーではライブラリ系が全く使えん
それとも、jQueryやらReactやらは盲目的に信頼するタイプなのか
信頼の多寡をはかる指標の問題だろうが

80 :デフォルトの名無しさん (ワッチョイ 0bce-wh/5):2016/09/03(土) 18:51:02.59 ID:EZVA2rF20.net
>>79
ブラウザはソースコードを全部読んで
ライブラリは全部自分で作るらしい。
コストは全部客持ちだから何も痛くないだってさw

81 :デフォルトの名無しさん (オッペケ Sr8f-RETc):2016/09/03(土) 19:42:03.71 ID:fDA8i4Yzr.net
>>80
> ブラウザはソースコードを全部読んで
> ライブラリは全部自分で作るらしい。
わざわざブラウザのソースコードを読む理由が分からんのだが、実装依存な挙動を確認する目的?
実装依存に頼るコードは様々な対策をやりきってどうしようもないときぐらいしか出番がないわけで
定常的にはWHTWG HTMLやECMA262を読む方に時間をかけると思う
(まあ、その辺の仕様書を読まないからわざわざソースコードを読みにいっているのかもしれないが)

82 :デフォルトの名無しさん (ワッチョイ 0bce-wh/5):2016/09/03(土) 19:47:33.04 ID:EZVA2rF20.net
>>81
> わざわざブラウザのソースコードを読む理由が分からんのだが、実装依存な挙動を確認する目的?

◆SE曰く。全く同じ動作をしていて同じコードが動いてテストコードを使ってテストしていても
中身が違えば、ブラウザごとに違うテストが必要になるって思ってるらしいよw
挙動じゃなくて中身のコードが同じかどうかで考えてる。

だからES6という言語で書いたソースコードをそのまま動かす(テストにも通る)のと
babelを使ってES5にして動かす(もちろんこちらもテストに通る)のとで
動きが全く一緒だけど、それはbabel用の言語(?)だって言い張ってるw

83 : ◆SEdFBOkLSw (アウアウ Sacf-RETc):2016/09/03(土) 20:24:19.03 ID:YIu9WVDua.net
>>79
全くじゃないけど、基本的には使わんなぁ。
jQueryは検証しまくったし、パッチもだいぶ出したから使うけど、それでも割と古い。
Reactは使わんねぇ。個人的にはRiotが使いたいけど。
似たようなのはあるが、仮想DOMでは無いんだよなぁ。

>>81
どっちも読んでるよ。
ブラウザ見るときは、例外として何という文言で飛んできてくるか、とか。
ログに落としてたりするから。
FireFoxはmessageにスタックトレース飛んでこないしね。
例外が起こる、とだけテストしても無意味だし。

84 :デフォルトの名無しさん (オッペケ Sr8f-vSVO):2016/09/03(土) 20:46:37.83 ID:fDA8i4Yzr.net
>>83
仕様書を読めるならPolyfillを書けばいいのになぜ書かないんだ?
いつまでも古いES用のコードにしがみつく理由が分からん
そのやり方なら動作保証している最も古いブラウザに合わせたコードしか書けないだろうに

setTimeoutを使ったコード例が欲しいな(setTimeoutはPromiseの代替にはならないと思ってる)

85 :デフォルトの名無しさん (ワッチョイ 0bce-wh/5):2016/09/03(土) 20:55:50.71 ID:EZVA2rF20.net
> setTimeoutを使ったコード例が欲しいな(setTimeoutはPromiseの代替にはならないと思ってる)
当たり前。

Promiseは終わったと言うイベントを通知するだけ。

setTimeoutでいえば、setTimeout(function() {・・・}, 1000)の
「function() {・・・}」この部分の代替。
別スレッドでn秒待つとかいうことはできない。

86 : ◆SEdFBOkLSw (アウアウ Sacf-RETc):2016/09/03(土) 21:12:28.45 ID:YIu9WVDua.net
>>84
しがみついてるわけではなくて、要件定義で絞れるならネイティブにそう書くよ。
ポリフィル使う意味もあんまないと思うわ。
それなら、ライブラリ作ったほうが余程建設的だと思う。
ライブラリ自体の実装を、どれ用、で分ける事はあるだろうけど、面は同じにしとくよ。

87 :デフォルトの名無しさん (オッペケ Sr8f-RETc):2016/09/04(日) 12:32:50.46 ID:chJ34NF3r.net
>>86
例えば、ES3、IE8対応の自作ライブラリを永続的に使うとしよう
ライブラリ依存から抜け出さないし、ES7→ES8と機能が増えていく度にES5,6,7,8を全て自作ライブラリで担当するのでライブラリの負担は増えていく
社内チームで作っていくなら自作ライブラリを更新する度に制作したあなた以外の人に教えるコストがかかる
ドキュメントも作る必要があるだろうし、後に入社する新人は膨大な自作ライブラリを覚えなければならない
あなたのスタンスは自分一人で作って自分一人で保守している感覚なんだよな…

で、setTimeoutのコードはスルーするんだな

88 :デフォルトの名無しさん (オッペケ Sr8f-RETc):2016/09/04(日) 12:39:09.43 ID:chJ34NF3r.net
>>82
前半3行は意味が分からんのだが、「中身」とは何を指してるんだ?

> 動きが全く一緒だけど、それはbabel用の言語(?)だって言い張ってるw
Babelは可能な限りES6に似せてトランスコンパイルするが、同じではないと思うぞ
Polyfill可能な機能は大部分を同じに出来るが、構文が異なる機能を完全に同じにするのは難しい
トランスコンパイルされたコードを想定して書くのはおかしなことではないかと

89 :デフォルトの名無しさん (オッペケ Sr8f-RETc):2016/09/04(日) 12:46:48.41 ID:chJ34NF3r.net
>>85
俺に何を説明したいのかよくわからんが、>>84で書いたようにsetTimeoutがPromiseの代替にならないのは理解している
Promiseはコールバックで非同期処理完了を検知するわけだが、Promiseを使わなくともコールバックで完了を検知するしかない
だから、自作ライブラリで実装するならコールバックを管理する形になるはずでそこにsetTimeoutの出番はない
少なくとも、発端となった>>23-24にsetTimeoutを勧める理由はないはずだ

90 :デフォルトの名無しさん (ワッチョイ efce-wh/5):2016/09/04(日) 13:03:47.49 ID:EwnjeGwb0.net
>>88
> Babelは可能な限りES6に似せてトランスコンパイルするが、同じではないと思うぞ
同じものと、不完全なものの二通りある。
ポリフィル用語では前者はshim、後者はshamと呼ばれているものだよ。

> 構文が異なる機能を完全に同じにするのは難しい
babelは構文を置き換えるのだから、構文の違いはまったく関係ない。
完全に同じにできない理由は、JavaScriptの内部の機能に依存するから。

同じゃない部分っていうのは動きが違うわけじゃなくて一部が実装されてない(できない)
だから動く部分に関しては完全に同じだよ。

> トランスコンパイルされたコードを想定して書くのはおかしなことではないかと
想定する内容は「一部の機能を使わない」ようにするということだけ。

でもこれって難しい?
だってそもそもブラウザだってES6のすべての機能をサポートしているわけじゃない。
babelを使わなかったとしてもお、普段からブラウザで動くJavaScriptコードを書いている人がやってることだよ。
このブラウザでは使える機能だっけ?って調べながらコード書いている。

トランスパイルできないコードを想定して書くのも
ブラウザが対応してないコードを想定して書くのも大きな違いはない。
むしろ多種多様なブラウザを想定するよりもbabelがブラウザの違いを吸収して
ブラウザ間の違いを減らしてくれる方が「想定する必要」が減って楽でしょ?

91 :デフォルトの名無しさん (ワッチョイ efce-wh/5):2016/09/04(日) 13:19:14.13 ID:EwnjeGwb0.net
> Babelは可能な限りES6に似せてトランスコンパイルするが、同じではないと思うぞ

ここは完全に間違ってるから訂正w

babelはES6に対応していないブラウザで実行できるように、
ES6のコードを可能な限りES5のコードに変換するもの
他の言語からES6やES5のコードに変換するわけじゃない。

92 : ◆SEdFBOkLSw (スププ Sd5f-RETc):2016/09/04(日) 13:35:37.89 ID:ysPFxgV5d.net
>>87
前半はわりとそうかな。
アーキとしてチームで作るし、教育もドキュメンテーションもするし、規約もQAも書くよ。
一人じゃ無いよ(笑)どんな会社だよそれ。。

setTimeout解決してない?なんか誤読してるのかもしれないし、何がひっかかってるの?

>>89
うん、そういう意図では使わんのだが。本来のコードに勧めてるわけでもない。
何故二人が、あってもいいって発想で、お前だけ絶対に無しだって発想なのか、どこが差なんだろ。

93 : ◆SEdFBOkLSw (スププ Sd5f-RETc):2016/09/04(日) 13:38:00.98 ID:ysPFxgV5d.net
>>90
関係あるんじゃ?構文の違い。
確か、いくつかが言語仕様上変換しようがないから、
意味合いの変わるコードになるよ、一般解においては結果は同じだけど、とテヘペロしてたような。
またリポジトリ見てくるか。

94 :デフォルトの名無しさん (ワッチョイ efce-wh/5):2016/09/04(日) 13:58:20.34 ID:EwnjeGwb0.net
>>93
質問していい?

babelで変換したコードはリポジトリに入れたり
変換したコードは必要ない限り見たりテキストエディタで
修正したりしないんだけどそれはわかってる?

95 :デフォルトの名無しさん (ワッチョイ 13ce-wh/5):2016/09/04(日) 14:27:30.61 ID:+uXpWhFu0.net
>>92
Promiseっていうのはthenでつなげるためには
Promiseオブジェクトを返さなきゃいけないと思ってるのかもしれないけど、

Promise.resolve(1)
 .then(i => Promise.resolve(i+1))
 .then(i => Promise.resolve(i+1))
 .then(i => Promise.resolve(i+1))
 .then(i => console.log(i))

こういう書き方も問題ないんだよ。

Promise.resolve(10)
 .then(i => i+10)
 .then(i => i+10)
 .then(i => i+10)
 .then(i => console.log(i))


setTimeoutはそれを入れる明確な理由があるのであれば
(「念のため」は明確な理由ではない)入れるべきだが、
理由がない場合は入れない。単なる無駄な処理。

あんたがディスられてるのは、理由をいわずに
setTimeoutを持ち出してきたから。

96 : ◆SEdFBOkLSw (スププ Sd5f-RETc):2016/09/04(日) 14:44:53.31 ID:ysPFxgV5d.net
>>94
うん、同じコンパイラが確保できること、納品としてbabelかけたあとのものを納品しない、が前提であれば、わかってるけどそれがなにか?
>>95
知ってるよ。
中で、一連のJSが走り終わってから走ってほしいという意図で、setTimeoutやら、setImmediateを使われていたら、
こちらはその意図に合わせて、非同期に呼んだらないとね、って話で、だからこそレベル低いポリフィル引き合いに出して、ネイティブなら、って言ったんだけど。

97 : ◆SEdFBOkLSw (スププ Sd5f-RETc):2016/09/04(日) 14:48:06.06 ID:ysPFxgV5d.net
理由が理解できてないだけだったか…

98 :デフォルトの名無しさん (ワッチョイ 13ce-wh/5):2016/09/04(日) 14:51:13.06 ID:+uXpWhFu0.net
>>96
> 中で、一連のJSが走り終わってから走ってほしいという意図で、setTimeoutやら、setImmediateを使われていたら、

そんな話全くしてないよね?
何先走ってるのさw

99 :デフォルトの名無しさん (ワッチョイ 13ce-wh/5):2016/09/04(日) 15:01:04.48 ID:+uXpWhFu0.net
いつsetTimeoutを使う必要があるかを考えて見ればわかると思うんだけどな(苦笑)

まずPromiseを使うときって言うのは、通常は非同期処理を行うAPIを使う時、
同期処理であればそもそもPromiseを使う必要が無い。

非同期処理を行うAPIを使うならば、非同期処理のAPIがsetTimeoutと
同じ効果をもたらすのでsetTimeoutを使うまでもなく一連のJSが
走り終わってから実行になる。

つまりsetTimeoutを使う必要があるのは、
「Promiseを返す関数の中で非同期APIを使ってない場合」に
限られるということ。

何も考えずに付け加えれば万事OKみたいに扱うものじゃない。

100 : ◆SEdFBOkLSw (スププ Sd5f-RETc):2016/09/04(日) 15:07:54.44 ID:ysPFxgV5d.net
>>98
>>48でも、もし、キューが溜まってるならって言ってるし、
>>52では同じこと言ってるんだけど、
憎さのあまり読んでなかったのかな。もしくは「キュー」が何のキューなのか理解できてなかったのか。

付け加えてもなく、最初から俺はそうってるし、
「使っていない」なんて元にはないんだから、
「安全側」って言葉が出てくんだけど。

101 :デフォルトの名無しさん (ワッチョイ 13ce-wh/5):2016/09/04(日) 15:15:16.15 ID:+uXpWhFu0.net
あまり「安全側」という言葉を遣うなよ。

理由を明確に示していない「安全側」というのは
とりあえずこうしておけばうまくいくんじゃね程度の
浅い考えでしかない。

102 :デフォルトの名無しさん (ワッチョイ 13ce-wh/5):2016/09/04(日) 15:37:31.30 ID:+uXpWhFu0.net
なかなかいいサンプルを思いつかなかったが
やっと思いついた。

var p = Promise.resolve(1);
setTimeout(function() {
 // 1秒も待っているので、pは確実にresolveされたPromise
 console.log('start')
 p.then(i => console.log(i))
 console.log('end')
}, 1000);

この場合、start -> end -> 1 の順で表示される。
ChromeとFirefoxと有名なポリフィルのBlueBirdで確認した。

ここからわかるのはthenを使って呼び出されるのは必ず非同期になるということ。
つまりPromiseを作る段階でsetTimeoutが不要であるということを意味する。

世の中にはPromiseの仕様通りに動かないバグが有るブラウザやポリフィルが
存在するかもしれないが、そんなものに対応するのは「安全側」とはいわない。
問題が確実にあると分かってる場合にだけ問題に対処せよ。

もしかしたら世の中の何処かにバグが有るのでは?という可能性に対応するのであれば
for文にすらバグがあるかもしれないって話になるだろw

103 : ◆SEdFBOkLSw (スププ Sd5f-RETc):2016/09/04(日) 17:17:34.55 ID:ysPFxgV5d.net
>>102
そうじゃない、何故1秒も待つのに使うものと、setImmediateと比べんのかわからん。
DOM弄って0待つ(DOM構築待ち)とか、そういうのじゃん。
getElementById("hoge").innerText=xxxxxx
setTimeout(function(){
//hogeの大きさ見たりする処理
},0)
みたいなやつ。

>>102
thenを使ったら必ず非同期になる、なんて言語仕様に書いてあるのにそういう検証してなんの意味があんのかわからん。

>>102
問題があるとわかってから対処はその通りだね。
ただ誰のどんな環境かわからん質問への返答としては、安全側としか言いよう無くない?

104 :デフォルトの名無しさん (ワッチョイ 13ce-wh/5):2016/09/04(日) 17:19:13.61 ID:+uXpWhFu0.net
> thenを使ったら必ず非同期になる、なんて言語仕様に書いてあるのにそういう検証してなんの意味があんのかわからん。

だからsetTimeoutはいらないだろ?

105 :デフォルトの名無しさん (ワッチョイ 13ce-wh/5):2016/09/04(日) 17:22:39.50 ID:+uXpWhFu0.net
> setTimeout(function(){
> //hogeの大きさ見たりする処理
> },0)
> みたいなやつ。
お前が俺が書いたコードの意図がわかってないだけ。


> ただ誰のどんな環境かわからん質問への返答としては、安全側としか言いよう無くない?

誰のどんな環境が分からないというならIE6の可能性もあるが?

なんで誰のどんな環境変わらんと言っておきながら
「Promiseが使えるが仕様通りでなく、その仕様通りでないというのは、
Promiseのthenが同期的に動くと言うバグがあること」という
自分の都合のいい環境に限定してるんだって話なんだが?

どんな環境かわからないなら、仕様通りの環境を前提にするべきだろ。

106 :デフォルトの名無しさん (ワッチョイ 13ce-wh/5):2016/09/04(日) 17:26:00.82 ID:+uXpWhFu0.net
仮にPromiseが仕様通りに動かないブラウザが有ったとして、
仕様通りに動くBluebirdを使えば、
すべてのブラウザで同じ挙動になるわけさ。

仕様外のブラウザがあることを懸念するならば、
素直にポリフィルを使ったほうが良い。

107 :デフォルトの名無しさん (ワッチョイ a3a1-10NS):2016/09/04(日) 18:48:47.88 ID:yHJJ2SAO0.net
promise実装に問題があるならコールバック地獄に書き直せば良いだけの話じゃ無いの
奇策使ってまで残す理由が分からん

108 : ◆SEdFBOkLSw (スププ Sd5f-RETc):2016/09/04(日) 18:58:26.34 ID:ysPFxgV5d.net
素直に、読んでませんでしたと何故言えんのだろうか。

109 :デフォルトの名無しさん (ワッチョイ 13ce-wh/5):2016/09/04(日) 19:01:07.31 ID:+uXpWhFu0.net
>>105へのレスをお願いします。

110 :デフォルトの名無しさん (ワッチョイ eb5b-wh/5):2016/09/04(日) 19:21:57.04 ID:AXUinR+60.net
>>107
Promise使わないと死んじゃう病気なんだろ。
典型的な「手段と目的の混同」でしかないけど、割とどこの界隈でもいると思うが。

111 :デフォルトの名無しさん (ワッチョイ 13ce-wh/5):2016/09/04(日) 20:30:52.48 ID:+uXpWhFu0.net
>>110
これは「コールバック"地獄"」と書いてあるところから
ジョークと受け取って欲しいってことだと思ったがw
いや君が分かってやってるのなら良いんだけどさ。

112 :デフォルトの名無しさん (ワッチョイ e33c-FA7T):2016/09/04(日) 20:57:57.38 ID:me3Bqu020.net
以下のHTMLがあるんですが上のclass="a"のDIVを上のtitle内に、
下のclass="a"のDIVを下のtitle内に入れたいのですが
Jqueryでどのように書けばよいでしょうか?
どなたか教えて下さい

<div>
<div class="title"></div>
<div>
<div class="a">111</div>
</div>
</div>
<div>
<div class="title"></div>
<div>
<div class="a">222</div>
</div>
</div>

113 :デフォルトの名無しさん (ワッチョイ 13ce-dyuG):2016/09/04(日) 21:19:32.90 ID:XuW4/w2e0.net
$('.title').append(function() {
return $(this).next().find('.a');
})

114 :デフォルトの名無しさん (ワッチョイ e33c-10NS):2016/09/04(日) 21:47:50.25 ID:me3Bqu020.net
素晴らしいです
ありがとうございました!

115 :デフォルトの名無しさん (ワッチョイ 13ce-wh/5):2016/09/04(日) 21:48:56.32 ID:m9ZxPHXs0.net
良いってことよ。でもまあjQueryのスレはこっちだからな

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

116 :デフォルトの名無しさん (ワッチョイ 4979-nUk7):2016/09/12(月) 16:02:19.79 ID:QAsPefCB0.net
input type numberのフォームリセットボタンを作りたいのですが
class名を引数に用いることはできないのでしょうか?

<head>
<script type="text/javascript">

function(hiki){document.querySelector("div.hiki input").value=0;}

</script>
</head>
<body>

<div class="tamago">
<input type="number" value="0">
</div>

<input type="button" value="リセット" onClick="resetbutton(tamago)">

<body>

117 :デフォルトの名無しさん (ワッチョイ 4979-nUk7):2016/09/12(月) 16:04:35.58 ID:QAsPefCB0.net
すいませんこうでした
わかりづらいかもしれませんがよろしくお願い致します。

<head>
<script type="text/javascript">

function resetbutton(hiki){document.querySelector("div.hiki input").value=0;}

</script>
</head>
<body>

<div class="tamago">
<input type="number" value="0">
</div>

<input type="button" value="リセット" onClick="resetbutton(tamago)">

<body>

118 :デフォルトの名無しさん (ワッチョイ f19d-2kU/):2016/09/12(月) 16:26:45.66 ID:1arG/Lwr0.net
function resetbutton(hiki){
/* hikiは変数 */
document.querySelector("div." + hiki + " input").value=0;
}
/* tamaleはString(文字列) */
<input type="button" value="リセット" onClick="resetbutton('tamale')">

119 :デフォルトの名無しさん (ワッチョイ f19d-2kU/):2016/09/12(月) 16:52:21.69 ID:1arG/Lwr0.net
/* hikiは引数 */ ねw

120 :デフォルトの名無しさん (ワッチョイ 69ce-tq+X):2016/09/12(月) 21:47:10.72 ID:p0km3lhz0.net
こちらへどうぞ
+ JavaScript の質問用スレッド vol.130 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/hp/1463395557/

121 :デフォルトの名無しさん (オッペケ Sr3d-j70e):2016/09/12(月) 21:55:18.12 ID:6fvstpPur.net
>>118でいいと思うが、resetbutton('a .hoge>.piyo') みたいに書けるのが問題だな
厳密にはエスケープ処理が必要

122 :デフォルトの名無しさん (ワッチョイ fb5b-tq+X):2016/09/12(月) 22:26:08.68 ID:XojLrMQ90.net
>>118で良いだろ。直接的回答になっている。
強いて言えばclassではなくIDを使う場面であり、
あるいはjQueryと同様に該当全部に対して実行してくれると勘違いしている可能性があるとは思うが、
質問からするとかなりの初心者が見よう見まねでやっていると思われ、
ここはまず118でよく、生暖かい目で見守るべきだろう。

>>121
ユーザ文字列じゃないのに何を言ってるんだお前は?
てゆうか正解が出ているのに間違いを垂れ流すのは止めろ。
どう見ても自分でどちらが正しいか判断出来るレベルの質問者ではないのだし、
ただの迷惑行為でしかない。

>>117
ということで、まずは>>118ね。
ここでは間違った主張をする奴を止めることは出来ないから、こんな感じになってしまうが。

123 :デフォルトの名無しさん (ワッチョイ 69ce-tq+X):2016/09/12(月) 23:08:27.83 ID:ipGCKz/x0.net
なんか低レベルな争いしてるなぁw

そんなことまず指摘するべき所あるだろ。
リセットするならvalue=0はやめろ。

俺が軽く見本みしてやるわ。
https://jsfiddle.net/yf9onpas/

textだけじゃなくcheckboxやselectにも対応したやつな。
つってもtextareaやnumberとかには対応してない手抜きコードだけどな。

124 :デフォルトの名無しさん (オッペケ Sr3d-GoLj):2016/09/12(月) 23:08:33.89 ID:6fvstpPur.net
>>122
<p class="a.b"> に対して resetbutton('a.b') と指定できる方が汎用性が高いので「厳密には」と前置きしたわけだが、何が間違ってるんだ?
後は、空白文字が指定された時に例外を投げるか、複数のクラストークンを許可する仕組みにするか、というところで設計思想が分かれそうだな

125 :デフォルトの名無しさん (ワッチョイ 69ce-tq+X):2016/09/12(月) 23:11:29.28 ID:ipGCKz/x0.net
つーかさ、初心者が見よう見まねで〜とか上から目線やめろよ。
自分が初心者のくせにさ。
ここはIDでもクラスでもないく、セレクタを扱えるようにすれば良いんだよ。

>>118の"div." + hiki + " input" とかほんと、ダサすぎる。
HTMLの構造が変わったら使えなくなるようなクソコードやめろ。

126 :デフォルトの名無しさん (ワッチョイ 69ce-tq+X):2016/09/12(月) 23:13:02.37 ID:ipGCKz/x0.net
あ、一応言っておくけどな。俺は面倒くさいからjQuery使っただけで
jQueryがイヤっていうのなら、そいつがjQuery使わない方法に書き直せな。

127 :デフォルトの名無しさん (アウアウ Sa09-GoLj):2016/09/12(月) 23:15:50.48 ID:zX7hrAQza.net
> なんか低レベルな争いしてるなぁw
> 自分が初心者のくせにさ。
ID:ipGCKz/x0 も上から目線なので「目くそ鼻くそを笑う」になってる

128 :デフォルトの名無しさん (ワッチョイ 69ce-tq+X):2016/09/12(月) 23:16:12.77 ID:ipGCKz/x0.net
>>127
おう?文句があるならコードに対して
指摘しろや。

129 :デフォルトの名無しさん (アウアウ Sa09-GoLj):2016/09/12(月) 23:49:33.68 ID:zX7hrAQza.net
>>128
それならお前も「低レベル」や「初心者」と煽ってないでコードだけに言及したら?

当初の質問(>>117)が「セレクタの一部を引数に取るやり方」を質問をしているのだから>>118の回答になるのは自然
「セレクタを渡せ」は一つの解だが、質問(>>117)への回答としては正答ではないだろう
質問は「文字列リテラルの一部に変数を入れるにはどうすればいいですか?」なのだから回答としては
・テンプレートリテラルを使う
・Array#join
・+で文字列と変数を連結する
のいずれかになる

130 :デフォルトの名無しさん (ワッチョイ fb5b-tq+X):2016/09/12(月) 23:51:47.93 ID:XojLrMQ90.net
てゆーかマジでお前ら自身がまともに回答出来ないレベルのくせに、
デタラメな回答するのは止めろよマジで。
(JavaScriptにしても日本語にしても)

このスレでは>>121,123みたいな馬鹿は回答しなくていい。
お前らはWeb板の馬鹿スレに行けよマジで。
俺はあっちはスルーすると決めているから、
お前らのトンチンカンな回答にも、俺が物言いを付けることはない。
初心者じゃないつもりのお前らが意識高い系()Web系()の実力を見せつけるのは自由だ。

質問は、リセットボタンを設置する際にターゲットとの関連をclassで付けたいってことだろ?
だったら関連方法にclass使ってない、それ以前に関連方法を説明していない>>123は論外だ。
何の説明にもなってない。
123が書いているのは各input種別のリセット方法だが、そこは質問されていない。
つまり123に足りないのは日本語能力だ。

>>124
そんなクラス名の付け方なんてしないだろ。
ただ正直、お前とは議論が成立しないことは分かるから、これでおしまいな。
お前がどういう環境なのかは知らんが、もうちょっと他人が書いたJSなりHTMLなり見た方がいい。
普通はそんなことを考えなくていいようにクラス名を付ける。ただそれだけだ。

質問者はquerySelectorの引数がString型であることを理解出来ていないんだよ。
だからそれを気づかせる>>118が直接的回答で、それでまずは十分だよ。

一応言っておくが、>>118は俺じゃない。
そして適切に回答出来る奴(118)がいる以上、>>121,123みたいな馬鹿は回答しなくていい。
(俺も121が出てこなければ出てくる気はなかった。だって118でいいから。)
質問者が何に引っかかっていて、どうすれば越えられるのか理解してから回答しろよマジで。
そしてお前らのおかしな問答に質問者を巻き込むな。

131 :デフォルトの名無しさん (ワッチョイ 9030-ZwPk):2016/09/12(月) 23:51:54.31 ID:dTaJTDWJ0.net
ま〜たはじまった

132 : ◆SEdFBOkLSw (アウアウ Sa09-j70e):2016/09/12(月) 23:59:32.12 ID:4j9bxHgha.net
長文でしかもトンチンカンだからよくわかるわ。
こう書くと、何がトンチンカンか指摘しろ、ってキレるんだろうけど。

133 :デフォルトの名無しさん (オッペケ Sr3d-GoLj):2016/09/13(火) 00:07:15.40 ID:+SCJmNCrr.net
>>130
「普通はやらない」が、エスケープシーケンスで指定出来るのだから対応する方が「安全」というだけの話
仕様に厳格であるのが安全面で望ましい
仕様を無視するならいくらでも「(主観的な)普通は」の論理があるけどね
・普通は数値参照や実態参照と被らないから <a href="?a=1&b=2">a=1&b=2</a> と書いても良い
・普通はArray.prototype拡張しないから配列にfor-inを使っても良い
・普通はfor-inが定義順で列挙するから配列にfor-inを使っても良い

134 : ◆SEdFBOkLSw (アウアウ Sa09-j70e):2016/09/13(火) 01:49:27.29 ID:1BT7Whn9a.net
>>130
しかし、Stringなのは理解出来てないか?
Stringの中に、変数が入ったままなだけであって。
それを気づかせる、ってお前何言ってるか相変わらずわからん奴だな。

135 :デフォルトの名無しさん (ワッチョイ 69ce-tq+X):2016/09/13(火) 02:05:51.44 ID:5MhN2/GP0.net
てめーら馬鹿なんだから、俺様が気づかせて、あ・げ・て・る・んだよ!

136 :デフォルトの名無しさん (ワッチョイ fb5b-tq+X):2016/09/13(火) 03:02:21.17 ID:K8VetvZF0.net
なるほどSEも池沼か。
そしてbabel君も池沼。
当然池沼同士の会話は成立せず空回り、それがbabel論争だな。

お前らそんなことばかりやってるから全く上達してないんだよ。
あれで何か得たか?或いは何か得るはずだったか?
くだらん争いに精を出すのではなくて、コード書けよマジで。

俺は>>117が初心者であることについて文句を言っているわけではない。
というか117はあれで良いんだよ。誰しも最初は初心者だし、
基本的なことを押さえた後は、動くコードを改変しながら学ぶのが一番早道だ。
もっとも、基本的なことを押さえているのかについては若干疑問ではあるが、
仮に全くの初心者が一回本を読んだら丁度あの程度だし、とりあえず不問だ。

ここら辺は118も気づいていて、卵に''付けてるだろ。
質問者は「文字列リテラル」を認識出来ていない。
(SEは池沼だからこれに気づけない。だから会話が成立しない。)
118はたまれ?とかよく分からん改変をしているが、
これは多分日本語であることに気づいていないから。
どうせなら「ひよこ」とかのほうが気が利いてた。(それともgo->leって何か頓知の効いたギャグ?)
まあ俺は「卵は匹じゃなくて個!」と言いたいところだが。(匹じゃなくて引?)

それ以外にも奇妙な点は色々あり、コードを見る限りかなりの初心者が書いたコードだと分かる。
ただ繰り返すが、それでいいんだよ。そこから始めればいい。
そしてこれが分からないbabelとSEは両方とも池沼で初心者レベルってことだよ。
つかおまえらECMAスレで罵りあってろよマジで。

そしてこの池沼共は俺が何言っているのか分からんと喚くに100ペリカ。
まあ池沼がコテ付けてくれることは歓迎だよ。無視すればいいだけだから。
ではさようならSE。お前も今後は無視対象だ。
てか、どっちかというと俺がもう2chでは有効情報を得られないと見切りを付けつつあり、
そういった意味では俺が出て行くから、いいとこ知っていたら教えてくれないかな?

137 :デフォルトの名無しさん (アウアウ Sa09-GoLj):2016/09/13(火) 09:26:53.16 ID:2dH5xCXza.net
> (ワッチョイ fb5b-tq+X) ID:K8VetvZF0 ID:XojLrMQ90
長文を書き連ねる時間があるなら内容に言及している人に返答を返せばいいのに
出ていくというなら二度と来なくていいから

回答としては>>129
>>123は内容が的外れ(文字列リテラルに言及せず、明後日の方向にコードを書いてる)
>>121,124,133は「クラストークンを渡す仕様ならエスケープしろ」という仕様原理主義者らしい考えで間違いではない

138 :デフォルトの名無しさん (ワッチョイ 7220-tq+X):2016/09/13(火) 09:42:14.23 ID:+bEheDn00.net
初心者が書いたクソコード(初心者なのだからこれは仕方ない)をまねて
(自称)初心者ではないやつがクソコードを量産(これはいけない)するのが問題。

初心者はクソコードで満足してしまって、その人のためにならない。
あるべきコードを提示するべき。

初心者が言ってるやりたいことっていうのは、こうすればできるんじゃね?ぐらいの意味で
本当にやりたいことではない。

139 :デフォルトの名無しさん (ワッチョイ f19d-2kU/):2016/09/13(火) 09:52:58.43 ID:CCv9tLlM0.net
>>117の質問に対して、>>118は正しい回答
>>117の場合、わからないところを問いただしている「質問」
質問(要求)に答えることが「回答」

「回答」と「問答」を認識し、区別すべし

140 : ◆SEdFBOkLSw (スフッ Sd28-j70e):2016/09/13(火) 12:06:28.86 ID:UhHW+pCJd.net
なんか長文で明後日な方向に行ってるな。
babel君でも誰でも良いが。

>>138
後半に同意。
テーブルのあるセルを非表示にして詰めたら、一行のセル数が足りなくなる。
その時次の行のセルを上に持ってきて詰めて表示できないか?
の回答は「出来ない」でしかないけど、
「そもそもそれ表じゃ無いよね。並んでるだけなんだから、並べるだけで良いんじゃないの?」って答えはあるべきだと思う。

141 :デフォルトの名無しさん (ワッチョイ f19d-2kU/):2016/09/13(火) 12:33:33.52 ID:CCv9tLlM0.net
>>140
忙しそうですね?w

142 :デフォルトの名無しさん (アウアウ Sa09-GoLj):2016/09/13(火) 15:18:02.53 ID:2dH5xCXza.net
本題からずれるが、>>116は input[type=reset] でもいいのではないか、と思った
https://jsfiddle.net/4zn5eszn/
部分的にリセットしたいなら無理だが、それにしても同一form要素上に存在すれば form.elements[name] で参照できて便利

143 : ◆SEdFBOkLSw (スフッ Sd28-j70e):2016/09/13(火) 18:27:51.60 ID:UhHW+pCJd.net
>>141
え?普通に昼休みだったけど。
基本あんまり忙しくは無いけどなんなの?

144 :デフォルトの名無しさん (ワッチョイ f19d-2kU/):2016/09/13(火) 18:56:34.25 ID:CCv9tLlM0.net
>>143
誤爆ねw

145 :デフォルトの名無しさん (ワッチョイ 4979-nUk7):2016/09/13(火) 19:55:49.03 ID:E/claygU0.net
117です
>>118さんのやり方で出来ました!
有難うございます。助かりました。
'tamale'の部分"tamale"だとだめなんですね。'と"は今まで同じに使えると思っていました。
他のアドバイス下さったみなさんもありがとうございます。

146 :デフォルトの名無しさん (ワッチョイ fb5b-tq+X):2016/09/13(火) 22:07:21.07 ID:K8VetvZF0.net
ではありがたい池沼SEの言葉をもう一度確認してみよう。

>>108
> ◆SEdFBOkLSw (アウアウ Sa09
> ◆SEdFBOkLSw (スフッ Sd28
> 108 名前: ◆SEdFBOkLSw (スププ Sd5f-RETc)[sage] 投稿日:2016/09/04(日) 18:58:26.34 ID:ysPFxgV5d [7/7]
> 素直に、読んでませんでしたと何故言えんのだろうか。

お前がな。
所詮池沼は池沼同士、babel君とSEでまともな議論が成立しないのもむべなるかな。

というかマジで、煽ってなだめて情報を出させようとするのはウザイしキモイから止めろ。
どうやらゆとり流の戦法らしいが。(他板でも遭遇した)
俺はもうSEには有効情報を出す気はないんだよ。
だからその部分をキチンと避けて書いてる。それに気づいて欲しいね。

babel君も問題児だが、SEも問題児だよ。>>121みたいな意味不明な仕様原理主義者もね。
というか何でお前らがそんなに知ったかぶりして非現実的議論を続けるのかさっぱり分からない。
つかおまえらマジでエセプログラマだよな?コードを書いているとは思えないのだが。
お前らが全員消えればこのスレもずいぶんマシになると思うよ。

147 :デフォルトの名無しさん (ワッチョイ fb5b-tq+X):2016/09/13(火) 22:07:44.79 ID:K8VetvZF0.net
>>145
それは入れ子には出来ないから。
ただその辺も理解してないのなら、ここで質問するのではなくて、
入門書なり入門サイト(>>7のMDNとか)を読んだ方が早いからそうしろ。

148 :デフォルトの名無しさん (アウアウ Sa09-GoLj):2016/09/13(火) 22:33:06.41 ID:2dH5xCXza.net
Promiseに関しては◆SEdFBOkLSwを擁護するつもりはないけどね
>>116に関する発言については彼(◆SEdFBOkLSw)は特におかしなことは言ってないんだよな
(ワッチョイ fb5b-tq+X) は「おまえらはわかってない」系の人はいつも他人をこき下ろすだけで実のある話をしない
「煽ってなだめて情報を出させようとするのはウザイ」が実のある話をしない理由なら黙っているのが一番いい

149 :デフォルトの名無しさん (ワッチョイ fb5b-tq+X):2016/09/13(火) 22:49:09.99 ID:K8VetvZF0.net
>>148
> ◆SEdFBOkLSw (アウアウ Sa09 (>>134)
自演乙。
ここワッチョイありなんだが。

150 :デフォルトの名無しさん (アウアウ Sa09-GoLj):2016/09/13(火) 23:07:05.70 ID:2dH5xCXza.net
>>149
(アウアウ Sa09-j70e) と (アウアウ Sa09-GoLj) の見分けがつかない人?

151 :デフォルトの名無しさん (ワッチョイ 93ce-tq+X):2016/09/13(火) 23:21:40.34 ID:mOQjacar0.net
http://headline.mtfj.net/2ch_watchoi.php

Sa09の部分が同じってことは、IPアドレスが同じ可能性が高いってことだ。

そして使ってるブラウザを変えたってことだ。

http://afi.click/browser/list/
j70e ・・・ Monazilla/1.00 (2chMate 0.8.9.6)
GoLj ・・・ Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36

152 :デフォルトの名無しさん (ワッチョイ fb5b-tq+X):2016/09/13(火) 23:27:43.68 ID:K8VetvZF0.net
>>150
いやワッチョイの仕組みをもうちょっと調べてから言えよ。
まあどちらの言い分を信じるかは各人の自由だが。

あと俺は「質問者」に対しては有効情報を返しているよ。

・118が正解
・121はキチガイ
・123は見当外れ
・◆SEdFBOkLSwもキチガイ
・そのレベルなら入門サイトでも読め

というか、ここは「質問スレ」なんだから、まずは「質問者」に対して回答するのが当然だ。
お前は何を勘違いしているのだ?
俺は「既に正解が出ているのにおかしな回答をするな」と言っているだけだ。

少なくともお前が主張する◆SEdFBOkLSwよりは「質問者」に対しては有効情報を返している。
お前が主張する◆SEdFBOkLSwの「質問者」に対する有効情報って何?
上記みたいに列挙しようとしてみてくれ。何もないのが分かるから。
そしてその何もしてない◆SEdFBOkLSwをお前が擁護する理由は何?
お前のやっている事って色々辻褄が合ってないって理解出来る?

153 :デフォルトの名無しさん (ワッチョイ 93ce-tq+X):2016/09/13(火) 23:28:40.93 ID:mOQjacar0.net
(10) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。

154 :デフォルトの名無しさん (アウアウ Sa09-GoLj):2016/09/13(火) 23:37:28.38 ID:2dH5xCXza.net
>>152
> いやワッチョイの仕組みをもうちょっと調べてから言えよ。
俺 (アウアウ Sa09-GoLj) が ◆SEdFBOkLSw ではないから反論してるんだよ
可能性レベルの話で ◆SEdFBOkLSw 扱いされてたまるか

俺の主張は>>137で書いたから付け加える事はない

155 :デフォルトの名無しさん (アウアウ Sa09-GoLj):2016/09/13(火) 23:39:54.80 ID:2dH5xCXza.net
ワッチョイの仕組みは大体理解してるし、アウアウ なら携帯キャリアだろ
◆SEdFBOkLSw が近い場所に住んでるのかな、ぐらいは思うが、それだけで本人扱いされるとは思わなかったな

156 :デフォルトの名無しさん (ワッチョイ 93ce-tq+X):2016/09/13(火) 23:42:51.34 ID:mOQjacar0.net
同じスレでかぶるとか確率的にないだろうなw

157 :デフォルトの名無しさん (アウアウ Sa09-GoLj):2016/09/13(火) 23:55:35.43 ID:2dH5xCXza.net
面倒くさい奴だな
俺は9/12(月)から「(アウアウ Sa09-GoLj)」のまま変わってないんだがな
なりすましを成立する為には何度もリセッションをしなければならないじゃあないか

1. 「(アウアウ Sa09-j70e) のIP」と「(アウアウ Sa09-GoLj) のIP」を控える
2. ◆SEdFBOkLSw になりすます時には「(アウアウ Sa09-j70e) のIP」になるまでリセッションする
3. 俺になりすます時には「(アウアウ Sa09-GoLj) のIP」になるまでリセッションする

158 :デフォルトの名無しさん (ワッチョイ fb5b-tq+X):2016/09/13(火) 23:56:54.79 ID:K8VetvZF0.net
>>153
その件に関しては俺は勝手にしろという立場だ。(これを嫌っている奴もいるようだが)

ただ、やるにしても「正しい」方向に導くべきで、間違っている方向じゃ駄目だし、
その先の議論に関しては議論参加者だけでやるべきで、
無理矢理「質問者」を巻き込むべきではない。

121は明らかに間違った方に誘導している。そんな使い方は普通はしない。
123に関しては、正直なところ、普通のclassの使い方をすればあのコードになるから、
出してきた理由は分かるし、気持ちも分からんでもない。
ただ彼は前からそうだが日本語がイマイチで、今回もそうだが読み違いが多すぎる。
とはいえ彼はこの手の「勢力争い」には全く興味ないらしく、
あるいはこだわりがあるのはコードだけなのか、今回もそうだが引く時は本当にあっさり引く。

そしてID:2dH5xCXzaの主張する◆SEdFBOkLSwが
>>132の時点で俺に攻撃的に絡んでくる理由はない。てかお前何がしたいの?
普通は129を130で否定されたと受け取ったからとしか考えられないのだが。

159 :デフォルトの名無しさん (アウアウ Sa09-GoLj):2016/09/13(火) 23:58:12.39 ID:2dH5xCXza.net
ああ、一応いっておくが、Promiseについては ◆SEdFBOkLSw の論はおかしいと思っているので彼を擁護する気はないから

160 :デフォルトの名無しさん (アウアウ Sa09-GoLj):2016/09/14(水) 00:13:44.46 ID:vaFZ+3uqa.net
>>158
基本>>137以上にいうことはないから
「明らかに間違った方」とか意味わからんし、クラス名を与えるなら classList.add で指定可能な文字列は許可されるのが厳密
「普通は使わない」ってのはあなたの固定観念で例外処理をさぼってるだけ
>>123のコードも「class名を引数に用いることはできないのでしょうか?」に対する解としては明らかに間違い
>>134 ◆SEdFBOkLSw の方が明らかにまともな事いってる

161 :デフォルトの名無しさん (ワッチョイ 93ce-tq+X):2016/09/14(水) 00:16:45.81 ID:iN47TnGc0.net
>>157
オマエ馬鹿かw
IPアドレスは「アウアウ Sa09」までだっつーのw
証拠見せてやろうか?

162 :デフォルトの名無しさん (ワッチョイ 93ce-MXHb):2016/09/14(水) 00:18:26.67 ID:iN47TnGc0.net
こんな感じか?

163 :デフォルトの名無しさん (ワッチョイ 93ce-j70e):2016/09/14(水) 00:19:11.70 ID:iN47TnGc0.net
間違えた?

164 :デフォルトの名無しさん (ワッチョイ 93ce-GoLj):2016/09/14(水) 00:19:48.23 ID:iN47TnGc0.net
よしOKだなw

165 :デフォルトの名無しさん (ワッチョイ 93ce-tq+X):2016/09/14(水) 00:20:57.47 ID:iN47TnGc0.net
後ろ4つを変えるのなんてブラウザ変えるだけでOKだよw

166 :デフォルトの名無しさん (ワッチョイ fb5b-tq+X):2016/09/14(水) 00:31:16.83 ID:55tYl/130.net
>>160
まあどう言おうがそちらの自由だけど、どうとるかは各人の自由だよ。

しかし、常連が10人もいないこんなスレで、
いきなりIPが被って必死に同一人物の擁護とかねーよマジで。
そして、実際、
> ◆SEdFBOkLSw の方が明らかにまともな事いってる
の具体例を提示出来ないだろ?だって何も言ってないし。
都合が悪くなったら話題を逸らすのも◆SEdFBOkLSw = ID:2dH5xCXza = ID:vaFZ+3uqa
の共通点だよね。話し合いしたければちゃんと回答しろよ。

というか、そもそも121や123が噛み付いてくるのなら分かるのだが、
お前が俺に噛み付いてくる理由は何?

167 : ◆SEdFBOkLSw (スフッ Sd28-j70e):2016/09/14(水) 00:53:14.78 ID:rTjoPRhBd.net
進んでるなぁ。
俺、WiMAXか、spmodeだから多分かぶり倒してると思うよ。

全然逸しても無いんだが、何故理解できないんだろう。
自分の理解を超えたら、逸らされてるって思うのかねえ。

168 : ◆SEdFBOkLSw (スフッ Sd28-j70e):2016/09/14(水) 01:03:53.87 ID:rTjoPRhBd.net
ってか、トンチンカンだと言われた程度で攻撃的ってどれだけ煽り耐性無いのかわからん。
もっとひど目の事言ってんのに。
人間、言われて怒る事って、割と図星だってことかねえ。

169 : ◆SEdFBOkLSw (スフッ Sd28-j70e):2016/09/14(水) 01:06:11.72 ID:rTjoPRhBd.net
>>159
あれ、Promiseなんか俺誤解したままだったかな。
前スレで、なるほど俺が誤読してたすまん、と言った件意外?

170 :デフォルトの名無しさん (ワッチョイ 93ce-tq+X):2016/09/14(水) 01:15:51.77 ID:iN47TnGc0.net
あ、なるほど。日付が変わったからだねw

171 : ◆SEdFBOkLSw (アウアウ Sa09-j70e):2016/09/14(水) 01:16:34.83 ID:KYZUXwmxa.net
>>170
日付変わってもかわらんからワッチョイなんじゃねえの?変わるんだっけ。
これwimax。

172 :160@JavaScript ◆EpG1YCxoik (アウアウ Sa09-GoLj):2016/09/14(水) 17:11:19.99 ID:S1CZT+XFa.net
疑われるので面倒なのでトリップを付けた
とはいえ、(ワッチョイ fb5b-tq+X) と会話する気はもうない

>>169
>>41,48,52 の話がよくわからない
下記コードがあれば、理解できると思うんだが
・PromiseにsetTimeoutをかますと正常動作しなくなるコード
・setTimeoutでキュー管理して正常動作するコード

173 :160@JavaScript ◆EpG1YCxoik (アウアウ Sa09-MXHb):2016/09/14(水) 17:14:37.57 ID:S1CZT+XFa.net
ブラウザを変えて投稿するテスト

174 : ◆SEdFBOkLSw (スフッ Sd28-j70e):2016/09/14(水) 18:42:49.34 ID:MUKwq2dad.net
>>172
ああ、それか。
Promiseのポリフィルっぽいもののうち、非同期になってないもの、の話
>>48で言ってるように、ネイティブだったり、ちゃんとしてるものは非同期で動いてくれるから問題ないよ。そこは誤解を招いて申し訳ない。
setTimeoutを入れないと動かないもの、は
タグ作ってその中に文字列入れた、その幅が知りたい、とかそう言うの。
SVGのグラフ描くときに、描画しない列見出しを幅・高さから決めたいけど、メディアクエリは使えないとか、そういうやつ。

175 :デフォルトの名無しさん (ワッチョイ 69ce-tq+X):2016/09/14(水) 21:07:46.35 ID:jzervOJ/0.net
「Promiseのポリフィルっぽいもののうち、非同期になってないもの」
じゃなくて、具体的にライブラリ名を言ってよ。

何の話なのかさっぱりわからん。
まず話の前提をはっきりさせよう。

176 : ◆SEdFBOkLSw (アウアウ Sa09-j70e):2016/09/14(水) 23:28:06.29 ID:RVBM5n3Va.net
>>175
意味がわからん。
具体的なライブラリもなにも。探すのが面倒。
自分でPromise相当のオブジェクト書いてみれば一発で理解できると思うけど。

177 :デフォルトの名無しさん (ワッチョイ 69ce-tq+X):2016/09/14(水) 23:44:17.41 ID:jzervOJ/0.net
意味がわからんのこっちだw

不具合があるライブラリを知らない=不具合があるライブラリが存在するという証拠がないのに、
なぜそのライブラリの不具合に対処するコードをを書こうとするのか。

178 :デフォルトの名無しさん (ワッチョイ 69ce-tq+X):2016/09/14(水) 23:46:21.44 ID:jzervOJ/0.net
自分でPromise相当のオブジェクト書いてみた結果、
自分が書いたPromise相当のオブジェクトが腐ってました?

素直にまともなライブラリを使いましょう。
自作なんてやめなさい。

179 : ◆SEdFBOkLSw (アウアウ Sa09-j70e):2016/09/14(水) 23:53:12.82 ID:RVBM5n3Va.net
>>177
>>178
いや、自分では書いてないけどね。納品物だよ。
納品物は直させるとして、当座、回避のパッチ入れないと困っただけ。

まともなライブラリを使う、とかそう言う低レベルな話してないから。
まともなライブラリを作るなら理解できるけど。

180 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/15(木) 00:04:05.31 ID:Cxc2zChv0.net
なんでお前の会社への納品物に対処するコードを
他の人に書けっていうんだ?馬鹿じゃないか?

181 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/15(木) 00:28:12.45 ID:ydYpmdlY0.net
ライブラリを使うが低レベル?
ライブラリを作るほうが低レベルだろ。
現にバグで困ったんだから。

自分で作るなんて時間によるコスト増加と
品質の定価を無視すりゃ誰でもできる。
コストを減らして品質を高めるためには、作らない技術が必要。

182 : ◆SEdFBOkLSw (アウアウ Sa9f-wJFc):2016/09/15(木) 02:10:01.76 ID:AXf5reAda.net
>>180
だから、Promiseっぽいものだと最初に書いたのに。つまみ読み下手だな。
確固たる動く自分で検証したPromise使ってる自信があるならそれでいいけど、明らかにわかってない人への説明としては正しくないっしょ。
>>44が部分的に同意してくれてるような話。

>>181
何言ってるか全然わからん。
実際にバグたしたのはうちじゃないし、そのまま部分検収しかしたらなかったよ。そいつらをレベル低いと言うなら、全く同意だけど。
他社に他社の不具合改修させたら契約周りがクソめんどくさいので、そのへんは俺が見た。

コスト減らして品質を高めるには、作らない技術が必要、それは尤も。
うちが作らないから、札束でしばいて作るったり選定して検証して弁理士ときっちり擦り合わせて納品するのが下請けさんのお仕事。多分工数はそんなに減らないよ。こっちが要求するものを揃えたら。

お前は下請けの立場にすらなったこと無いの?

183 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/15(木) 02:30:06.70 ID:AmHCeUDK0.net
> だから、Promiseっぽいものだと最初に書いたのに。つまみ読み下手だな。
> 確固たる動く自分で検証したPromise使ってる自信があるならそれでいいけど、

意味がわからん。
そんなに不安なら自分でテストコード書けばいいだけだろ。

どうせ自分でPromiseを作るならそのテストコードも書くんだから、
それなら作らないでテストコードだけを書けばいい。

普通はテストコードついてるもんだけどな。
自分らで作ったような品質の低いものじゃない限りw

184 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/15(木) 02:31:19.16 ID:AmHCeUDK0.net
あと話がずれてる。

お前固有の問題に対応するためのコードを
ここに書くなって言ってる。

185 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/15(木) 02:32:55.17 ID:AmHCeUDK0.net
> お前は下請けの立場にすらなったこと無いの?

それは無いわw
自社でウェブサービス作ってるからな。

186 :160@JavaScript ◆EpG1YCxoik (アウアウ Sa9f-UmMt):2016/09/15(木) 07:06:22.28 ID:FbcVefQGa.net
>>174
そういう抽象的な説明では分からないからコードを出してほしい、といっているのだが…
Promiseはコールバック地獄の統合管理形態ぐらいにしか思ってないし、setTimeoutが必要な状況というのが全く思い至らない
それと、低品質Promise非互換ライブラリに対処する対策コードというなら、何らかの想定があって対処しているんだから
「想定する低品質Promise非互換ライブラリのコード」と「対策コード」を出せて当然だと思うのだが(全て記載しろとはいわんが、状況が分かる仮想コードぐらい出せるはず)
「低品質コードも対策コードもよく思い出せないけどとりあえず自分のコードで実装できてる」というなら「本当にそれは対策出来ているのか」と俺なら不安になる

187 :160@JavaScript ◆EpG1YCxoik (アウアウ Sa9f-UmMt):2016/09/15(木) 07:23:00.87 ID:FbcVefQGa.net
>>183
正直、◆SEdFBOkLSw の説明力にも問題があると思うが、話がずれてる
彼がいってるのは「A社が作成した低品質Promise非互換ライブラリコードの保守/改修を自社で引き受けた時にどうするか」で対策は大きく3通りある

1. 低品質Promise非互換ライブラリコードに対応したコードを書く
2. 低品質Promise非互換ライブラリコードを捨ててPromiseで書き直す
3. 低品質Promise非互換ライブラリコードを捨てて自社ライブラリで書き直す

◆SEdFBOkLSw は 1. を選択し、「setTimeoutでほげほげ」して対策した
だが、「setTimeouでほげほげ」が彼以外の人にはさっぱりわからない
そんな状況

1. を選択するなら低品質Promise非互換ライブラリのドキュメントを読んで該当ライブラリ独自の書き方で書くのが最良だと思うが、
それでは対応しきれなかったのか、ドキュメントがないから自力で対応したのか、何らかの理由かで「setTimeoutを使う」という解に終着したみたいね

188 : ◆SEdFBOkLSw (アウアウ Sa9f-wJFc):2016/09/15(木) 07:43:16.81 ID:AXf5reAda.net
>>186
かけるけど、スマートもしもしだから辛いんよね。コードうつの。
>>187
「A社が作成した、、保守改修を、自社で、、」ではないよ
A社に直させる。

特定パターンの実データ無いと再現させにくかったし、仕方ない。
A社に直させるのに、A社のソースにパッチ入れると割と面倒なの。
A社がそのパッチ取り込んだときの、俺の工数とか改修費の話になるけど。

189 :160@JavaScript ◆EpG1YCxoik (アウアウ Sa9f-UmMt):2016/09/15(木) 07:45:15.57 ID:upPgTl6ca.net
test

190 :160@JavaScript ◆EpG1YCxoik (アウアウ Sa9f-UmMt):2016/09/15(木) 07:56:24.23 ID:upPgTl6ca.net
リセッションしてIP変えても (アウアウ Sa9f-UmMt) のまま変わらないのね
◆SEdFBOkLSw とはIPレベルで同一ではなくてIP体系が同一レベルっぽい

>>188
> かけるけど、スマートもしもしだから辛いんよね。コードうつの。
WiMAXといっていたからモバイルルータだと思ったが、スマートフォンなのか
とりあえず、テザリングすればいいのでは?
コードが出ないなら机上の空論に過ぎないので、あなたの説明に説得力はないと思う

> 「A社が作成した、、保守改修を、自社で、、」ではないよ
> A社に直させる。
A社に直させるなら「自社で書くコードは何なの?」って話になると思うが
>>187の書き方が悪かったが、「A社が作成した低品質Promise非互換ライブラリを利用して書いたコードの保守/改修を自社で引き受けた時にどうするか」にすれば合ってるかね
やはり、あなたの説明力にも問題があると思うな(説明が端的でとても分かりづらい)

191 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/15(木) 09:32:51.25 ID:AmHCeUDK0.net
> 説明が端的でとても分かりづらい
作り話を思いつきで作ってるから
矛盾が出てるだけw

192 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/15(木) 09:35:47.86 ID:AmHCeUDK0.net
> 特定パターンの実データ無いと再現させにくかったし、仕方ない。
単体テストをやる技術がない証拠だな。
やっぱりブラウザでポチポチやってそうw

193 : ◆SEdFBOkLSw (スフッ Sdbf-wJFc):2016/09/15(木) 12:18:52.76 ID:QfaZZNRDd.net
>>190
スマホだよ。
家引っ越した時にネット回線契約すんのめんどくさくて、wimax置いてそのまま。
PCで2chはしないなぁ。
まぁ、空論と言われても。
休みの日にでも書いてみるわ。

自社で書くコードは、自社開発分じゃん。
もしくは講師と講座かなんかの形でウヤムヤにできるグループ会社かそのへん。
保守改修じゃないよ。コンポーネントで発注してるものを組み込んだ側の開発。

>>192
それは下請けに言っとくよ。工数増加を認めない形で。

194 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/15(木) 21:20:36.32 ID:AmHCeUDK0.net
> 自社で書くコ ードは(略

何を言いたいのかさっぱりわからん。
誰も分かってないぞ

> それは下請けに言っとくよ。
下請けでもない俺にいわれてもなw

普通は言うもの。それが出来ない時点で駄目なんだわ。
検収やってんのか? やってるのなら問題でたなら突き返してるはずで、

>>182で以下のように言ってるってことは、それでOKだしたんだろ?
> 他社に他社の不具合改修させたら契約周りがクソめんどくさいので、そのへんは俺が見た。

それならお前の責任だよ。

> 工数増加を認めない形で。
それは契約で決めること。どうせいままでそれでOKって言ってきたんだろ?
自業自得だよ。工数をどうするかは話し合って決めろ。それがフェアってもんだ。

195 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/15(木) 21:22:11.12 ID:AmHCeUDK0.net
で、一番言いたいことはだな。


お前の下請けが作ったPromiseっぽいもの=Promiseではない物の
挙動に対応するためのsetTimeoutを、Promiseの話をしている所に
持ち込むなってことだ。

結局最初に指摘したとおり、setTimeoutは意味なかったじゃねーか。

196 : ◆SEdFBOkLSw (アウアウ Sa9f-wJFc):2016/09/15(木) 21:22:30.90 ID:AXf5reAda.net
>>194
何を問題とされてるかわからん。

何か悔しいことでもあんの?ずっと絡むけど。

197 : ◆SEdFBOkLSw (アウアウ Sa9f-wJFc):2016/09/15(木) 21:23:20.69 ID:AXf5reAda.net
>>195
指摘が間違ってるんだもの。
俺は最初から対象絞ってる。
それが読めなかったお前のミスだよ。

198 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/15(木) 22:11:54.19 ID:AmHCeUDK0.net
> 俺は最初から対象絞ってる。

なら、その対象を絞っているとわかるという
レスを言ってみ。な?できないだろ?w

199 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/15(木) 22:14:48.03 ID:AmHCeUDK0.net
>>41でこう言ってる。
> 俺は残り回数渡して再帰すると思うわ。setTimeoutで包んで。

ここまでPromiseの話しかしていない。
Promiseでないものの話はしていない。


そして>>43ですぐに突っ込まれてる
> > setTimeoutで包んで。
>
> またなぁw 余計な一言。
> なんでsetTimeoutを含まなきゃならんのか。
> これも何も分かってない証拠よ。

200 :デフォルトの名無しさん (JP 0H7f-9vqT):2016/09/16(金) 10:52:56.75 ID:HeaYZHP4H.net
引用してレスするときは、レス番入れてくれ

201 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/16(金) 11:00:28.46 ID:iNqeUBooa.net
>>199
>>28プロミス使わない
>>41再帰する、ただsetTimeoutはかける
>>48プロミスかどうかわからんプロミスっぽいものへの言及

なんていうか、否定されたことが悔しくて仕方ないのかな。
無能なのに。

202 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/16(金) 23:13:36.20 ID:90O68WAb0.net
× プロミスかどうかわからんプロミスっぽいものへの言及
○ 下請けが作ったプロミスではないものへの言及

だったはずだが?

プロミスっぽいもの = プロミスではない。

だからPromiseの話題をしている所に、
お前の会社固有のPromiseではないものへの問題の
解決策を書いてどうするんだ?って話なんだが。


どこからどう見ても他の人にとって参考になる話じゃない。
どうしてPromiseとは違う自社固有の問題ですって言えないのかな?

203 : ◆SEdFBOkLSw (スププ Sdbf-wJFc):2016/09/17(土) 00:19:06.22 ID:bfjDDIRyd.net
>>202
そう書いてんじゃん。
プロミスっぽいもの、って。

自社固有と言うより、実装固有の話でしょ。
それがネイティブであろうが、ポリフィルであろうが、babelでトランスパイルされていようが。
少なくとも中がホワイトボックスになるまではさ。
だから、ずっと、実装の話してんだけど。

「プロミスとは違う」とは最初に言ってんじゃん。っぽい、って。
読解力ゼロなの?

204 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/17(土) 00:48:52.51 ID:46oy45zx0.net
> そう書いてんじゃん。
> プロミスっぽいもの、って。

問題はそこじゃない。
それがプロミスでない以上、それは関係ないものの話だ。

Promiseの話をしているときに、お前は全く別のライブラリ
それも下請けに作らせたものの話を、何の説明もなく始めたんだよ。

オープンソースでもない、お前の会社でしか使われてない
ライブラリの問題点の解決策をするなって言ってる。

205 :デフォルトの名無しさん (ワッチョイ 333c-eXu6):2016/09/17(土) 13:14:09.94 ID:q/Ue3ybd0.net
このスレで単にPromiseと言えばES6(2015)で標準化された仕様に則ったものだと認識されるだろう
それ以外の物を前提に話をされても周りは混乱するだけだから、その場合はライブラリ名を示すなり「下請けが作った独自実装で標準的でないPromiseっぽい物」と呼ぶなりして区別すべき

少なくともただ>>23としか聞いていない質問者に「下請けが作った独自実装で標準的でないPromiseっぽい物」の怪しい実装を前提にした答えを返すのは間違ってる

206 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/17(土) 13:31:39.53 ID:5r5hyKhZ0.net
Promiseが使えるのはES6からである。
つまりIEにも対応しないといけない以上ES5も使うしか無い。
babelは間に挟まってるから、使ったらいけない。
polyfillも信用してはいけない。
自社で作るのが最善の選択。
ただしコストがかかるから下請けに作らせる。
下請けは技術力がないからPromiseではなくPromiseっぽいものしか作れない。
Promiseっぽいものにはthenが非同期ではなく同期的にしてしまうバグが有るもの。
それが常識なのだから、そのバグに対応するコードを入れるのも常識。
他社に他社の不具合改修させたら契約周りがクソめんどくさいので、そのへんは俺が見た。

と◆SEが言っている。


一方俺は仕様どおりに作られているbabel(babel-polyfill)のPromiseを使った。
標準Promise+機能強化版のpolyfill、bluebirdもおすすめ

207 : ◆SEdFBOkLSw (スププ Sdbf-wJFc):2016/09/17(土) 13:54:13.02 ID:gYNx5cgjd.net
自分の読解力の無さを責任転嫁されても。
俺と同じ意見の人も居たわけだし。

ポリフィルで、ポリフィルで、babelで、でもまあ好きにすれば良いよ。
ただ、それらが提供するのは開発者側への作りやすさ、であって、
同じ動作に関しては、同じアウトプットを出すって事位なんだけどね。

全く同じパフォーマンスで動くわけでもないし、ボトルネックの箇所が同じでもないから、結局変なチューニング必要になるんだけど、
Webってそういうのには鈍感というか、許容力あるんだなって思う。

208 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/17(土) 14:07:27.46 ID:5r5hyKhZ0.net


同じ10倍でも、10秒が1秒なら早くなったと思うが、
0.1ミリ秒が0.01ミリ秒になっても同じ10倍でも違いはわからない。
人間がが違いがわからず、実用上の問題も発生してないならば何の問題もないんだが。

まず、あんたは「○○の可能性がある」ことへの対処をいまやろうなんて考えずに
問題が出てから、解決するようにした方がいいよ。
チューニングはパフォーマンス上の問題があることを証明してからやるもんだ。

Promiseだって同じ「バグが有る可能性がある」から対処する。なんてことをやるから
みんなから叩かれまくるわけで、まず最初に問題を明らかにしなさい。

(明らかにした結果、お前の会社特有の問題だったから、ほれみろって更に叩かれてるわけだがw)

209 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/17(土) 14:11:54.06 ID:5r5hyKhZ0.net
Webは開発スピードを上げて開発コストを下げ、
素早いリリースを行って、顧客への価値を提供することに敏感。
だからいろんなものを利用して、いろんなものを自動化する。

金はかかった分だけ顧客から請求すればいい。
だからいくら時間とコストがかかっても、自社で作ったほうがもうかる。
なんて甘い考えは許されないよ。そういう考えの方が鈍感だ。

210 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/17(土) 14:21:07.52 ID:5r5hyKhZ0.net
> 俺と同じ意見の人も居たわけだし。
それはお前の会社特有のライブラリのバグだって
お前が言ってなかったから、勘違いしてだけだろw

そいつにもう一回聞いてみ?
賛同するやつはもういなくなったよな。

211 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/17(土) 14:32:31.76 ID:zBZkMFuAa.net
何発狂してるかわからん。

そこまで否定されたくないならコメント欄閉じたブログでもやれば?

212 :デフォルトの名無しさん (オッペケ Sr1f-wJFc):2016/09/17(土) 14:52:41.97 ID:jsgB6gIBr.net
そんなことより>>193で「休みの日にでも書いてみるわ」と書いていたそれを待ってる

213 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/17(土) 14:59:33.46 ID:5r5hyKhZ0.net
>>212
察しろwww

214 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/17(土) 15:03:49.07 ID:5r5hyKhZ0.net
>>211
否定とかいう話じゃなくて、
お前が認めろってこと。

お前の会社特有の問題でPromiseには必要がないコードをお前は書いた。
後出しでPromiseっぽい(=Promiseではない)ライブラリの話だって言い始めたが、

そのライブラリが何かを言わず、何度も指摘されてようやく言った答えが
「自分の会社の下請けに作らせたライブラリ」であり
このスレに関係がある人はまずいないので、何の意味もないコードだった。


なんで認められないかな?

215 : ◆SEdFBOkLSw (ワッチョイ 8f20-wJFc):2016/09/17(土) 17:58:56.12 ID:05Sg5rip0.net
>>212
うん、それはすまん。
割と家族サービスしてる。

>>214
え、うん、それは認めてるってか、最初に言ってるよね。

216 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/17(土) 18:03:21.47 ID:5r5hyKhZ0.net
> え、うん、それは認めてるってか、最初に言ってるよね。

最初に言ってるというのなら、
それがどのレスか明確にできるはずだね。
やってみてよw

お前の会社特有の問題であり、正しい動きするPromise(もちろんpolyfill含む)を
使ってる人には関係ない話であると明確に言ってるレスはどれ?

217 :デフォルトの名無しさん (ワッチョイ f3a1-wJFc):2016/09/17(土) 18:03:58.06 ID:HS1+a0Vc0.net
プロミスっぽいものって表現が曖昧で未だに要領を得てない
ES6を意図して設計されたなら実装はともかくプロミスと呼べばいいじゃない

218 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/17(土) 18:20:19.47 ID:5r5hyKhZ0.net
>>217
PromiseにもPromiseっぽいものにも当てはまる話であれば
全然やってかまわないんだが、今の論点はsetTimeoutの必要性だからさ。

setTimeoutの必要がPromiseっぽいものだけに必要で、
そのPromiseっぽいものが自社の下請けが開発したもの、
つまりその他の人は入手不可能な話であれば、

それは「他の人には関係ない」(setTimeoutは必要ない)と
明確にいわないとだめでしょ。

219 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/17(土) 23:13:48.37 ID:koWdyLJia.net
>>218
明確に書いてあるのに読めないのはお前だよ。
読解力の無さを恨め。

220 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/17(土) 23:30:27.21 ID:5r5hyKhZ0.net
その明確に書いてあるというレスが
どれかを言えないのはなぜ?w

それにお前がPromiseではないものの話をしてるのなんて分かってる。
聞き出したからな。

その上で、Promiseじゃないもの(=お前の会社でしか使われてない
下請けに作らせた変なライブラリ)の話を、誰にも関係ない話を
ここでするなって言ってる。

221 : ◆SEdFBOkLSw (スププ Sdbf-wJFc):2016/09/18(日) 09:52:43.30 ID:E9Iy4dNEd.net
>>220
聞き出さんでも、書いてたのに。
っぽい、って。

222 :デフォルトの名無しさん (ワッチョイ 039d-/1gl):2016/09/18(日) 09:56:55.58 ID:7fymcmTA0.net
ご利用は計画的に

223 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/18(日) 11:12:24.51 ID:8zKQ5/pX0.net
>>231
ようやく認めたか。
「っぽい」が言ってるところだって。

それで"他の人"にこの言い合いの論点がはっきり見えるようになったなw

「っぽい」の一言でお前の会社独自の問題で、下請けが作ったライブラリの
話だってわかるわけがないだろ。これを「書いてない」って言ってるんだよ。

「っぽい」だけだともしかしたらどこかの有名なPolyfillライブラリの可能性がある。
だからsetTimeoutに意味がある可能性もある。

だが、お前独自の問題であるなら話は別だ。ブラウザネイティブのPromiseや
Promiseのpolyfillを使ってる人など他の人には問題がない。

他の人に問題がないお前独自の問題を、何の説明もなく
ここに書くなって言ってんの。

224 : ◆SEdFBOkLSw (スププ Sdbf-wJFc):2016/09/18(日) 13:21:06.89 ID:E9Iy4dNEd.net
>>223
うん?ようやく認めたかというか、最初からそうとしか言ってないけど。

225 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/18(日) 13:34:06.17 ID:8zKQ5/pX0.net
最初から言ってるのは「っぽい」だけであって、
(そうお前が認めた)

それが、自分の会社の下請けが作ったライブラリで
他の人には全く関係ない話だとは、指摘されるまで言ってない。

226 : ◆SEdFBOkLSw (スププ Sdbf-wJFc):2016/09/18(日) 13:58:16.71 ID:E9Iy4dNEd.net
>>225
しつこいやつだな。
そう認めたというより、そう書いてあるでしょ。
書いてある事から導出できることは自明なんだからわざわざ解説しないでしょ、って言ってるの。


説明を求めるほうがみっともないって理解しなよって言ってんの。最初に書いたよね、って。

227 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/18(日) 14:01:00.72 ID:8zKQ5/pX0.net
> そう認めたというより、そう書いてあるでしょ。
だからそう認めたのはどの時点だって言ってるんだが?w

まず「っぽい」からは自社の会社特有で
このスレのほかの人には関係ない話であることがわかるわけがない。

他の人に、setTimeoutする必要はないですねって
わかるようになったお前の書き込みはどのレスかって
レス番を聞いてるんだが、それを答えてないよな?w

228 :デフォルトの名無しさん (ササクッテロ Sp1f-eXu6):2016/09/18(日) 14:16:51.35 ID:0+yFEvXAp.net
Promiseのことを聞かれたのに標準的でないごく限られたダメ環境でしか使わないバットノウハウをさも正しい事の様に言ってた無能がいたってだけだろ

その無能が延々と自己正当化と言い訳を繰り返してるのは痛々しい
無能が無能を晒してるのは面白いが質問スレとしては迷惑でしかないからいい加減黙れよと

229 :デフォルトの名無しさん (ワッチョイ 039d-/1gl):2016/09/18(日) 14:31:20.95 ID:7fymcmTA0.net
ご利用は計画的に

230 : ◆SEdFBOkLSw (スフッ Sdbf-wJFc):2016/09/18(日) 17:51:20.25 ID:GT+aCNo8d.net
>>228
あ、そうだよ。
その指摘は正しい。
元レス見ればわかる話なんだけど。

>>227が、聞き出したとか、明示とかアホなこと言ってるけどね。
普通に日本語読めれば>>228でしかないよ。

231 :デフォルトの名無しさん (ワッチョイ 5b5b-chWY):2016/09/18(日) 17:58:25.20 ID:EyfwcZsT0.net
いや普通に日本語読めれば>>228の「無能」=◆SEdFBOkLSwなんだが、、、

232 : ◆SEdFBOkLSw (ワッチョイ 8f20-wJFc):2016/09/18(日) 19:26:09.87 ID:pBvlgmH/0.net
>>231
だからそうだけど。あのレスはバッドノウハウでしかないよ。

書いてないことを読む奴と、書いてあることが読めない奴、多いもんだな。

233 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/18(日) 22:58:17.63 ID:8zKQ5/pX0.net
>>230
> 元レス見ればわかる話なんだけど。

繰り返すが

まず「っぽい」からは自社の会社特有で
このスレのほかの人には関係ない話であることがわかるわけがない。

他の人に、setTimeoutする必要はないですねって
わかるようになったお前の書き込みはどのレスかって
レス番を聞いてるんだが、それを答えてないよな?w

234 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/18(日) 22:59:45.82 ID:8zKQ5/pX0.net
元レス元レスって繰り返すばかりで
それがどのレスかを自分で言うことが出来ないんだよねw

235 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/18(日) 23:45:21.05 ID:JCqetgs6a.net
>>52だけど。

>>233
わかるわけ無い
→お前がわからなかっただけだと思うけど。
読めないものが読める人間以外は、とりあえずPromiseでは無いもの、と読めると思うけど。

setTimeoutする必要は無い
→Promiseっぽいものであれば、必要な場合がある
→必要ない場合ではないのは、Promiseっぽいものではない場合(対偶)
→→Promiseの場合は必要ない 

だよね。
馬鹿にはわからんのかもしれんけど。

236 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/18(日) 23:52:53.93 ID:8zKQ5/pX0.net
> 読めないものが読める人間以外は、とりあえずPromiseでは無いもの、と読めると思うけど。
人の話をちゃんと聞け。Promiseでは無いものであることなんか最初っからわかってる。

↓ちゃんと読め

「っぽい」の一言でお前の会社独自の問題で、下請けが作ったライブラリの
話だってわかるわけがないだろ。これを「書いてない」って言ってるんだよ。

「っぽい」だけだともしかしたらどこかの有名なPolyfillライブラリの可能性がある。
だからsetTimeoutに意味がある可能性もある。

だが、お前独自の問題であるなら話は別だ。ブラウザネイティブのPromiseや
Promiseのpolyfillを使ってる人など他の人には問題がない。

他の人に問題がないお前独自の問題を、何の説明もなく
ここに書くなって言ってんの。

237 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/18(日) 23:54:00.62 ID:8zKQ5/pX0.net
> setTimeoutする必要は無い
> →Promiseっぽいものであれば、必要な場合がある
> →必要ない場合ではないのは、Promiseっぽいものではない場合(対偶)
> →→Promiseの場合は必要ない 

ここでも、お前の会社特有の問題でお前以外に
setTimeoutは必要ないってことが書かれていない。

238 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/18(日) 23:55:01.93 ID:8zKQ5/pX0.net
Promiseの場合は必要ないじゃなくて、

setTimeoutの話をするなって
言ってるのが理解できんのかね?

239 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/19(月) 00:06:03.05 ID:uQftjblXa.net
>>237
別に俺の会社特有とか拡大解釈せんでも、一般論として必要ないと言ってるんだから、包含でしょ。。常識的に考えて。
読み取れなかったなら、そう認めりゃ良いのに。
最初から言ってたことまでここまで噛み砕いて理解できなければ重症。

>>238
自分が思った話の順番でないと許せないちょっと頭にハンディキャップがある人でもあるまいし。
するな、しろ、すべき、すべきでないの話では無いでしょ。
お前がそうではあるべきでないと思ってるだけでさ。

240 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/19(月) 00:07:31.58 ID:uQftjblXa.net
アホはアホなりに等身大に生きりゃいいのに。
それがbabelなのかもしれんけど。

241 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/19(月) 00:10:08.37 ID:Rfn/Judi0.net
>>239
> 別に俺の会社特有とか拡大解釈せんでも、一般論として必要ないと言ってるんだから
言ってない。

お前が言ったのは「Promiseっぽい」ものには必要といっただけ。
「Promiseっぽい」ものは、他の人も使ってる可能性がある。

他の人は誰にも使えないものであることを言ってない。

俺が指摘してようやくお前は「Promiseっぽい」ものが
お前の会社特有で、他人は誰も使えないものだと言った。

242 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/19(月) 00:13:35.63 ID:uQftjblXa.net
言ってない、と言うなら、
Promiseっぽいものは「どこかの有名なポリフィルライブラリ」とも言ってないじゃんね。
書いてないことを認めさせるのと同時に、書いてないことを認めないのも変な話。

わかる訳がないも何も、Promiseではない、で充分なんだけど。
ブラウザネイティブや、正しいPromiseのポリフィルがなものが、Promiseでなく、Promiseっぽいものであるのであれば、中段の意味があるけど、そうじゃない事を主張してるならまるごと無意味な言いがかりじゃん。

ただの思い込みの補正を一所懸命に相手に責任転嫁してるだけだよ、それ。

243 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/19(月) 00:14:29.40 ID:uQftjblXa.net
>>241
何を守りたいのか全然わからん。
メンツが守りたいなら、あなたは素晴らしい人間だよ。書いてないことが読めるんだから。

244 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/19(月) 00:14:55.46 ID:Rfn/Judi0.net
> Promiseっぽいものは「どこかの有名なポリフィルライブラリ」とも言ってないじゃんね。

だから、そのPromiseっぽいものが何かを
ずっと聞いたんだろ。

それがお前の会社特有のライブラリであることを言ったのは
そのずっと後だ。

245 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/19(月) 00:15:46.77 ID:Rfn/Judi0.net
だいたい、永遠とお前の会社特有のライブラリの話を
ここでする意味が無いだろ。

後付で言い訳すんなよw

246 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/19(月) 00:16:09.97 ID:uQftjblXa.net
>>244
何であろうが、Promiseではない事が確かであればそれは必要十分なんだよ。
お前自分で言ったじゃん。
正しいPromiseのポリフィルは、Promiseそのものだ、と。

っぽいもの、はそうでないものだよ。

247 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/19(月) 00:16:20.85 ID:uQftjblXa.net
>>245
知らんがな。

248 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/19(月) 00:17:38.63 ID:uQftjblXa.net
延々と論理的な思考で理解できなかった、思い込みに対して、間違ってると言われても、「おま環」で終わりなのに、頭おかしい奴だなぁ。

249 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/19(月) 00:19:11.94 ID:Rfn/Judi0.net
> Promiseではない事が確かであればそれは必要十分なんだよ。
だからPromiseでないことであることはわかってるって言ってるだろ。

問題は、そのPromiseでないものの対処方法(setTimeout)を
何レスもここでずっと話をしているかだ。

お前の会社特有の問題をここで話す意味が無いだろ。
どうして、setTimeoutの話なんかした?

250 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/19(月) 00:26:37.45 ID:Rfn/Judi0.net
それからPromiseの話をしている所に
関係ない話を始めるのも頭が悪い。

251 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/19(月) 00:27:13.72 ID:uQftjblXa.net
>>249
何レスも蒸し返してるのはお前だけだと思うけど。
わかってるなら、不要な話、対象方法の話すら意味なくて、お前にとっては無視に値する話だと思うんだけど。

どうして、と言われてもな。
何が気になるの?バッドノウハウでも、その意図が理解できなかった自分の無力さを、必要がないものだから俺は知らなくていいんだ、って開き直りたいの?
そうだね()
パフォーマンスなんてどうでもよくて()
結果が正しいければ良い()から、
babelに頼れば万事解決だ()

252 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/19(月) 00:27:48.96 ID:uQftjblXa.net
>>250
知らんがな。
最初に気づかんかった奴に言われても、もっと頭が悪いんだなとしか言えん。

253 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/19(月) 00:29:35.73 ID:uQftjblXa.net
何言われても、最初に言ってる以上、
俺は馬鹿だから説明しろ、としか読めん。
おやすみ。

254 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/19(月) 00:34:11.35 ID:Rfn/Judi0.net
> 何言われても、最初に言ってる以上、

それがどのレスか書いてない以上、
それを明らかにすることがお前に大きな
ダメージを与えるんだろうなw

255 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/19(月) 00:35:14.24 ID:uQftjblXa.net
>>235

256 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/19(月) 00:35:32.93 ID:Rfn/Judi0.net
繰り返すが、

だからPromiseでないことであることはわかってるって言ってる。

問題は、そのPromiseでないものの対処方法(setTimeout)を
何レスもここでずっと話をしているかだ。

お前の会社特有の問題をここで話す意味が無いだろ。
どうして、setTimeoutの話なんかした?


setTimeoutの話を始めた理由、
Promiseの話をしている所に関係ない話を始めた理由
これにも答えてないよな。

257 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/19(月) 00:36:05.33 ID:Rfn/Judi0.net
>>255

>>256

258 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/19(月) 00:38:50.94 ID:uQftjblXa.net
>>256
寝る前に言っとくが、俺の会社とかそういう問題でなく、
Promiseのポリフィル書くときには理解しておくべき話で、かつ、そのポリフィルが信頼できない場合には有用な話だよ。
なんで、setImmediateまで各ポリフィルが実装してるか理解してればイベントループわかるんじゃねえの?

これが説明。
お前あんま仕様仕様言いながら、言語仕様理解してないんじゃない?

259 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/19(月) 00:39:40.61 ID:uQftjblXa.net
とりあえず有名所のポリフィル読んでこい。

260 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/19(月) 00:42:47.22 ID:Rfn/Judi0.net
ほらまた始めたよw

自分の会社の特有の問題なのに
それをやっぱり認められないんだなw

261 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/19(月) 00:43:35.84 ID:uQftjblXa.net
>>260
また始めたじゃなくて。
お前の生き恥ばっか晒すなよ。

262 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/19(月) 00:45:38.82 ID:uQftjblXa.net
StackOverFlowでもやってるやつ居たわw
http://stackoverflow.com/questions/27647742/promise-resolve-then-vs-setimmediate-vs-nexttick

263 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/19(月) 00:48:21.34 ID:uQftjblXa.net
有名所のライブラリも過去やっとるな。
https://github.com/kriskowal/q/issues/342

264 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/19(月) 00:49:16.49 ID:uQftjblXa.net
だいぶ古い話

https://github.com/nodejs/node/issues/2736

265 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/19(月) 00:58:13.40 ID:uQftjblXa.net
有名所の実装には、「必要だから」要れてあるな。
https://github.com/then/promise/blob/master/src/done.js

266 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/19(月) 01:00:35.52 ID:uQftjblXa.net
ドヤ顔で恥晒して楽しかったかな。

267 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/19(月) 01:08:04.58 ID:uQftjblXa.net
そのsetImmediate自体のポリフィルはこのへんか。
https://github.com/YuzuJS/setImmediate/blob/master/setImmediate.js

さて何がかいてあるんだろうな。

268 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/19(月) 01:09:00.72 ID:uQftjblXa.net
無知は罪だわ。
馬鹿はそれだけで贖罪の道を歩むだけマシだな。

269 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/19(月) 01:25:53.79 ID:uQftjblXa.net
結論。

まともな事でも、最小限の言い方で説明すると、理解できない馬鹿なキチガイが発狂する。
死ぬまで治らないんだろうな。早く直してほしいけど。

270 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/19(月) 03:21:44.40 ID:Rfn/Judi0.net
◆SEが必死過ぎて面白いwww

271 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/19(月) 11:03:38.65 ID:uQftjblXa.net
>>270
せっかく説明してやった上に、ソースまで出してやったのにえらい言いようだな。

272 : ◆SEdFBOkLSw (スフッ Sdbf-wJFc):2016/09/19(月) 11:18:48.18 ID:YRbv8ESld.net
しかし、自分に知識がなかったことは認めとかないと致命的な成長するよ。

273 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/19(月) 11:47:30.33 ID:Rfn/Judi0.net
なんか話をすり替えようとしているようだが、
「っぽい」から他の人には関係ない話だとわからないと言ってる。
Promiseじゃないものっていうのはわかってるんだよ。
他人に関係ない話をするなって言ってる。

274 : ◆SEdFBOkLSw (スフッ Sdbf-wJFc):2016/09/19(月) 13:42:12.53 ID:YRbv8ESld.net
>>273
お前がすり替えたんじゃねえの?
setTimeoutの必要性に。

わからないのはお前が、Promiseっぽいものにはなぜそれが必要だったか理解出来てないからだと思うが。
現にお前以外の人にも、理解できてる人もいる始末なんだし。

他人、と拡大解釈をするんじゃなくて、なぜ「僕の理解できない話はしないでください」とか言えないのかな。

275 :デフォルトの名無しさん (ワッチョイ 23ce-chWY):2016/09/19(月) 14:05:16.18 ID:Rfn/Judi0.net
Promiseの話をしている所に
別のライブラリの話をするなってことなんだけど?
しかもそのライブラリはお前しか使えないようなものだし。

276 : ◆SEdFBOkLSw (アウアウ Saff-wJFc):2016/09/20(火) 00:35:55.40 ID:lDGpEihla.net
言うに困ってそれかよw
「自分が問題として提起していたものすべて言いがかりでした、
本当の目的は僕が考えている話の流れを乱されたくなかったんです」

と認めれば良いのにね。
この期に及んでまだそれとは哀れすぎるわ。
前世があるとしたら、カナブンかなんかだったんだろうな。

277 :デフォルトの名無しさん (ワッチョイ 5bc9-Ex6f):2016/09/20(火) 00:41:55.77 ID:yINrKhu90.net
javascriptで隠された直リンクを調べる方法ってある?

278 :デフォルトの名無しさん (ワッチョイ 5bc9-Ex6f):2016/09/20(火) 00:42:18.77 ID:yINrKhu90.net
javascriptで隠された直リンクのURLを調べる方法ってある?

279 :デフォルトの名無しさん (オッペケ Sr1f-wJFc):2016/09/20(火) 01:05:22.83 ID:J/hU/DKBr.net
>>277-278
JavaScriptで隠したならJavaScriptで探すことも可能だろうな

280 :デフォルトの名無しさん (ワッチョイ 5b5b-chWY):2016/09/20(火) 01:21:46.93 ID:XjntHf8Q0.net
>>277-278
「ある」が多分答えになる。

>>279
> javascriptで隠された直リンクのURLを調べる方法ってある?
○ javascriptで、隠された直リンクのURLを調べる方法ってある?
△ javascriptで隠された、直リンクのURLを調べる方法ってある?

この質問の技術レベルから推測すると、単に display='none' に対しての検索だと思われる。

281 :デフォルトの名無しさん (ワッチョイ 5bc9-Ex6f):2016/09/20(火) 02:38:10.11 ID:yINrKhu90.net
その通りでかなり無知の状態><

例えばこういうサイトでスケジュールの日にち毎のURLを見つけたり
発売前のチケットのURLを探ったりできるものなの?
https://hlo.tohotheater.jp/net/schedule/043/TNPI2000J01.do

282 :デフォルトの名無しさん (アウアウ Sa9f-UmMt):2016/09/20(火) 10:41:34.59 ID:zWY6BtDna.net
>>281
document.getElementsByTagName('a')

283 :160@JavaScript ◆EpG1YCxoik (アウアウ Sa9f-UmMt):2016/09/20(火) 10:42:55.89 ID:zWY6BtDna.net
また、SEがどうのと面倒くさい事いわれそうなのでトリップもつけとく

284 : ◆SEdFBOkLSw (スフッ Sdbf-wJFc):2016/09/20(火) 12:14:33.13 ID:8LSbbqoSd.net
ほんといい迷惑だよね。
多分俺が許せないだけなんだろうけど、彼は。

285 :160 ◆EpG1YCxoik (アウアウ Sa9f-UmMt):2016/09/20(火) 12:47:16.08 ID:zWY6BtDna.net
>>284
彼があなたを許せない事と俺が◆SEdFBOkLSwと同一人物と思われることは別問題だけどな
あなたに同情はするが、あなたは複数のレスを繋ぎ合わせないと正解に辿りつけない書き方をしているようだし、半分ぐらいは自己責任だと思う

286 :デフォルトの名無しさん (ワッチョイ ffa7-chWY):2016/09/20(火) 12:54:12.23 ID:5olMFzu20.net
傍から見れば>>8の荒らしもそれを延々と突ついてる>>284も等しくいい迷惑だわ

287 :デフォルトの名無しさん (ワッチョイ 5bc9-Ex6f):2016/09/20(火) 13:01:26.27 ID:yINrKhu90.net
>>282
ソースにdocument.getElementsByTagNameがあるのを確認できたが
そこからどうすればいいんだ?

288 :160 ◆EpG1YCxoik (アウアウ Sa9f-UmMt):2016/09/20(火) 13:54:34.75 ID:zWY6BtDna.net
>>287
>>282で得たa要素ノード郡を for 文や forEach で回して a.href を参照するだけ
入門サイトで DOM の基本を学べばすぐに作れるレベルで全く難しくない

289 :160 ◆EpG1YCxoik (アウアウ Sa9f-UmMt):2016/09/20(火) 14:13:07.18 ID:zWY6BtDna.net
…と思ったが、>>281のa要素は静的リンクじゃなく、javascriptスキームを使ってるな

<a href='javascript:ScheduleUtils.purchaseTicket("20160920", "043", "013402", "0431", "03", "4")' class="wrapper">
 ↓
https://hlo.tohotheater.jp/responsive/js/utils/scheduleUtils.js

purchaseTicket は form にセットして post してるのでURL, postパラメータのリストしか得られない
ブラウザでURLを叩いて遷移するタイプじゃない
こんな感じでリンク元のa要素からコードを辿れば出来る

290 :デフォルトの名無しさん (ワッチョイ 5bc9-Ex6f):2016/09/20(火) 18:02:31.77 ID:yINrKhu90.net
>>288-289
ありがとう。でもちょいと俺には難しいな‥。
要するに直リンクのURLを絞り出すのは無理ってことでいいのかな?

291 :160 ◆EpG1YCxoik (アウアウ Sa9f-UmMt):2016/09/20(火) 19:16:06.94 ID:zWY6BtDna.net
>>290
URLとパラメータはわかるのでPOSTメソッドを送信する仕組みがあるなら可能
この辺のキーワードで分からなければ諦めるべきかと

292 :160 ◆EpG1YCxoik (アウアウ Sa9f-UmMt):2016/09/20(火) 19:23:54.00 ID:zWY6BtDna.net
>>290
サーバがGETパラメータも受け付けるようにしていれば可能と思って試してみたら出来た
ttps://hlo.tohotheater.jp/net/ticket/043/TNPI2040J03.do?site_cd=043&jyoei_date=20160921&gekijyo_cd=0431&screen_cd=03&sakuhin_cd=013402&pf_no=3&fnc=1&pageid=2000J01&enter_kbn=
URL生成が面倒だが、直リンクも出来なくはないな
JavaScriptコード解析が面倒だから制作代行までする気はないが

293 :デフォルトの名無しさん (ワッチョイ 5bc9-Ex6f):2016/09/20(火) 21:00:08.19 ID:yINrKhu90.net
>>291-292
おぉー、凄いっ!!
それは発売前の上映回のURLも抽出できますか?

もしできるなら俺みたいな素人でも使えるような仕様で作ってもらえませんか?
有償でも構いません。きちんとお礼はします。

294 : ◆SEdFBOkLSw (スフッ Sdbf-wJFc):2016/09/20(火) 21:01:29.62 ID:8LSbbqoSd.net
>>285
半分と言わずほぼ自己責任かもしれんが、
複数のレスや、一つのレスからわかってる160 ◆EpG1YCxoikみたいな人が居る以上、そうでない奴は余計に哀れになるわ。
>>286
突かれとるんだよ。。

295 :デフォルトの名無しさん (ワッチョイ 83ce-chWY):2016/09/20(火) 21:04:38.25 ID:fS5Ni7aU0.net
なんか知らんがチケット転売のにおいがするな。
不正は出来ないと言っておこう。

296 :160 ◆EpG1YCxoik (アウアウ Sa9f-UmMt):2016/09/20(火) 21:56:24.19 ID:zWY6BtDna.net
>>293
質問スレなんだからあなたが作る行為の手助けはしても制作代行はしないぞ(>>1のルール違反でもある)
それに2chのようなきちんとした担保のない場で有償の仕事を引き受ける気はない
適当な業者に費用を払ってお願いするのが筋

297 :160 ◆EpG1YCxoik (アウアウ Sa9f-UmMt):2016/09/20(火) 22:09:05.57 ID:WhzcSu5aa.net
>>294
いや、俺も過去の◆SEdFBOkLSwと他の人のやり取りを見てようやく理解できた(>187)と思ったらいろいろ突っ込みをもらった口だぞ
今でもあなたの考えを理解できない部分はあるが、面倒だから質問してないだけ(質問しても期待する程にははっきりした回答が得られない)
もし、◆SEdFBOkLSwが誰にも質問されていなかったら、今でもあなたの考えが全く分からなかったと思うよ
だから、◆SEdFBOkLSw に「初めから分かるように全部書け」な気持ちは少なからず持ってる

298 :デフォルトの名無しさん (ワッチョイ 27a6-Q9AQ):2016/09/20(火) 22:15:16.83 ID:3dWZHagR0.net
初心者向けでとりあえず一通り基礎を勉強できるいいサイトあったら教えてください。

299 :160 ◆EpG1YCxoik (アウアウ Sa9f-UmMt):2016/09/20(火) 22:39:51.58 ID:WhzcSu5aa.net
>>298
https://developer.mozilla.org/ja/docs/Web/JavaScript のチュートリアル(リファレンスは辞書的に使う)
MDNを学び終えたら http://uhyohyo.net/javascript/
ある程度、学んだら仕様書は一通り読めるようになった方がいい
http://jtdan.com/spec/

300 :デフォルトの名無しさん (ワッチョイ 5bc9-Ex6f):2016/09/20(火) 23:13:10.04 ID:yINrKhu90.net
>>296
わかりました。ご丁寧にありがとうございました。

301 :デフォルトの名無しさん (ワッチョイ 5b5b-chWY):2016/09/21(水) 00:54:15.96 ID:g4LO1Cu10.net
>>298
既にプログラミングが出来る(JavaScriptの初心者=他言語で500行程度なら問題なく書ける)のならMDN。
299と同じだが>>7

プログラミング自体の初心者なら、多分C#とかJavaとかの方が上達が早いからそうした方がいい。
ソースはこのスレの馬鹿共。
Ruby on Railsの話だが、以下ページでとんでもない数のコメントがついているのを参考にすればいい。
http://blog.sumyapp.com/2013/07/no-recommend-rails/

302 : ◆SEdFBOkLSw (スフッ Sdbf-wJFc):2016/09/21(水) 09:53:32.79 ID:rxOfowfVd.net
>>297
なるほど、それはすこし驕ってたな。
気をつけるわ

303 :デフォルトの名無しさん (ワッチョイ 177b-2wAQ):2016/09/21(水) 11:25:46.75 ID:Fil1hk+D0.net
>>293
他人のサイトを解析して、所定の方法以外でアクセスすると、営業妨害で逮捕される

そのサイトが、アクセスを許可している、APIを提供していない場合、
ソースコードが公開されていても、ツールでアクセスしてはいけない

君にツールでのアクセス権は、許可されていない。
手作業で、通常のアクセスに限る。そうしないと営業妨害

自作ツールを作って、図書館に毎日、1万回以上アクセスしていた、男が有罪だった

304 :160 ◆EpG1YCxoik (アウアウ Sa9f-UmMt):2016/09/21(水) 13:00:32.28 ID:/STonJJWa.net
>>303
「不正アクセス禁止法」と「業務妨害罪」がごっちゃになってないか?
岡崎図書館事件では「1秒に1回の頻度でアクセスするクローラの動作」を業務妨害容疑として訴えられたもので不正アクセスは関係ない
技術者目線でみればこのクローラの挙動は常識的な範囲という意見が主流だと思う
https://ja.wikipedia.org/wiki/%E5%B2%A1%E5%B4%8E%E5%B8%82%E7%AB%8B%E4%B8%AD%E5%A4%AE%E5%9B%B3%E6%9B%B8%E9%A4%A8%E4%BA%8B%E4%BB%B6
http://takagi-hiromitsu.jp/diary/20100710.html
訴えられた方は最終的に「相手サーバのパフォーマンスを自分勝手に予測し、レスポンスに気を配らなかった」と折れているが
http://librahack.jp/okazaki-library-case/

あと、クローラは一般に認められる範疇で問題のある行為ではない
検索エンジンのbotも最近はJavaScriptを解釈してリンク先を辿るものがあるしね
気になるのは ttps://hlo.tohotheater.jp/net/ticket/043/TNPI2040J03.do
がPOSTパラメータを使っていて、GETパラメータでリクエストする事は考慮していなさそうな事だが
レスポンスは同じなので、「本来制限されているコンテンツを得る行為」には該当しない
とはいえ、GETパラメータのリクエストが制限される可能性はあるので、POSTパラメータを送っておく方が安心だけどね

305 :デフォルトの名無しさん (ワッチョイ 83ce-chWY):2016/09/21(水) 21:44:46.57 ID:NGNffyIV0.net
>>302
わかったか? 今度から気をつけな。

306 :デフォルトの名無しさん (ワッチョイ 1c7b-hDf0):2016/09/22(木) 06:51:12.63 ID:esuUIiS60.net
画像でよくあるのが、拡大すると、ダウンロードできないようにしてあるサイト。
右クリックメニューが開かないように作っている

クローラーで解析すれば、こういうのもDLできてしまう。
DLされたくないから、わざわざこういうように作っているのに、
回避技術を使って、DLすれば営業妨害

たった1円でも、盗電・他人の水を使っただけでも、有罪になる

相手が被害届を出すのは自由。
エロサイトでもクロールしていて、刑事が会社に来れば、
それだけでも退社せざるを得ないw

307 : ◆SEdFBOkLSw (スププ Sdb8-xdvH):2016/09/22(木) 11:19:17.89 ID:3pIcfs21d.net
>>305
人の尻馬に乗るなよ(笑)

308 :デフォルトの名無しさん (ワッチョイ 3d9d-CmFv):2016/09/22(木) 11:38:39.64 ID:ufH1buhr0.net
訳のわからん自己主張の討論は別スレ建ててやってくれよ
スレ違い

309 :デフォルトの名無しさん (ワッチョイ ddce-5q76):2016/09/22(木) 11:43:30.70 ID:zXBENXMk0.net
>>307
言葉が丁寧なだけで、俺と言っていることは同じなんだが?w

310 : ◆SEdFBOkLSw (スププ Sdb8-xdvH):2016/09/22(木) 13:25:35.54 ID:3pIcfs21d.net
>>308
そう言う趣旨でこのスレ立てたんだったよな。面目ない。

>>309
なら、俺と同じく伝えるのが下手()なんじゃない?
とあまり嫌味言っても仕方ないが、相手になるほどと言わせられなかった奴が、なるほどと言わせられた奴に乗っかって「俺同じ事言ってたんだぜ」と言っても馬鹿にしか見えないわ。

311 :デフォルトの名無しさん (ワッチョイ ddce-5q76):2016/09/22(木) 13:28:52.43 ID:zXBENXMk0.net
> なら、俺と同じく伝えるのが下手()なんじゃない?
俺の場合、わざとやってるからなぁw

でそんなことより、お前認めたよな?
自分の説明が下手だって。

312 :デフォルトの名無しさん (スププ Sdb8-xdvH):2016/09/22(木) 13:40:31.50 ID:3pIcfs21d.net
>>311
何を絡んでるかもうわからんわ。
嫌味だって書いたところで、それにマジ突っかかりされても。
ではコテハン捨ててだれを「呼ばわり」するか楽しみにする事にするわ。
んでは。

313 :デフォルトの名無しさん (ワッチョイ ddce-5q76):2016/09/22(木) 14:38:16.38 ID:zXBENXMk0.net
コテハンもIDも俺には関係ないな。
俺は内容に対して煽ってるだけだからなw

314 :デフォルトの名無しさん (ワッチョイ 3d9d-CmFv):2016/09/22(木) 14:51:45.59 ID:ufH1buhr0.net
>>310
どこかのチャットでやった方が効率良いんじゃないの?

315 :160 ◆EpG1YCxoik (アウアウ Sa25-eLic):2016/09/23(金) 21:13:22.19 ID:SEw5gZaja.net
>>312
> ではコテハン捨ててだれを「呼ばわり」するか楽しみにする事にするわ。
それをやられると、あなたの発言を俺と勘違いする奴が出てくるので勘弁してほしい

(ワッチョイ 23ce-chWY) との応酬はどちらかがレスを止めれば良かった
初めは違ったのかもしれないが、後半は意地の張り合いになっているから議論する意味は全くない
何にでも「切り上げ時」ってものがある

316 :デフォルトの名無しさん (ワッチョイ ddce-5q76):2016/09/23(金) 22:28:34.17 ID:MCHe7LJO0.net
意地の張り合いというか、それが面白くて2ちゃんねるをやってるのだから、
なんで盛り上がってるときにやめないといけないの?って感じだよw

コテハン & レスを返してくる & スキがある内容 &
突かれて痛い点(何度聞いても答えない点)がはっきりしてる
遊ぶ相手には最適でしょw

317 :デフォルトの名無しさん (オッペケ Src9-xdvH):2016/09/23(金) 23:13:29.45 ID:a1JqpWb9r.net
他人の反応を面白がって煽る人と技術的な議論を求める人の違いか
確かに議論の余地はないな

318 :デフォルトの名無しさん (アウアウ Saf6-xdvH):2016/09/24(土) 02:20:31.69 ID:bcRI8Hfya.net
>>316
突かれて痛い点とかなんとか言うが、ちゃんと指摘してるのに、自分の理解が及ばないが故に「それは無効、言ってない、はいバリアー!」みたいな小学生みたいな真似されりゃ、諦めもするよ。

>>317
技術的もあるけど、概念的な話というか、実装に対しての反対側の話がしたいなら形而上学的な話になって仕方ないはずなんだが、こいつには理解できんらしいんよね。
俺は最初は無駄ではないと思ってたよ。

319 :デフォルトの名無しさん (ワッチョイ 613c-Px3x):2016/09/24(土) 15:19:34.43 ID:qxCcVgpZ0.net
http://i.imgur.com/JjAU77X.jpg

無能と無能が喧嘩してるのは、普通に質問したい初学者にとって迷惑でしかないからやめろと

320 :デフォルトの名無しさん (ワッチョイ ddce-5q76):2016/09/24(土) 15:26:00.03 ID:e4J3FKju0.net
>>317
まあ単純に「Promiseっぽいもの」の一言で
そいつの会社独自のライブラリで他人には関係ないものの話を
しているなんてわかるわけないし、

そもそも他人に関係ない話であれば、ここでする意味はないし、
さらにいうならばPromiseの話題でPromiseではないものへの
対応コードを入れる意味は無いわけだ。

話をまとめるとこういうことだよ。

321 :デフォルトの名無しさん (オッペケ Src9-xdvH):2016/09/26(月) 08:56:44.88 ID:vSvkRnqZr.net
それぞれに言い分はあっても終着地点が違うのではすれ違うだろうさ
一方は痛い奴(と本人は思ってる)を叩いて遊び、一方はコードや技術概念を突き詰める

322 :デフォルトの名無しさん (ワッチョイ bece-5q76):2016/09/26(月) 09:13:32.77 ID:juGwjv/D0.net
一方は「Promiseっぽい」って言っただろって言い訳w

323 :デフォルトの名無しさん (オッペケ Src9-xdvH):2016/09/26(月) 09:33:17.87 ID:vSvkRnqZr.net
言い方に問題があることは本人も認めているわけでいつまでもネチネチと掘り下げてくる方が質が悪い

324 :デフォルトの名無しさん (ワッチョイ bece-5q76):2016/09/26(月) 09:37:43.74 ID:juGwjv/D0.net
はて? いつPromiseにsetTimeoutは必要ありませんって認めたっけ?

325 :デフォルトの名無しさん (スフッ Sdb8-xdvH):2016/09/26(月) 12:09:05.42 ID:FLo6YfYTd.net
頭致命的に悪いから仕方ないよ。
ある発言はある発言の対偶に等しいと理解できないんだよ。

326 :デフォルトの名無しさん (オッペケ Src9-xdvH):2016/09/26(月) 12:25:35.01 ID:vSvkRnqZr.net
君らのそういうところだ
煽って煽って相手が醜態を晒すのを手ぐすね引いて待っている
あの手この手でアプローチをかけてとんでもない彼が失態を晒して「ほら俺のいった通りだったでしょ?」という瞬間を心待ちにしてる
相手をからかって遊ぶのが目的だから話題に一貫性がなくても構わないし、技術的な話題もどうでもいい
そういう目的意識の差を感じる

327 :デフォルトの名無しさん (オッペケ Src9-xdvH):2016/09/26(月) 12:36:15.98 ID:vSvkRnqZr.net
setTimeoutのコートは>>193で「休みの日にでも書いてみるわ」と彼がいっているので気長に待つしかないだろう
彼は>>302で自分の過ちを認めているわけで死体に鞭打つような真似は大人気ないぞ

328 :デフォルトの名無しさん (スフッ Sdb8-xdvH):2016/09/26(月) 12:38:39.21 ID:FLo6YfYTd.net
>>326
どう批判されてるのか悩む。
醜態なんか晒すの待たなくても、既に醜態晒してるじゃん。
ずーっと俺は同じ事言ってたつもりなんだが、何度も何度も一つが倒れそうになったら、別の事を引っ張り出してきて一所懸命に的外れな事言われてたと思ってるよ。
たまに、それはそうだな、って納得すんのもあったけど。

329 :デフォルトの名無しさん (スフッ Sdb8-xdvH):2016/09/26(月) 12:41:41.95 ID:FLo6YfYTd.net
>>327
実例があった方がわかりやすいからな。
それに関してはなんぼでも鞭打てばいいと思うよ。
死体に鞭打って楽しいなら打つべきだと思うが。他人に迷惑かからんうえに相手も死んでだし。

330 :デフォルトの名無しさん (ワッチョイ eaa7-5q76):2016/09/26(月) 13:30:47.57 ID:zwjJTZsm0.net
楽しかろうがそれを質問スレでやる時点でもう荒らしなんで

331 :デフォルトの名無しさん (ササクッテロ Spc9-Px3x):2016/09/26(月) 13:42:40.99 ID:DOkGWhZ/p.net
>>324
俺が>>228で◆SEを(setTimeoutというバッドノウハウをさも一般的なものの様に晒す)無能呼ばわりしたのに対して>>230でその通りと認めてるぞ?
まあ何か読み間違えてる気配がするがそれはそれで◆SEの無能っぷりが強調されるのだからそれで満足しとけよ

332 :デフォルトの名無しさん (ワッチョイ abc9-rzru):2016/10/05(水) 01:05:21.26 ID:PmOsfWOQ0.net
window.openする際に任意のリファラを送信する方法を教えてください。

333 :デフォルトの名無しさん (ワッチョイ fbce-RPp1):2016/10/05(水) 21:46:15.04 ID:f4G2o0Wy0.net
あるわけない

334 :デフォルトの名無しさん (ワッチョイ 7f5b-+y5M):2016/10/05(水) 23:39:08.09 ID:ocwKASsk0.net
var _atomLinter = require('atom-linter');
....
var packagePath = (0, _atomLinter.findCached)(fileDir, 'package.json');
こういう記述に出会ったのですが、これは関数呼び出しをしていると考えてよろしいのでしょうか?
もしそうならば、_atomLinter.findCached(fileDir, 'package.json') と違って (0, _atomLinter.findCached) は何を意味しているのでしょうか?
これだけではわからないかもしれませんが

335 :デフォルトの名無しさん (アウアウ Sad9-lsIp):2016/10/06(木) 05:27:31.88 ID:UiyyjboBa.net
>>334
(0, _atomLinter.findCached)はカンマ演算子によって左側が切り捨てられて(_atomLinter.findCached)になる
あとはただの関数呼び出し
0は何の役にも立ってない

336 :デフォルトの名無しさん (ワッチョイ aa5b-892l):2016/10/06(木) 10:06:25.24 ID:vBPKLb6z0.net
>>335
ありがとうございます。
カンマ演算子ですか。
演算子と意識していなかったので全然わかりませんでした。

ちょっとしたコードを書いて確かめてみました。
初期値を与えるのを意図しているようですが、おっしゃる通りに意味が無いようですね。
この人の書いたコードは、下記のようにnullやundefinedなどが入らないようにしっかりと値の判定をしているので似たように書いてしまったのかもしれませんね。
var prefixPath = config.globalNodePath || getNodePrefixPath();

337 :デフォルトの名無しさん (アウアウ Sad9-lsIp):2016/10/06(木) 10:48:53.61 ID:UiyyjboBa.net
>>336
ごめん嘘
カンマ演算子を適用すると(findCached)になる
だからメソッドじゃなくて関数として呼び出されることになる

例)
var foo = 'outer';
var obj = {
foo: 'inner',
bar: function(){
console.log(this.foo);
}
};

obj.bar(); //innerと表示
(0, obj.bar)(); //outerと表示

338 :デフォルトの名無しさん (ワッチョイ aa5b-892l):2016/10/06(木) 13:05:39.65 ID:vBPKLb6z0.net
>>337
再度の回答、ありがとうございます
var hage = (0, ((hoge) => hoge)(1));
というコードしか確かめませんでしたので、違いがあるのが分かりませんでした。
提示いただいたコードを適当に動かしただけでは、thisがundefinedになるため動きませんでしたがthisが異なっているのは確認できました。
今のところthisを変えると言うか呼び出し元を変えるための構文と思っておくことにします。

開発者ツールが適用出来れば良いのですが、適用しづらいと言うか適用仕方が分からない構成になっています。
_atomLinter.findCached(fileDir, 'package.json');と変えても、正常に動いているように見えます。
もっとも細かい関数の動きを調べる必要はないので、今のところはこの程度の理解で済ませておきます

339 :デフォルトの名無しさん (ワッチョイ f9ce-lsIp):2016/10/06(木) 22:27:16.11 ID:ki04Ecez0.net
なんや? 俺の出番か?
var o = {v: 1, foo: function() {console.log(this)}}

o.foo(); // => Object {v: 1}

(o.foo)(); // => Object {v: 1}

(0, o.foo)(); // => Window {...}
o.foo.call(null); // => Window {...}

これで何がやりたいかわかるやろ?

340 :デフォルトの名無しさん (ワッチョイ 019d-psoB):2016/10/08(土) 16:34:26.85 ID:70hrlDpk0.net
質問です

<input type="button" value="変更" id="btn" />
<div class="aaa bbb" id="box">文字列< /div>

#btnをクリックする度に#boxにクラス'ccc'を追加、
追加されている場合は削除という感じにしたいので
jQueryのtoggleClass()のような感じです
標準APIのみでシンプルにやる方法はないのでしょうか?

341 :デフォルトの名無しさん (ワッチョイ 42a7-lsIp):2016/10/08(土) 17:40:17.71 ID:fCjDUJos0.net
https://developer.mozilla.org/ja/docs/Web/API/Element/classList
ほい

342 :デフォルトの名無しさん (ワッチョイ f9ce-lsIp):2016/10/10(月) 23:10:44.49 ID:oCisyuHf0.net
classlistっていうのはjQueryと似てるけど、
やっぱりjQueryをパクったのかな?

http://caniuse.com/#feat=classlist

Android 3以上じゃないと動かないし、
IEは10以上、Safariも5.1以上
サポートされたのは比較的最近だしね。

343 :デフォルトの名無しさん (オッペケ Sr4d-xaNP):2016/10/10(月) 23:22:01.29 ID:cHikoA2wr.net
パクったかは知らんが、影響は受けているだろうな
classListは返り値が配列に近いのが分かりやすくていいな

344 :デフォルトの名無しさん (ワッチョイ eb90-ByRo):2016/10/18(火) 20:45:08.01 ID:IbB57MNR0.net
jQueryについて質問なんですが、こういう記述があるのですがどう実装してるのかわかりません
$(function(){
// ここにプログラムを記述
});
呼び出し側からはどう呼んでいるのでしょうか?

345 :デフォルトの名無しさん (ワッチョイ 1bce-8qPS):2016/10/18(火) 21:39:46.91 ID:2Y34d6Lk0.net
$っていうのは単なる変数名。だからfooでも同じ。

foo(function() {
 // ここにプログラムを記述
})


そしてこういう関数を作ればいいだけ。

function foo(func) {
 func();
}

この手の処理をここまで直感的かつシンプルに書けるのは
JavaScriptが一番じゃないかな?

346 :デフォルトの名無しさん (オッペケ Srd7-Oa01):2016/10/18(火) 21:48:53.07 ID:Vq083WMfr.net
>>344
ごく普通のコールバック関数
http://qiita.com/matsuby/items/3f635943f25e520b7c20

347 :デフォルトの名無しさん (ワッチョイ 7b5b-Oa01):2016/10/18(火) 23:13:36.51 ID:TMbk3UjO0.net
>>346
横からだけど参考になります

JSすごいわ

348 :デフォルトの名無しさん (アウアウ Sac7-QR+e):2016/10/19(水) 14:30:36.50 ID:BuiU+rAja.net
>>193から1カ月経つわけだが、◆SEdFBOkLSw はそろそろ進捗報告(生存報告)でもしてもらえないかね…
いつ来るかわからないコードを延々と待ち続ける心情を理解出来ないわけではないと思うのだが

349 :160 ◆EpG1YCxoik (アウアウ Sac7-QR+e):2016/10/19(水) 14:31:47.12 ID:BuiU+rAja.net
>>348はトリップを付け忘れた

350 :デフォルトの名無しさん (ワッチョイ 3f0f-AIfR):2016/10/25(火) 01:39:10.58 ID:UGDfYeLy0.net
リンクをクリックすると非同期で情報をappendするのですが、
リンクにタブのカーソルがあるとき、エンターを押しっぱなしにすると連続でリクエストを送ってしまいます。
サーバに負担がかかるので、それをやめたいのですが、どういった実装が必要でしょうか?

351 :デフォルトの名無しさん (ワッチョイ 6aa7-AIfR):2016/10/25(火) 02:17:27.30 ID:ptXLDz+K0.net
addEventListenerで二度目からpreventDefault()すればいい

352 :デフォルトの名無しさん (オッペケ Sr89-YT5Q):2016/10/25(火) 12:17:41.58 ID:ZMREunEJr.net
>>350
一般にはkeyupしたときにsubmitが確定するが、そうなってないのでクリックハンドラ処理がおかしいのでは?
submitイベントハンドラにすると良い

353 :デフォルトの名無しさん (ワッチョイ 6aa7-AIfR):2016/10/25(火) 13:57:41.15 ID:ptXLDz+K0.net
寝る前に書いたにしても>>351は酷すぎたわ申し訳ない
二度目以降は止めたいなら単に自身をremoveEventListenerすればいいし
間隔が問題ならdebounce処理を間に挟んで間引くのが無難なやり方だよ

354 :デフォルトの名無しさん (ワッチョイ fd9d-kL33):2016/10/25(火) 14:29:29.67 ID:9wvcs0ok0.net
>>350
if (document.activeElement.id == this.id) { return; }
のようにタブのカーソルがあるときは実行しないようにしたら?

355 :デフォルトの名無しさん (アウアウ Sae5-tZnL):2016/10/25(火) 20:08:35.95 ID:cZNQUySfa.net
>>350
リンクをクリックしたらページ遷移が1回だけ発動するはずだが、どのようなコードになっているのか?
現象を再現可能なコードをjsfiddleにでもUP
何となく、a要素を <input tyoe=

356 :デフォルトの名無しさん (ワッチョイ 17ce-AIfR):2016/10/25(火) 21:50:19.14 ID:2bCSgEUm0.net
tyoe wwww

357 :デフォルトの名無しさん (アウアウ Sae5-tZnL):2016/10/25(火) 23:27:28.69 ID:hDtHd2Cda.net
keyup 時に処理するように挙動を変更すればいいだけな気がする
https://jsfiddle.net/noosyxrh/
上例はデフォルトアクションのタイミング制御しかしないので、やりたい処理に応じて上手いこと書き換える必要があるが
[Enter] キー押下で click が連続発火しなかったので、なにがしか処理方法に問題がある気がしないでもない

358 :デフォルトの名無しさん (ササクッテロ Sp89-vevC):2016/10/25(火) 23:46:36.30 ID:TvY7V7/qp.net
面倒だしtabindexに負の値入れてタブキーでフォーカスさせないというお手軽対処でいいんじゃね?

359 :デフォルトの名無しさん (スプッッ Sdc8-YT5Q):2016/10/26(水) 21:12:13.47 ID:OgUHHQRXd.net
js初心者です。ひとつ質問させてください
jqueryで要素のstyleを変えるにはcss()メソッドを使えばいいと分かったのですが、
classのstyle等はどうやって変えるのでしょうか
クラスに属するひとつひとつの要素のstyleを変えたいのではなく、
chromeの検証のstyleタグを開くと一番上がelement.styleで、
その後適用が後のものから順にクラス等のcssが表示されていますが、それを変更したいのです
よろしくお願いいたします

360 :デフォルトの名無しさん (ワッチョイ fd9d-kL33):2016/10/26(水) 22:28:46.35 ID:RGR5F2yC0.net
不要なら elm.removeClass('hoge') で削除する
変更なら elm.attr('class', hoge) で変更する

361 :デフォルトの名無しさん (スプッッ Sdc8-YT5Q):2016/10/26(水) 22:35:09.97 ID:+ptKBLbQd.net
>>360
すみません、要素のクラスを変えたいのではなく、
クラスのstyleを変えたいのです

362 :デフォルトの名無しさん (アウアウ Sae5-tZnL):2016/10/26(水) 22:38:40.25 ID:pP2wLoL4a.net
>>359
document.styleSheets でぐぐるべし

363 :デフォルトの名無しさん (ワッチョイ fd9d-kL33):2016/10/26(水) 22:39:00.61 ID:RGR5F2yC0.net
>>361
Chromeならelement.stylesで要素を参照して
同じ名称でhead内にcssを差し込むしかないね

364 :デフォルトの名無しさん (スプッッ Sdc8-YT5Q):2016/10/26(水) 22:44:02.68 ID:+ptKBLbQd.net
>>362
ありがとうございます!
調べてみます!

365 :デフォルトの名無しさん (ワッチョイ 17ce-AIfR):2016/10/26(水) 22:56:56.16 ID:Tc/AxpVE0.net
>>361
クラスのスタイルは変えてはいけません。
できたとしてもそれは最終手段であり、通常はやってはいけません。

366 :デフォルトの名無しさん (ワッチョイ fd9d-kL33):2016/10/26(水) 23:06:47.69 ID:RGR5F2yC0.net
>>361
window.addEventListener('load', function() {
var style = document.createElement('style');
style.setAttribute('type','text/css');
style.innerHTML = '' +
'.abc { color: red; }' +
'.def { color: green; }' +;
document.head.appendChild(style);
});

stylesheetで上書きする方が無難でいいと思うけど

367 :デフォルトの名無しさん (アウアウ Sae5-tZnL):2016/10/26(水) 23:54:56.21 ID:pP2wLoL4a.net
insertRuleもあるし、CSSOM操作が絶対にいけなんとは思わないがな
ほとんどの場合は classList.add や setAttribute で属性追加してカスケード処理するのが有用だとは思うが、背景が伏せられているのでよくわからん
自己責任で好きなようにやればいい

368 :デフォルトの名無しさん (ブーイモ MMff-O9pn):2016/10/27(木) 08:15:00.86 ID:RBAQUZqxM.net
スタイルの内容が動的じゃないなら外部スタイルシートを追加でリンクする/外すでもいいと思う。

369 :デフォルトの名無しさん (ワッチョイ 7bd4-0DI1):2016/10/28(金) 20:30:06.56 ID:FhhZb6Sy0.net
今日からjavascriptはじめた超初心者なんですが
ファイルに書いたjsファイルを特定のページに対して実行するのってどうすればいいんでしょうか
検索してもブックマークレットってURLに直接書くタイプのしかでてこなくて…

370 :デフォルトの名無しさん (ワッチョイ 7fa7-0DI1):2016/10/28(金) 22:11:50.22 ID:3tZbr/Tc0.net
一度でいいならブラウザのコンソールから実行する
開くたびに実行したいならブラウザ拡張機能にする

371 :デフォルトの名無しさん (ワッチョイ f7d4-0DI1):2016/10/29(土) 05:01:04.49 ID:mzVDYMHP0.net
外部ファイル実行するのって大変なんですね…
また明日拡張機能探してみることにします
ありがとうございました

372 :デフォルトの名無しさん (ワッチョイ fb5b-0DI1):2016/10/29(土) 10:02:00.80 ID:jtquJtCQ0.net
>>371
つGreasemonkey

373 :デフォルトの名無しさん (ワッチョイ fbd4-0DI1):2016/10/29(土) 14:26:59.38 ID:4L5uX2dN0.net
おかげさまでようやくchromeの拡張機能使って動くようになりました

javascriptや認証のあるページで最終表示結果のHTMLの中の
特定要素だけconsoleに書き出すみたいなことをやりたいんですけど

document.getElementsByClassName('クラス名');

だとみつからないみたいなんですけど
これでとれるのってjavascript実行前のソースなんですか?
右クリックページ保存やったときに保存されるみたいな最終表示結果を取得するのってどうしたらいいんでしょうか

374 :デフォルトの名無しさん (ワッチョイ 639d-6yLz):2016/10/29(土) 15:11:47.91 ID:eSvC8hNl0.net
>>373
script内で実行後に
console.log(document.getElementsByClassName('クラス名'););

375 :デフォルトの名無しさん (ワッチョイ fbd4-0DI1):2016/10/29(土) 15:28:25.26 ID:4L5uX2dN0.net
リプありがとうございます

script内で実行後っていうのはどういうことなんでしょうか

chromeの拡張機能のこともいまいちわかってなくて
入門サイトみてmanifestをみようみまねでかいて
contents scriptに指定したjsファイルにこんな感じでかいてるだけなんですが

var elements = document.getElementsByClassName('クラス名');
if(elements.length <= 0) {
console.log("みつからない");
}
var text = '';
for (var i = 0, n = elements.length; i < n; i++) {
text += elements[i].innerHTML;
}
console.log(text);

みたいな感じでかくとみつからない表示になってしまいます
ソースを表示してみるとjavascriptで生成してるページでその中にはターゲットクラス名が含まれておらず
右クリック保存だとちゃんとターゲットクラス名が含まれたHTMLが保存できます

376 :デフォルトの名無しさん (ワッチョイ 639d-6yLz):2016/10/29(土) 15:45:31.59 ID:eSvC8hNl0.net
>>375
var elements = document.getElementsByClassName('クラス名'); が
scriptが読み込まれる前に生成されていないんだと思うが

377 :デフォルトの名無しさん (ワッチョイ 7fa7-0DI1):2016/10/29(土) 21:09:20.12 ID:ZzJnDxi00.net
manifest.jsonのrun_atをdocument_idleにして実行を遅らせてみ
それでもページのスクリプトより実行が早くなるならsetTimeoutで更に遅らせるなり
MutationObserver等を使って目当ての要素が挿入されるのを監視するのが無難

378 :デフォルトの名無しさん (ワッチョイ fbd4-0DI1):2016/10/29(土) 21:36:26.17 ID:4L5uX2dN0.net
おおお できました
ありがとうございます!

run_at のほうははじめから document_idle になってましたがダメで
setTimeOutを使ってみたら期待通りの動作しました

ほんとにありがとうございます

379 :デフォルトの名無しさん (ワッチョイ fbd4-0DI1):2016/10/29(土) 22:10:35.71 ID:4L5uX2dN0.net
何度も低レベルな質問をして申し訳ないんですが

ページを一定時間ごとに自動更新して特定のデータを取得し続けるみたいなことがしたいんですけど
今度は window.location.reload(); を読んでリロードすると
Consoleがリセットされてしまって過去のデータが残らないんですよね

さすがにローカルファイルに書き出すなんてセキュリティ上無理ですよね…

更新じゃなくて同じページに過去のデータをポストで送ってそれを取得し続けるみたいなことをやる必要があるんでしょうか
何かいい方法があればお知恵を借りたいんですけど…

380 :デフォルトの名無しさん (ワッチョイ 639d-6yLz):2016/10/29(土) 22:18:30.10 ID:IiHCnPUJ0.net
>>379
localStorageに保存すれば?

381 :デフォルトの名無しさん (ワッチョイ 7fa7-0DI1):2016/10/29(土) 22:20:38.86 ID:ZzJnDxi00.net
保存したいデータが5MBで収まるならlocalStorageが簡単でいいんじゃない
Chrome拡張機能APIで確かファイル書き出しもできたと思うが詳しくは知らない

382 :デフォルトの名無しさん (ワッチョイ fbd4-0DI1):2016/10/30(日) 00:47:15.90 ID:wlHDuxDi0.net
あ そういうのがあるんですね
また明日調べてやってみます
何から何まで本当にありがとうございます

383 :デフォルトの名無しさん (ワッチョイ e7d4-0DI1):2016/10/30(日) 12:45:09.20 ID:yceMF8Zl0.net
localStorageすごく簡単にできました
おかげさまで目的の動作するプログラムになりました
1からいろいろ教えていただいて本当にありがとうございました

384 :デフォルトの名無しさん (ワッチョイ 638f-ijxz):2016/10/31(月) 13:05:19.08 ID:zObjWshz0.net
同じクラスからインスタンス化されたインスタンスであることを確認する方法って
jsだとどうするんですか?

instance1.getClassName() === instance2.getClassName()
みたいな感じで比較できればいいんですが

385 :デフォルトの名無しさん (ワッチョイ ef5b-d7wh):2016/10/31(月) 13:18:31.69 ID:zLbftr0J0.net
>>384
instance1.constructor == instance2.constructor

386 :デフォルトの名無しさん (オッペケ Sr7f-Jz20):2016/10/31(月) 16:59:41.59 ID:AB5WXEkbr.net
>>384
Object.getPrototypeOf()
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/getPrototypeOf

387 :デフォルトの名無しさん (オッペケ Sr7f-Jz20):2016/10/31(月) 23:14:20.37 ID:hNQh9muDr.net
constructorは書き換え可能なのでお勧めはしない

388 :デフォルトの名無しさん (ワッチョイ 638f-ijxz):2016/11/01(火) 09:28:16.69 ID:BSBrE7zi0.net
>>385-387
ありがとうございます。getPrototypeOf()を使えってことですね。
(constructorは書き換えられるかもしれんので)

389 :デフォルトの名無しさん (ササクッテロラ Sp7f-QpRP):2016/11/01(火) 15:25:48.55 ID:5Vz9y2ecp.net
ここで聞いてごめんなさい
Chrome API関連のスレって無いのでしょうか?

390 :デフォルトの名無しさん (ワッチョイ f7c9-0DI1):2016/11/02(水) 12:57:38.86 ID:A9UccZAb0.net
>>389
残念だけど無いよ

391 :デフォルトの名無しさん (ワッチョイ 6f3c-KT0d):2016/11/11(金) 02:38:31.36 ID:D2wQKa1/0.net
ふーん
久々に覗いたらスレいっぱいあるねえw

392 :デフォルトの名無しさん (ワッチョイ 93d4-teht):2016/11/12(土) 09:14:42.56 ID:QNzqS1vq0.net
a=$("div.shosai a").get(0);

みたいな記述があったんですが $("〜") どういう意味なんでしょうか
hjavascriptの基本文法だけ読んでみたんですがそれらしい記述がのってなかったので…

393 :デフォルトの名無しさん (ワッチョイ 139d-8a14):2016/11/12(土) 09:42:04.29 ID:cH6osgXp0.net
>>392
a = document.querySelectorAll("div.shosai a")[0];

394 :デフォルトの名無しさん (ワッチョイ 93d4-teht):2016/11/12(土) 10:09:59.48 ID:QNzqS1vq0.net
ありがとうございます
これってjavascriptじゃなくてjqueryっていうのの機能なんですか…

395 :デフォルトの名無しさん (ワッチョイ 139d-8a14):2016/11/12(土) 11:44:11.76 ID:D+qxzNnY0.net
>>394
> a=$("div.shosai a").get(0);
a=jQuery("div.shosai a").get(0);

396 :デフォルトの名無しさん (ワッチョイ 93ce-teht):2016/11/12(土) 13:32:53.02 ID:/Oox7HNO0.net
>>394
$はただの名前(関数名)。今の時代であれば普通はjQueryなはず。
Prototype.jsが使っていたり、似たような機能をもつ
何かが使っていたりしないことはないけれど。

jQueryはDOM操作を行うときに使われる有名なライブラリ

CSSセレクタを使って複数の要素を取得するのはjQueryでもjQueryを使わない場合でも同じだが
jQueryの場合はCSSのように複数の要素に対して一括で処理を適用できるから
ループが必要になるjQueryを使わないやり方よりも大幅にコード量を減らすことができる。

397 :デフォルトの名無しさん (ワッチョイ 93d4-teht):2016/11/12(土) 15:54:26.15 ID:QNzqS1vq0.net
詳しくありがとうございます
なるほど関数名だっていわれれば納得しました

あともう1つ

var maturl="",nowstat;

みたいな記述があったんですけど
値をカンマで2つならべるってどういう意味なんでしょうか

398 :デフォルトの名無しさん (ドコグロ MM5f-O45g):2016/11/12(土) 15:57:17.48 ID:ZMSwRqOtM.net
>>397
それは値を並べているのではなく、宣言を並べている。
var maturl="";
var nowstat;
と同じ。

399 :デフォルトの名無しさん (オッペケ Sr2f-PwKp):2016/11/12(土) 18:49:09.54 ID:D2DhjDPcr.net
Google Chrome ならコンソールで $, $$ を使える
変数宣言とカンマ演算子の混同はたまに聞く話だな

400 :デフォルトの名無しさん (ワッチョイ 8376-9KU2):2016/11/13(日) 21:19:30.49 ID:wGLcmS8h0.net
プログラミング初心者です
テキストファイルをdropboxからダウンロード、編集してアップロードするブックマークレットを作りたいのですが、難しいですか
リクエストヘッダを追加してHTTPリクエストを送信する方法が見つからず悩んでいます

401 :デフォルトの名無しさん (ワッチョイ 033c-9MLS):2016/11/13(日) 21:57:08.84 ID:tmpnoiwb0.net
>>400
つXMLHttpRequest.setRequestHeader()

詳細は↓
https://developer.mozilla.org/ja/docs/Web/API/XMLHttpRequest

402 :デフォルトの名無しさん (ワッチョイ 8376-9KU2):2016/11/13(日) 22:20:12.92 ID:wGLcmS8h0.net
>>401
それはクロスドメイン制約に引っかかると読んで諦めていました
今改めて調べてみるとlevel 2では大丈夫になっているようですね
もう少し自分でやってみようと思います
教えていただいてありがとうございます

403 :デフォルトの名無しさん (ドコグロ MM2f-O45g):2016/11/15(火) 13:44:11.62 ID:ZSIymAkBM.net
小数同士の足し算で結果がずれることは有名だと思いますが、
// a, b は適当な小数
a - b + b == a
これがfalseになることはありますか?

404 :デフォルトの名無しさん (スフッ Sd1f-wOPQ):2016/11/15(火) 14:28:43.57 ID:7Oesxf9ud.net
>>403
inf寸前の時は?

405 :デフォルトの名無しさん (ドコグロ MM2f-O45g):2016/11/15(火) 15:47:05.64 ID:ZSIymAkBM.net
>>404
ありがとうございます。確かにinfになれば==はfalseになりますね。
あといろいろ試したら、inf関係なくfalseになることも分かったので自己解決しました。
ありがとうございました。

406 :デフォルトの名無しさん (ワッチョイ 93d4-teht):2016/11/16(水) 10:48:52.80 ID:/uklz8dZ0.net
Javascriptに手を出してみようか思案中の者です、Freeで使いやすいIDEとかありますか?

407 :デフォルトの名無しさん (オッペケ Sr2f-PwKp):2016/11/16(水) 11:12:51.87 ID:xwO+2HlPr.net
>>406
IDEではないが、Atom

408 :デフォルトの名無しさん (ワッチョイ bfa7-teht):2016/11/16(水) 14:47:19.45 ID:8IM8olFk0.net
俺もAtom使ってるけどエディタの環境構築って結構手間だし
触って動かしてみるだけならクラウドIDEでググって出る適当なやつでいいんじゃね

409 :デフォルトの名無しさん (ワッチョイ 138f-dJcJ):2016/11/16(水) 19:16:28.12 ID:k+C2KHSh0.net
>>406
コレは圧倒的にVisualStudioCodeですわ。
TypeScriptに最適化されてはいるけどJSでも使える。
ESLintとの連携でリアルタイムでエラーを指摘してくれるしおすすめ

410 :デフォルトの名無しさん (ワッチョイ 93d4-teht):2016/11/16(水) 22:56:32.07 ID:/uklz8dZ0.net
>>407-409

ありがとうございました、参考にさせていただきます

411 :デフォルトの名無しさん (アークセー Sxa9-2pau):2016/11/17(木) 11:53:11.08 ID:KoiSDC47x.net
VSCodeのeslintインストール後の設定が全然わからない

412 :デフォルトの名無しさん (スッップ Sdb8-RUi6):2016/11/18(金) 12:23:22.91 ID:Fy1yogynd.net
ad saaaa ah bb cc ddd jj kk
みたいなスペース区切りの文字列のスペースをタブに変換するために下記のようなソース作ったんですが、
ReplaceAll(´ ´, ´¥t´ );
この処理を6コラムまでで止めるにはどうしたらいいんでしょうか?

初めて質問するので分かりにくかったらすみません…

413 :デフォルトの名無しさん (オッペケ Sra9-2XGH):2016/11/18(金) 13:39:45.76 ID:7aPQOtQur.net
>>412
6コラムの意味が分からん上にRwplaceAllのコードが不明だが、行頭から6つ目の半角スペースをタブ文字に置換して7文字目以降の半角スペースは置換したくないという事か?
/^(?:[^ ]* ){}/ を String#replace で受けてコールバック関数で全置換してみては

414 :デフォルトの名無しさん (JP 0H9a-2Ppy):2016/11/18(金) 13:56:19.27 ID:mP8U9SKKH.net
>>412
6個目までを抜き出してからスペースをタブに変換するとか。
str.match(/(\w+) (\w+) (\w+) (\w+) (\w+) (\w+)/)[0].replace(/ /g, "\t")

415 :デフォルトの名無しさん (スッップ Sdb8-RUi6):2016/11/18(金) 14:17:06.92 ID:Fy1yogynd.net
>>413
>>414
7個目以降のスペースは変換しないというニュアンスで大丈夫です。
分かりずらくてすみませんでした…。

同じような文字列が複数行あるので一行なら楽なのにと考えてました。

ありがとうございます

416 :デフォルトの名無しさん (オッペケ Sra9-2XGH):2016/11/18(金) 18:48:52.51 ID:UCIFFr37r.net
>>415
正規表現がおかしかったので修正
/^(?:[^ ]* ){1,6}/

417 :デフォルトの名無しさん (ワッチョイ 9fcf-RAPI):2016/11/19(土) 04:34:43.26 ID:S6bRHJ270.net
javascriptって演算子を変数に代入できるんですか?
初心者ですみません

418 :デフォルトの名無しさん (ワッチョイ 9fcf-RAPI):2016/11/19(土) 06:20:27.12 ID:S6bRHJ270.net
eval使うことにしました

419 :デフォルトの名無しさん (ワッチョイ 5625-UoMj):2016/11/19(土) 08:10:18.58 ID:HO2/nMyJ0.net
どうぞどうぞ

420 :デフォルトの名無しさん (ワッチョイ 1d9d-d8X5):2016/11/20(日) 13:38:34.89 ID:LjxU80cI0.net
質問です
(function(){
...
}());

(function(){
...
})();

これってどちらが正しいのでしょうか?

421 :デフォルトの名無しさん (ワッチョイ 9e5b-S3Pk):2016/11/20(日) 13:46:46.91 ID:7MT4JQCz0.net
どっちも正しいよ

422 :デフォルトの名無しさん (ワッチョイ 5625-UoMj):2016/11/20(日) 13:48:44.62 ID:kV+MseJx0.net
(function(){...})()については三等兵の記事が大変わかりやすい

423 :デフォルトの名無しさん (ワッチョイ 74c9-XpIe):2016/11/22(火) 10:12:53.53 ID:/Z/CfoTY0.net
javascriptで連想配列って使えない?

424 :デフォルトの名無しさん (アウアウウー Sa85-E+0+):2016/11/22(火) 10:25:52.61 ID:2KNYdR4wa.net
>>423
連想配列はないが、オブジェクト初期化子がそれに近い
new Map はもっと近い

425 :デフォルトの名無しさん (ワッチョイ c13c-rwfO):2016/11/22(火) 10:39:27.46 ID:GgHbx+0U0.net
>>423
Objectで済む場合が殆どだがそれで不足なら、ES6ならMap、それ以前ならMapのPolyfillを使う

426 :デフォルトの名無しさん (ワッチョイ 74c9-XpIe):2016/11/22(火) 10:51:58.49 ID:/Z/CfoTY0.net
Map使ってみるわありがとう

427 :デフォルトの名無しさん (ワッチョイ 9c7b-wMId):2016/11/22(火) 12:02:19.09 ID:9QZ/pTkg0.net
obj.__proto__

オブジェクトを連想配列に使っていたら、ES3で、__proto__ でハマる

たまたま、__proto__ っていう属性を追加するとバグるから、
何か実行環境が絶対に使わないような、接頭辞を付けた方がよいかも

428 :デフォルトの名無しさん (アウアウウー Sa85-E+0+):2016/11/22(火) 12:08:14.83 ID:2KNYdR4wa.net
>>427
オブジェクトを使うのなら Object#hasOwnProperty, Object.keys の使いこなしが必須(これらは __proto__ 上のプロパティを探さない)
他に Object.create や Object.defineProperty で列挙不可能なプロパティを定義する事もありうる
諸々の対策が煩わしく感じるようであれば、素直に ES6 の Map を使うのが安全で確実

429 :デフォルトの名無しさん (アークセー Sxa9-2pau):2016/11/22(火) 12:16:20.55 ID:Df5HmFWpx.net
window.onloadとか varで作った変数.onloadとかありますけど、JavaScriptのvar型ってwindowのスーパークラスなんですか?

430 :デフォルトの名無しさん (ワッチョイ 9c7b-wMId):2016/11/22(火) 12:29:17.27 ID:9QZ/pTkg0.net
var a;
varを付けると、その関数内だけのローカル変数になる。
varが無いと、グローバル変数になるから、すごく危険!

ソースコードに「use strict」と書いておけば、var の付け忘れを指摘してくれるから、安全

JavaScriptコード内で”use strict”宣言を使用すると、
そのコードは「strictモード(厳格モード)」で実行されるようになります

strictモードでは、より的確なエラーチェックが行われるため、
これまでエラーにならなかったような曖昧な実装がエラー扱いになります

431 :デフォルトの名無しさん (ワッチョイ 1d8f-Th+s):2016/11/22(火) 12:50:08.07 ID:ibIuWkMx0.net
async awaitが非同期的な処理が同期的に処理できて大変便利なんですが

本当に同期的な動作の関数を非同期化してasync awaitの仕組みに合わせて使いたいんですけどどうすればいいですかね。
Node.js上だったらスレッド作ってそっちに処理を投げるようにすればいいんでしょうけどブラウザで似たようなことをする方法ってないですかね?
Service Workerを使えば良さそうな気もするんですけど

432 :デフォルトの名無しさん (アウアウウー Sa85-E+0+):2016/11/22(火) 14:54:07.39 ID:2KNYdR4wa.net
>>430
> 本当に同期的な動作の関数を非同期化してasync awaitの仕組みに合わせて使いたいんですけどどうすればいいですかね。
一巡して同期処理に戻っているのでそのまま使えばいいのでは?

433 :デフォルトの名無しさん (アウアウウー Sa85-E+0+):2016/11/22(火) 15:00:55.37 ID:2KNYdR4wa.net
XMLHttpRequest の同期処理が非推奨なので非同期処理させて await で同期処理化している人と同じ奇妙さを感じる
あるいは、手段(awaitを使う事)が目的化しているのか

434 :デフォルトの名無しさん (ワッチョイ 9cef-XpIe):2016/11/22(火) 17:27:47.81 ID:9V1XCmGO0.net
昔node.jsというのが流行っていたと思うのですが、今は何が流行っているんでしょうか
動的に通信する必要がある案件がありまして、主流は何か教えてください

435 :デフォルトの名無しさん (JP 0H9a-2Ppy):2016/11/22(火) 18:08:33.97 ID:P3uNoocwH.net
>>434
今でもnode.js

436 :デフォルトの名無しさん (ワッチョイ 1d8f-Th+s):2016/11/22(火) 20:53:41.81 ID:ibIuWkMx0.net
>>433
いやいや。Promise.raceとか使ってタイムアウト処理を入れたりもできるんで
全く同じというわけでもないです。
ただ同じ大元の同期的関数だとそういうことが出来ないので。

437 :デフォルトの名無しさん (ワッチョイ ff3c-tQqt):2016/11/22(火) 21:07:02.41 ID:Bvoc9IRC0.net
>>436
自分で書いてる答えでok

>>432
ブロッキング

438 :デフォルトの名無しさん (ワッチョイ 1d8f-Th+s):2016/11/22(火) 21:56:25.81 ID:ibIuWkMx0.net
>>437
ありがとうございます。ついでにその辺を便利に自動化するようなライブラリってないですかね。

439 :デフォルトの名無しさん (ワッチョイ bdce-XpIe):2016/11/23(水) 01:05:57.96 ID:5kjA5cYz0.net
>>438
WebWorkerを使え。当然だが自動化はしてくれない。

440 :デフォルトの名無しさん (ワッチョイ 4b8f-MM3T):2016/11/25(金) 10:27:47.69 ID:q/GFU+ZW0.net
>>433
async/awaitはあくまで見かけ上同期的に見せかけているだけで
実際に同期処理として動くわけではないです。
つまり通常の同期処理だとイベントループを止めてしまうことに対して
awaitを使う場合はイベントループに処理を戻しています。
この点が違うわけですが、逆にasync awaitを使う場合、その辺を理解せずにつかうと
通常の同期処理を混ぜてしまうことになりイベントループを止めてしまうことになりかねません。

441 :デフォルトの名無しさん (ワッチョイ 1fa7-lM3r):2016/11/25(金) 15:03:36.49 ID:CvsKfEOT0.net
同期処理(のように書ける)

442 :デフォルトの名無しさん (ワッチョイ cf4e-PVnu):2016/11/30(水) 01:47:39.83 ID:V6Jz1e4H0.net
>>434
node.js使えないのか?
しばらくこれが主流だぞ。

443 :デフォルトの名無しさん (ワッチョイ b736-OPD4):2016/11/30(水) 10:50:51.97 ID:Sk/SQjO50.net
超初心者です。
PHPとJavaScriptでホームページ作っていますがJavaScriptの変数名の使い方で質問です

phpの場合
変数名 hoge1fuga hoge2fuga ……を使用する時変数iを使って
 → if(hoge'.$i.'fuga == 'abcd')

→ $h = 'hoge'
$f = 'fuga'
if($h$i$f == 'abcd')
のような書き方ができますがjavascriptの場合どう書けば良いのでしょうか。

var hoge = fuga1.checked
の時に var hoge = fuga + i + .checked の記述にするとエラーになってしいまい、変数名の使い方そのものに疑問が湧きました。

444 :デフォルトの名無しさん (ワッチョイ 753c-XfGn):2016/12/01(木) 13:58:29.23 ID:oZ1ti8EX0.net
d3.jsで時系列の折れ線グラフを作成したんですが
ある期間を除外したいんですがどうすればよいでしょうか?
例えば11月1日から11月30日までの折れ線グラフで
土日のみを除外して(詰めて)表示したいんですが
サンプルでもよいのでどなたかご存知の方いたら教えてください
どうぞよろしくお願い致します

445 :デフォルトの名無しさん (ワッチョイ fc7b-lw9A):2016/12/01(木) 14:50:46.94 ID:91ReGJeh0.net
>>443
変数名は、動的に作れない

>>423-428
ここに書いてあるが、連想配列だろ

Objectで済む場合が殆どだがそれで不足なら、
ES6ならMap、それ以前ならMapのPolyfillを使う

var i = 1;
var prop = 'hoge' + i + 'fuga';

var obj = {};
obj[prop] = 'abcd';
console.log(prop, ' : ', obj[prop]);

普通は、オブジェクトのプロパティを、obj.prop と書くけど、
obj[prop] のようなブラケット記法でも書ける

ただし、オブジェクトのプロパティを連想配列として使った場合、
プロパティ名がたまたま、__proto__ と一致すると、エラーになる。
obj.__proto__ には、代入できないから

446 :デフォルトの名無しさん (ワッチョイ fc7b-lw9A):2016/12/01(木) 14:58:29.82 ID:91ReGJeh0.net
>>444
データセットと日付を対応させてみる
http://vesna-memo.com/?p=1140

d3.time.format()

447 :444 (ワッチョイ 753c-XfGn):2016/12/01(木) 15:06:58.72 ID:oZ1ti8EX0.net
>>446
データセットと日付はすでに対応付けられておりますが
土日のみをグラフ自体から切り取って平日のみをつなげて表示したいのです
そのような制御は難しいでしょうか?

448 :デフォルトの名無しさん (JP 0H72-r6VC):2016/12/01(木) 15:12:04.26 ID:V0GR9lTFH.net
>>447
元データから土日のデータを削除すればいいように思えるが。

449 :デフォルトの名無しさん (ワッチョイ 753c-wK09):2016/12/01(木) 15:26:10.57 ID:oZ1ti8EX0.net
>>448
はい、既に土日データは削除してます
ただグラフ上にある土日の期間は空欄で無駄なので省略して表示したいのです

450 :デフォルトの名無しさん (ワッチョイ 865b-BMT5):2016/12/01(木) 23:03:33.36 ID:XIdZTeEF0.net
Reflectの存在意義を教えてください。
http://qiita.com/ToshihiroGoto/items/36a4b355ba274ab25b46#proxy-%E3%81%A8%E5%85%B1%E3%81%AB%E4%BD%BF%E3%81%86
Proxyのhandlerの中で元のオブジェクトの機能をそのまま返す時に使うとのことですが、
return Reflect.has(target,name);
ではなく、素直に
return name in target;
と書けばいいだけですよね?

他のメソッドについても同じことが言えると思いますが、
それではReflectを有効に使えるのはどのような場面でしょうか?

451 :デフォルトの名無しさん (ワッチョイ 52dd-2R1L):2016/12/02(金) 03:23:30.85 ID:cAbrvXmy0.net
>>450
その例の proxy に対する in 演算子は proxy で定義された has を呼び出すので
その has 自身の定義の中では in は使えないことになる(再帰呼び出しになる)
ってことじゃない?
そのため、元々の in を表現するために Reflect が必要になると

452 :デフォルトの名無しさん (ドコグロ MMf4-gqht):2016/12/02(金) 13:09:59.88 ID:1FE2fahvM.net
>>451
ありがとうございます。
targetは元のオブジェクト(obj)を指すので、再起呼び出しにはならないと思います。
実際に試しましたが、再起呼び出しにはなりませんでした。
もちろん、targetの代わりにproxyを使えば、inでもReflect.has()でも再起呼び出しでエラーになります。
やっぱりReflect.has()を使う意味が分かりません。

453 :デフォルトの名無しさん (ワッチョイ 5a0d-J5J/):2016/12/04(日) 04:59:14.28 ID:cfKCrj340.net
[0,1,2]を[0,0,0,0,1,1,1,1,2,2,2,2]にしたいんだが
Uint8ArrayとUint32Arrayとか使ってスマートに実装できんだろうか?

454 :デフォルトの名無しさん (オッペケ Sr8d-yaSi):2016/12/04(日) 12:41:26.72 ID:LcKQAqeVr.net
>>453
なぜ Uint8Array が使えると思ったのか判らんが、現在のコードをさらしたら?
書いても「それは知ってる」と反応されるのは無駄だから

455 :デフォルトの名無しさん (ワッチョイ 5c7b-yaSi):2016/12/04(日) 12:49:36.96 ID:sKFdzyUb0.net
アルゴリズムの話をしたいのか、該当する命令の有無を知りたいのか不明。

456 :デフォルトの名無しさん (ワッチョイ 39ce-NTgB):2016/12/04(日) 12:56:48.83 ID:ObsZQ3a00.net
つーかここまで書いている本人がわかってないのバレバレな
書き込みもないよなw

本人は知ったかぶりしてるようだが、全く理解してないってのがよくわかるw

457 :デフォルトの名無しさん (オッペケ Sr8d-yaSi):2016/12/04(日) 17:09:47.58 ID:YTjaleeQr.net
>>453
一応、書いたが、Uint8Array をどう活用しようと思ったのか判らんかった
https://jsfiddle.net/c6jhyume/
reduce を使った方がスマートだったかも知れん

458 :デフォルトの名無しさん (ワッチョイ 39ce-NTgB):2016/12/04(日) 20:55:45.10 ID:ObsZQ3a00.net
> reduce を使った方がスマートだったかも知れん
最初にそれに気づかない時点で終わってるよなw

459 :デフォルトの名無しさん (オッペケ Sr8d-yaSi):2016/12/04(日) 22:39:39.47 ID:ZWOrjn1Er.net
for-ofで十分な気がしなくもない
https://jsfiddle.net/c6jhyume/4/
なぜか制御構文を敬遠する人がいるようだが、取り立てて使いづらい訳でもない

460 :デフォルトの名無しさん (ワッチョイ 39ce-NTgB):2016/12/04(日) 22:58:03.32 ID:ObsZQ3a00.net
>>459
SyntaxError: missing = in const declaration

こうなるからつかわねーんだよw

461 :デフォルトの名無しさん (オッペケ Sr8d-BMT5):2016/12/04(日) 23:19:40.54 ID:ZWOrjn1Er.net
for-ofでconstはGoogle Chrome では使えるので誤解していたが、Firefox では使えないんだな
ES7仕様上はFirefoxが正しいようだ
http://www.ecma-international.org/ecma-262/7.0/#sec-iteration-statements
「for-ofでconstが使えない」はfor-ofを使わない理由としては弱い気がするが

462 :デフォルトの名無しさん (アウアウウー Sa19-BMT5):2016/12/04(日) 23:45:43.13 ID:Gn0FqIa6a.net
関数の利点はスコープを分けられる事だが、for-of上ではletを使えるのでスコープの問題はない
各々の好みで選べば良い

for (let value of source) { push.apply(destination1, Array(4).fill(value)); }
const destination2 = source.reduce((destination, value) => (push.apply(destination, Array(4).fill(value)), destination), []);

463 :デフォルトの名無しさん (ワッチョイ 865b-BMT5):2016/12/04(日) 23:47:45.19 ID:+YPrxJ8s0.net
for-of+constも仕様上できるよ
IterationStatement[Yield, Return]:
 for(ForDeclaration[?Yield] of AssignmentExpression[In, ?Yield]) Statement[?Yield, ?Return]
 他
ForDeclaration[Yield]:
 LetOrConst ForBinding[?Yield]
LetOrConst:
 let
 const

ただ、現状 for-of と const の組み合わせに対応しているブラウザが少ない。(Edge14、GC49〜、SF10〜、iOS10〜)
http://kangax.github.io/compat-table/es6/#test-const
const > for-of loop iteration scope

464 :デフォルトの名無しさん (ワッチョイ 39ce-NTgB):2016/12/05(月) 00:13:18.04 ID:PskkFbSl0.net
そこでbabelがでてくる。

babelっていうのはES6以上を今の(ちょっと前の)ブラウザで動くように変換してくれるもの。
もちろん>>463の一覧にも乗っていてきちんと対応している。
このようにブラウザ間の非互換性を吸収する機能も持っている。

babelをつかわなければ、この機能はこのブラウザで対応していたっけ?って
考える必要があるが、babelを使えばいくつもあるブラウザのことを考える必要はなくなり
たった一つ、babelで対応しているか?を考えるだけで良くなる。

465 :デフォルトの名無しさん (オッペケ Sr8d-BMT5):2016/12/05(月) 00:22:45.74 ID:4g48wyMyr.net
>>463
情報ありがとう
改めて見たらES7仕様にも書いてあった
よく読む必要があるな…

466 :デフォルトの名無しさん (アウアウウー Sa19-BMT5):2016/12/05(月) 00:30:43.63 ID:nh5tVKvoa.net
Babelを使うならfor-of+constも使えるはずだが、(ワッチョイ 39ce-NTgB)はfor-of+constを使わない(>460)といってる
Babelを使うならSyntaxErrorが発生するはずがないが、SyntaxErrorが発生している(>460)
主張に一貫性がない

467 :デフォルトの名無しさん (ワッチョイ 39ce-NTgB):2016/12/05(月) 00:57:12.64 ID:PskkFbSl0.net
>>460を主張だと思うから矛盾しているようにみえるんだよw

全てはお前らにブラウザ間の互換性問題の話をさせるための仕込み
俺の本当の目的はbabel布教


俺がいきなりbabel布教したって、他の人にはどれだけ問題があるか
わかりづらいだろ? 問題をお前らにさせることで問題があることを
事実だと他の人にわかりやすいようにしたのさ

468 :デフォルトの名無しさん (オッペケ Sr8d-yaSi):2016/12/05(月) 01:26:44.55 ID:4g48wyMyr.net
「実は嘘でした」というのは簡単だが、代わりに信用を失う
いずれは狼少年と同じ結末を迎える

469 :デフォルトの名無しさん (ワッチョイ 39ce-NTgB):2016/12/05(月) 01:30:18.08 ID:PskkFbSl0.net
Firefoxでエラーが出るのは本当だし、
それをBabelが解決するのも本当だよ。

470 :デフォルトの名無しさん (オッペケ Sr8d-yaSi):2016/12/05(月) 01:32:40.86 ID:4g48wyMyr.net
>>460は「エラーが出るからfor-ofを使わない」と嘘を吐いた

471 :デフォルトの名無しさん (ワッチョイ 39ce-NTgB):2016/12/05(月) 01:47:11.59 ID:PskkFbSl0.net
>>470
そこ重要?w
エラーが出るから実際につかわない人もいるだろ。

472 :デフォルトの名無しさん (オッペケ Sr8d-yaSi):2016/12/05(月) 02:01:37.33 ID:4g48wyMyr.net
何か矛盾を見つけて指摘された時に「それはポーズだから」と返すのは簡単だが、一度やれば二度目もあると疑われる
(ワッチョイ 39ce-NTgB)は「>>467がポーズではないか」と疑われることは考えてないだろう?
不誠実な人は信用されない

473 :デフォルトの名無しさん (ワッチョイ 39ce-NTgB):2016/12/05(月) 03:11:18.59 ID:PskkFbSl0.net
なんか矛先をずらそうとして必死だなw

474 :デフォルトの名無しさん (ドコグロ MMa9-gqht):2016/12/05(月) 09:19:03.04 ID:Gg0HaX53M.net
39ce-NTgBのことは俺も信用してないから安心していいよ
Babelはそこそこ好きだけどね

475 :デフォルトの名無しさん (アウアウウー Sa19-BMT5):2016/12/05(月) 11:55:51.70 ID:IVUF59c6a.net
(ワッチョイ 39ce-NTgB)が信用できない事は分かっていたが、想像以上に性根の捻じ曲がった人だったな

476 :デフォルトの名無しさん (ワッチョイ c2a7-NTgB):2016/12/05(月) 14:01:18.77 ID:m8l4mHA+0.net
今更ワッチョイ晒さなくてもみんな>>8のやつだってわかってるから
黙ってNG突っ込んどけよ

477 :デフォルトの名無しさん (ワッチョイ 34c9-NTgB):2016/12/05(月) 14:17:29.39 ID:py+X8wbm0.net
JSDocの書き方で質問なんだけど
関数内で使っているグローバル変数を明記するのは
どうやって書けばいいの?

478 :デフォルトの名無しさん (ワッチョイ 39ce-NTgB):2016/12/05(月) 21:45:42.89 ID:PskkFbSl0.net
>>476
そうすれば、誰も俺に反論(見えないからね)しなくなるので
助かるんだけどなぁw

479 :デフォルトの名無しさん (ワッチョイ 39ce-NTgB):2016/12/05(月) 21:46:49.92 ID:PskkFbSl0.net
>>477
そもそもグローバル変数はつかわない

480 :デフォルトの名無しさん (ワッチョイ 53c3-drn7):2016/12/11(日) 07:46:13.44 ID:iSoJ1ckE0.net
Windows7です
jsc.exeでJavascriptをコンパイルしてexeファイルを作りたいと思っています
いろいろ調べてWScriptを使うためにはActiveXObjectすればいいというのを見つけたのですが

var WScript = new ActiveXObject("WScript.Shell");
WScript.Run("notepad.exe", 1, 1);
はちゃんと動いたのですが、

var WScript = new ActiveXObject("WScript.Shell");
WScript.Echo("abc");
とするとハングアップしてしまって動きません
解決方法はありますか

481 :デフォルトの名無しさん (ワッチョイ d35b-drn7):2016/12/11(日) 11:33:12.05 ID:+I+aM6eT0.net
>>480
ggrks
http://language-and-engineering.hatenablog.jp/entry/20081024/1224781777
http://www.atmarkit.co.jp/fdotnet/special/dotnet_sdk/dotnetsdk07.html

482 :デフォルトの名無しさん (ワッチョイ 53c3-drn7):2016/12/11(日) 11:42:59.63 ID:iSoJ1ckE0.net
>>481
その辺は見ましたよ
わたしがやろうとしてるのは、jsc.exeでWScriptを使えないのかということ
http://stackoverflow.com/questions/9913845/converting-javascript-to-exe-wscript-has-not-been-declared
を見ると
var WScript = new ActiveXObject("WScript.Shell");
とやれば出来そうに書いてあるけど、基本的なEchoが出来ないのでなんでだろう?ということです
でも、Runが動く

483 :デフォルトの名無しさん (ワッチョイ d35b-drn7):2016/12/11(日) 12:41:13.74 ID:+I+aM6eT0.net
>>482
文盲には無理。お前のURLから辿れるところに答えが書いてある。

484 :デフォルトの名無しさん (ワッチョイ 3736-maiv):2016/12/11(日) 22:45:18.23 ID:kg/mlddD0.net
function mainで二つの値を以ってfunction subに飛ばして処理するとき
引数2つとも判定に使用していますが物凄く冗長になってしまいました。
function subをコールした時に処理を纏める方法はありますでしょうか。

//global変数
mein_hoge = {nenrei: 1, b:15, c: 30, d :40}
target1_hoge = {nenrei: 3, b:20, c: 25, d :10}
target2_hoge = {nenrei: 1, b:40, c: 13, d :30}
target3_hoge = {nenrei: 2, b:30, c: 32, d :21}

function sub(引数1,引数2){
 引数1=1の時
   引数2の値で10種類の計算(以下例)
   //引数2=1の場合 main_hoge['b'] = Math.ceil(main_hoge['b'] * 1.1)
   //引数2=2の場合 main_hoge['b'] = Math.ceil(main_hoge['b'] * 1.5)
             main_hoge['c'] = Math.ceil(main_hoge['b'] * 2)
   //引数2=3の場合 main_hoge['c'] = Math.ceil(main_hoge['c'] * 1.1)

…………

 引数1=2の時
   引数2の値で10種類の計算(違いは配列名だけ)
   //引数2=1の場合 target1_hoge['b'] = Math.ceil(target1_hoge['b'] * 1.1)
   (以下略)
 引数1=3の時
   (以下略)
}

485 :デフォルトの名無しさん (スププ Sd2f-8ocn):2016/12/11(日) 23:26:07.70 ID:DSUXohxod.net
係数は、
tbl={
1:1.1
2:1.5
}
みたいなの渡せばいいんじゃないの?
配列が変わるなら、配列自体を渡せば?
使途がわからんから読みきれんけど。

486 :デフォルトの名無しさん (ワッチョイ d35b-drn7):2016/12/12(月) 00:02:42.32 ID:x9ggXkxf0.net
>>484
> 違いは配列名だけ
function sub(引数1,引数2, target_array) { // target_array は変更配列名
target_array['b'] = Math.ceil(target_array['b'] * 1.1);

ちなみに係数は>>485の形式で配列にしておきクロージャでスコープに入れ、引数2で引く。
var coeffs = [1.1, 1.5, 1.1];
function sub(引数1,引数2, target_array) {
target_array = Math.ceil(target_array['b'] * coeffs[引数2]);

おそらく 'b' や 'c' も同様に出来るのだろうからそれも。
上手く纏まらないのなら諦めてそのまま書くしかない。
あと、その手の場合はenumの値を直接扱うよりは名前で扱った方がいい。
その場合はcoeffsは配列ではなくオブジェクトになる。
(配列の方が速いが名前引きの方が後で分かりやすい。そこで速度が必要とも思えないし)

487 :デフォルトの名無しさん (ワッチョイ 0bce-drn7):2016/12/12(月) 02:01:34.20 ID:l2OsM7Pl0.net
>>484はそもそもローカル変数って何?ってレベルだろうな。
まず第一に、グローバル変数は禁止だ。
そのグローバル変数をなくしないさい。

488 :デフォルトの名無しさん (オッペケ Sr27-32/C):2016/12/12(月) 12:35:36.33 ID:VLaUejgQr.net
>>484
次の二択
- switch 文を使う
- 配列を使う
引数2の処理は共通なので関数に逃がすか配列にしてコードを共通化するか
まあ、配列を使えばすっきりするだろうな
ところで、484はコードにすらなってないので制作依頼にも読めるんだが、自分でちゃんと書いてるんだよな?

489 :デフォルトの名無しさん (ワッチョイ 53c3-drn7):2016/12/12(月) 13:40:20.86 ID:KHTlL8cv0.net
JScriptでエクセルを扱うとき

var ExcelApp=new ActiveXObject( ”Excel.Application” )
ExcelApp.Visible=true
WScript.Sleep( 1000 )
var book=ExcelApp.Workbooks.Open( ”C¥¥Test.xls” )
var sheet=book.Worksheets( 1 )

としてエクセルファイルを開きますが、既に開かれているエクセルファイルを操作するには
どうしたらいいでしょうか

490 :デフォルトの名無しさん (ワッチョイ 0bce-drn7):2016/12/12(月) 22:35:56.90 ID:l2OsM7Pl0.net
switch文すっかり使わなくなったな。
switch文はコードを複雑にするだけだよ。

491 :デフォルトの名無しさん (ワッチョイ d35b-drn7):2016/12/13(火) 00:59:35.94 ID:uBZRzWX90.net
>>489
知らんが、そのまま開くだけじゃないか?要するに普通に2つ開くのと同じ。
一般的に考えて同期してくれるとは思えないが、最近のExcelならもしかして?

つか、そんなんでExcel開ける方がびっくりだわ。
大昔からやってる人には常識なのかもしれんが。
ActiveXでIE縛りから逃れられないってこれのことだったのか?

ついでに言っておくと、もしかして>>480って
「ダブルクリックで起動したときにEcho出力が見えません」ってオチじゃないだろうな?
それは「ハングアップ」とは言わないぞ。

492 :デフォルトの名無しさん (ワッチョイ 0bce-drn7):2016/12/13(火) 02:18:34.59 ID:MvIBvV300.net
>>491
> つか、そんなんでExcel開ける方がびっくりだわ。
> 大昔からやってる人には常識なのかもしれんが。
> ActiveXでIE縛りから逃れられないってこれのことだったのか?

大昔からっていうか、単にお前がWindowsのプログラミングを知らないだけだよ。
Windowsではな、GUIのアプリ同士が連携できる。
あるアプリの中に別のアプリを埋め込むことができる。

パイプによる連携だけじゃなくて、あるアプリをそのアプリが公開している
APIを使って操作するための共通の連携の仕組みがあるんだよ。
逆にこれがないなら、どうやってGUIアプリと連携させるんだ?

もちろんIEだけじゃなくて、Windowsで動くいろんな言語、
例えばRubyやJavaScript(node)はこの仕組をサポートしてる。
だからどんな言語であれExcelをAPI経由で操作できるんだよ。

例えばRubyのコード。言語が違うだけでそのJScriptと同じAPIがつかわれている。
http://qiita.com/z_yuki/items/47f05cb4694489228e0f

493 :デフォルトの名無しさん (ワッチョイ d35b-drn7):2016/12/13(火) 19:45:11.10 ID:uBZRzWX90.net
>>492
× Windowsのプログラミング
○ Officeのプログラミング

だろ。まあいいが。
ただ、Excel文書を共有したいって業務がらみか?
だったら隣の席の奴に聞いた方がいいと思うし、普通はVBAだと思うが。

> 逆にこれがないなら、どうやってGUIアプリと連携させるんだ?
そんな連携は要らないというのがUnixの思想じゃないか?
普通にCSVを吐いてCSVを読み込む、ファイル経由での粗結合で十分ということだろう。
実際、これで困ることはないわけでね。
(出来ること自体は選択肢が増えていいことではあるが。)

そもそもこの辺のアーキに関わることを>>480程度の知識でやるのはかなり危険、
本人は自覚してないだろうから具体的に言っておくと、下手すれば全部作り直しになる。
だからよく分からないのなら普通は粗結合側を選ばないとまずい。
まあそれも含めて学習といえばそうだが、個人のプロジェクトならさておき、
業務だと他の連中もデスマーチに付き合わせることになり、恨まれる。
とりあえず他の連中とも話し合った方がいい。
密結合するメリットがあるのならやればいいが、その辺を議論出来る感じとも思えないし。

494 :デフォルトの名無しさん (ワッチョイ 0bce-drn7):2016/12/13(火) 21:06:06.64 ID:iAtvyUgt0.net
>>493
> × Windowsのプログラミング
> ○ Officeのプログラミング
>
> だろ。

違う。Windows標準のやり方だから
同じ方法を使ってVBAでIEを自動制御だってできる。

495 :デフォルトの名無しさん (ワッチョイ d35b-drn7):2016/12/13(火) 23:20:10.98 ID:uBZRzWX90.net
>>494
では非マイクロソフト製品、例えばChromeやFireFoxの制御は出来るのか?
それが出来れば「Windowsのプログラミング」と言える。
出来ないのなら、「Microsoftのプログラミング」だね。

いずれにしても、MicrosoftがそういうAPIを用意していたこと自体はいいことだ。
ただそれを使うのがいいかどうかはまた別の話だ。

496 :デフォルトの名無しさん (アウアウイー Sa37-8ocn):2016/12/13(火) 23:42:46.23 ID:cZJz/amWa.net
>>495
出来るとは思うけど。
ある程度はsendkeys経由になるとは思うけど。

まぁ、順当に考えてちょっと面倒な話はおいとくけど、
ActiveXコンポーネントとして存在すれば呼び出せるよ。Officeに限らず。
VB6とかの頃の話だから、若い人は知らんのかな。

497 :デフォルトの名無しさん (ワッチョイ 0bce-drn7):2016/12/13(火) 23:48:44.55 ID:iAtvyUgt0.net
じゃあActiveXコンポーネントというのは
OSが用意している機能なのか?と質問されれば
YESとしか答えようがないからな。

498 :デフォルトの名無しさん (アウアウイー Sa37-8ocn):2016/12/13(火) 23:55:28.13 ID:cZJz/amWa.net
>>497
むしろそこが美味しい所だしね。
ActiveX縛りでIEから云々は的外れで、Webで使うにはあまりに何でもできるよね、まずいよね、
ってところから、IEから自由に使えなくなった過去があるレベル。 

普通はVBAですらない。vbs。
csvが完璧に書式も持てるならcsvからcsv吐けばいいけど、
書式活かしたい、計算式活かしたいとなると充分どころか最低限すら満たさん。
ドヤ顔で「実際これで困ることはないわけでね」とか言って、アーキに口出しするなと言ってる自分がらもっとアーキに口出しすべきでない人間だとは皮肉なもんだな。

499 :デフォルトの名無しさん (ワッチョイ d35b-drn7):2016/12/14(水) 00:05:01.01 ID:bj02pMPP0.net
>>496
> ある程度はsendkeys経由になるとは思うけど。
それは「出来る」とは言わないだろ。というか屁理屈になってるぞ。

そもそもWin32APIははキーボード/マウスイベントを生成して打ち込むことが出来るから、
それで「出来る」というのならそれ以前から何でも「出来る」ことになる。
そしてそれはunixではもっと簡単に出来る。/dev/inputにリダイレクトするだけ。(やったことはないが)
だからそれで「出来る」というのなら、unixならもっと簡単に「出来る」ことになる。

そうではなくて、Excel側が共通の仕組み(ActiveXか?)からAPIを呼び出せるように整備されているだけでしょ。
だからchrome側からAPIをActiveX向けに提供してないと呼び出せない。
FireFoxはプラグインがあるみたいで、それを使えばいけるようだが。(Wikiによると)

それを「俺は昔からやってるんだから詳しいんだ」というのならただの老害だぞ。
まあそれもそちらの自由ではあるが。

500 :デフォルトの名無しさん (アウアウイー Sa37-8ocn):2016/12/14(水) 00:18:56.09 ID:BIWUg/7Ya.net
>>499
dev/inputに流し込むって一般ユーザでできるっけ?
普通に間かました方が楽だと思うけど。それこそstdinでもらっちゃえばパイプしほうだいなんだし。

どう話を持っていきたいのかわからんが、非マイクロソフト製品、例えばAcrobatなんかはほぼフル機能が呼び出せるし、なんだかんだ、お前が思ってる以上に色々できると思うよ。
マイクロソフトのプログラミングでは決して無い。
APIという概念より更に上の、「オブジェクト」だよ。

昔からやってるから詳しいんじゃなくて、オブラートを取ると、お前が無知すぎるって言ってんの。

501 :デフォルトの名無しさん (ワッチョイ d35b-drn7):2016/12/14(水) 00:32:35.59 ID:bj02pMPP0.net
>>498
> 書式活かしたい、計算式活かしたいとなると充分どころか最低限すら満たさん。
Excel側にデータと書式を混ぜておいているのがいけない。

だってWebで同様の物を作ろうとしたら、データと書式は分離して、計算式もまた別に持つだろ。
データは鯖上のDB、書式はHTML+CSS、計算式はPHP+JavaScriptになる。
最初から全部別であることを強制される為、システムが小さい場合は確かにウザイが、
大きいシステムでも問題なく対応出来るし、変更に強い。
一言で言えば、「正しい」やり方ではある。

Excelでやるにしても、データシート(csv読み込み)と表示用シート(レイアウト済み)は別にして、
データシートの値を引っ張ってきて表示すればいいだけだし、それで全く問題ないだろ。
そもそも「データ」と「表示用書式」を混ぜる意味なんて全くないと思うし、
それ以前に「書式」をcsvから読ませようと思ったことがないんだが。
だってそれはWYSIWYGとじゃないと辛いし、必要ならExcelで作業するだろ。

まあ俺が言っているのはそれ以前で、
WScriptから直接Excelをいじるのはあまりよくないのではないかな、ということなんだが。
まあ本人が考えればいいだけのことではあるが。

502 :デフォルトの名無しさん (ワッチョイ d35b-drn7):2016/12/14(水) 00:45:54.95 ID:bj02pMPP0.net
>>500
まあ俺が無知なのは事実として、お前も相当馬鹿だと思うぞ。
何で「データ」と「書式」を混在させる必要があるのか、理由が言えるか?


/dev/inputは直接はスーパーユーザーからしか使えないとは思うけど、
スーパーユーザー権限でそこにリダイレクトするパイプなりを作っておいて、
それをユーザーに開放しておけいいだけの話だろ。
まあこれはもういいが。

> 例えばAcrobatなんかはほぼフル機能が呼び出せる
まあ分かった。
おそらくWindows上ではActiveXが使えることはすごく便利で、
一昔前、或いは今もActiveXから使えるように整備しておくことが一般的で、
これさえやっておけばスクリプトでバッチ処理を書けるようになると。
で、俺はそれを知らなかった、そういうことだな。

503 :デフォルトの名無しさん (ワッチョイ 0bce-drn7):2016/12/14(水) 00:57:08.74 ID:rsGVtDKV0.net
>>499
> そうではなくて、Excel側が共通の仕組み(ActiveXか?)からAPIを呼び出せるように整備されているだけでしょ。

だからExcelというアプリがOSが用意しているActiveXという仕組みをサポートしてるって話。
OSが規格化してるんだよ。アプリケーション間の共通のインターフェースの仕組みを

504 :デフォルトの名無しさん (ワッチョイ 0bce-drn7):2016/12/14(水) 00:58:11.16 ID:rsGVtDKV0.net
>>502
> 一昔前、或いは今もActiveXから使えるように整備しておくことが一般的で、

アプリケーション間のインターフェースだからな。
今はそれがセキュアになって、.NET(の一部)になっている。

505 :デフォルトの名無しさん (ワッチョイ d35b-drn7):2016/12/14(水) 01:08:20.03 ID:bj02pMPP0.net
>>504
> 今はそれがセキュアになって、.NET(の一部)になっている。
お?スレチだがちょっと教えてくれ。

これって.NETアプリは全部同様にスクリプトから触れるって事か?
例えば.NET(フォーム)のControlクラスがActiveX対応済みで
JScript等のスクリプトから値が取れたり設定出来たりするとか。
これならすごいなと思うが。
ただちょっと調べた限り、フォームコントロールとActiveXコントロールは別物みたいだが。

506 :デフォルトの名無しさん (アウアウイー Sa37-8ocn):2016/12/14(水) 01:40:45.54 ID:BIWUg/7Ya.net
>>501
混ぜておいてて良いよ…
ユーザ開放できないじゃん。

Webで同様のものは作らないよ。。
雛形のExcelファイルと、それに流し込まれるデータと、流し込むスクリプトだよ。
それがJSなだけ。
計算式はphpとかjsにしない。

一言で言えば、正しいなんて無いんよ。

データシートとレイアウトシートはもちろん分けるけど…どこから混ぜるって話出てきたの?
そこで、データシートとレイアウトシートをセットで管理できるExcelなんじゃん。
書式を触りたくないし、WYSIWYGでやりたいから、エクセルがそのまま読み込めてエクセルとして出したいんでしょ…?

お前業務系やったことないの?

>>502
そんなもんユーザ開放するな。

多分わかってないよ。使えることはすごく便利、じゃなくて、当たり前だったの。

>>505
触れる。
.NetのフォームはActiveXではなく、.Netのコントロールだけど、自分のappDomain中でインスタンス化してリフレクションで触ってもよし、Managed Spyでそのまま触ってもよし。
何か間に噛ませたほうが楽だとは思うけど。

507 :デフォルトの名無しさん (ワッチョイ 4fe1-cKcd):2016/12/14(水) 02:05:18.02 ID:ruWVQ7Ya0.net
>>505
UI Automationで大体のことはできるよ
Chromeとかの操作ならSeleniumが有力かな。これはwindows限定ではないけど

ちなみに、Excelはただデータを表示するだけのソフトじゃなくて、意味不明なほど高機能
xlsxの仕様は数千ページに及んでる
POIとかClosedXml見たいなライブラリで大体はxlsxファイルを処理できるけど、結局COMでExcelを操作するのが安定の場合もあるので何とも言えない

エクセル操作するなは、Webで言うならブラウザ使用禁止ぐらいの縛りプレイな場合もある

508 :デフォルトの名無しさん (ワッチョイ d35b-drn7):2016/12/14(水) 03:08:56.38 ID:bj02pMPP0.net
>>506
いやお前はだいぶずれていると思うがな。
まあ水掛け論にしかなりそうにないから終わりでいいが。

> データシートとレイアウトシートはもちろん分けるけど…どこから混ぜるって話出てきたの?
分けるんならデータだけcsvで読み込む分に何も問題ないだろ。
君の主張は
> 書式活かしたい、計算式活かしたいとなると充分どころか最低限すら満たさん。(>>498)
つまり書式も計算式も「読み込みたい」って事なんだろ。
俺はその用途は無い、読み込むのはデータだけでいいだろ、って言ってるだけ。

> 自分のappDomain中でインスタンス化してリフレクションで触ってもよし、
ここのところは正直どれほど見えるのか分からないが、
もしC#のフォームアプリを作るのと同レベルの「リフレクション」なら、それは「触れる」とは言わない。
それは「やれなくはない」と言う。
WScript等でExcelをいじる分には、セルの内容をそのまま単純に書けるので、「触れる」と言っていい。

509 :デフォルトの名無しさん (ワッチョイ d35b-drn7):2016/12/14(水) 03:28:55.97 ID:bj02pMPP0.net
>>507
> Selenium
見たところ、こいつもドライバでActiveXモドキを用意する感じか。
しかしこれなら最初からActiveX用パッチをchromeに用意した方が妥当だったように感じるが、
そうならなかったのは何故なんだ?
そちらの意見を聞く限り、ActiveXワールドが既に出来上がっている時点で、
Seleniumワールドを新たに構築する意味はないように思える。
というか、いちいちアプリごとにドライバを用意する必要があるseleniumよりも、
OSが主導して提供しているActiveXの方が断然筋がいい。

> Excelはただデータを表示するだけのソフトじゃなくて、意味不明なほど高機能
ああ、ギャラガが出来るとかは知ってる。
てか、既に開いてあるExcelの画面を操作したいとか、対戦ぷよぷよでも作るつもりか?とか思ったね。

というか、逆に何でも出来てしまうからそこにトラップされてしまうのだと思うね。
通常のファイルなら先に開いている人が居たらロックされて後の人は改変出来ない。
だから多人数から同時に開いて同時に編集したいのならDBにすべき案件なのに、
それを無理矢理Excelでやれば出来てしまうんだろ。多分。
だからっていつまでもExcelで行けるはずもないわけで。

510 :デフォルトの名無しさん (スププ Sd2f-8ocn):2016/12/14(水) 08:46:52.07 ID:P0N0TYuod.net
>>508
も、じゃない。2ファイルが許されんの。

フォームアプリ作るレベルじゃねえじゃん、俺が書いた内容。
無能な上に調べる事もできんのならもう生きてる価値ねえんじゃねえの?

511 :デフォルトの名無しさん (スププ Sd2f-8ocn):2016/12/14(水) 08:50:39.19 ID:P0N0TYuod.net
>>509
だから、生成されるファイルは別個のエクセルでしかるべきだよね。
CSV読み込むVBAじゃなくて。

意味不明なほど高機能、は
統計関数が結構イケてる
グラフが描ける、それも方対数、両対数も
真面目に作った帳票は印字に耐える
非エンジニアやユーザがレイアウト変えられる
ってところじゃないの?

512 :デフォルトの名無しさん (ワッチョイ 56e1-NX/j):2016/12/15(木) 00:15:53.99 ID:rhfez4B40.net
>>509
適当に上げてみると
・COMは基本Microsoftプラットフォームに依存するので、マルチプラットフォームに反する
・実装コストが高い。内部処理を適切に公開する必要があり、その実装の手間はもちろん、高速化や仕様変更の邪魔にもなりうる
・セキュリティ面。Flashとかと同様に、外部のプログラムは存在自体が脆弱性の原因になり得る
とかかな

Excelが高機能っていうのは、例えばOLEの埋め込みとか、関数の解釈、グラフなどなどをすべて外部で再現するのが難しいということ。
これはブラウザにも言えて、スクレイピングしたい時にCookieやリクエスト管理、JavaScriptの実行などを自力で対応するはかなり手間。
そういうときにIEコンポネとかPhantomJSみたいなブラウザ制御を利用すると非常に簡単にできる。

Excelはお手軽に、パソコン苦手な人でも扱えるUIを簡単に構築する時に手っ取り早いことが多い
しかも、COMだとVBSやJScriptはもちろん、C#やC++からもフルで機能が利用できるので使い勝手がよい。

513 :デフォルトの名無しさん (ワッチョイ bf5b-0G5/):2016/12/15(木) 01:05:38.27 ID:WvsXoMFQ0.net
>>512
一応調べたんだがイマイチ見えないから教えて欲しいんだが、
COM/DCOM/OLE/ActiveXってのは結局の所親戚で、
「外部からの操作も可能にしようとした」って事なのかな?
ActiveXに関しては「外部からダウンロードしたプログラムを動作させる」という
見た目は異なる物になっているが、OLEの後継ということらしいし。

> http://e-words.jp/w/COM.html
ただCOMとかの説明を読む限り、また君の文面からも、
要するに「アプリの共通コンポーネント(COM)を公開」していて、それらは普通にアプリに組み込め、
ついでにそれらに対するアクセスをOS側が提供することによって、
結果的にそれらを組み込んだアプリは外部からの操作も可能になるということなのか?
たとえば、ActiveXObjectとして見える物はそれぞれのCOMそのものであり、それを操作出来るとか。

ただいずれにしても筋はActiveXの方がいいように見える。(Seleniumより)
APIではなく直接オブジェクトが見えるのは、弄れすぎだし密結合だが、悪い解でもない。

Excelで組むこと自体は悪いことではないよ。
ただ、システムのアップグレードをするべきタイミングを逃すと、
後でアップグレードする時にはもっと大変なことになる。
結果、ずるずると引き延ばされ続け、酷いことになる。俺が言っているのはこれ。
とはいえExcelは結局の所何とでも出来るから押しが利くのも事実だとも思うが。

後イマイチそちらが言っていることがピンとこないのだが、
Excel上にCOMとしてIEコンポーネントを貼り付け、それらをC#やVBSで叩いてデータを取得させ、
ついでにそこにグラフをExcelの機能で描いてしまえ、とかいうケースか?
個人的にはそこまでしてExcelでやらんでも、とは思うが。

514 :デフォルトの名無しさん (ワッチョイ 35ce-0G5/):2016/12/15(木) 02:04:54.27 ID:B8ikKJQd0.net
>>513
少しだけ教えてやるわ。

COM(ActiveX)はバイナリが異なれば違うバージョンとして扱われる。
そして全てのバージョンを共存することができる。
だからズルズルと引き伸ばされるなんてことはありえない。

その点は.NETと思想が同じだが、COMは当時主流の
C言語からも使えるように考慮する必要があったから
なんちゃってオブジェクト指向(コンポーネント指向)

.NETではJavaを参考にオブジェクト指向ベースになってるからより使いやすい。

515 :デフォルトの名無しさん (ワッチョイ 80d2-AUQK):2016/12/15(木) 06:17:42.41 ID:HK/hXnKv0.net
偏屈なゆとり増えたよな

516 :デフォルトの名無しさん (アウアウイー Sa87-BM5A):2016/12/15(木) 07:12:51.70 ID:BawVZm9ba.net
>>513
だいたいそうだけど、密結合ってわけでもない。
ActiveXオブジェクトとして、変えないインターフェイスを提供するタイプもある。

ExcelにCOMで貼り付けるんじゃなくて、
c#やらvbsで、ExcelのインスタンスをCreateObjectで立てて、excelファイル開いて、シートにc#やらvbsの出力を書いていく。
もともと数式やグラフ域はあるので、スクリプトから何もせずとも、再計算すれば合計、ピボット、グラフが出来上がってる。
グラフ、excelのは見た目がショボいけど、できる事は割とすごいよ。

517 :489 (ワッチョイ 1fc6-0G5/):2016/12/15(木) 11:52:06.70 ID:hDru1IJ90.net
やっと詳しい人たちが現れたようなので再度質問します
JScriptでエクセルを扱うとき、既に開かれているエクセルファイルを操作することは可能ですか

518 :デフォルトの名無しさん (ワッチョイ 74c9-0G5/):2016/12/15(木) 11:59:37.24 ID:ZjiCD7fs0.net
>>517
可能だよ
シート検索して開いて数字書いて計算結果印刷させる
くらいならなんぼでもできる

519 :デフォルトの名無しさん (スププ Sdb8-BM5A):2016/12/15(木) 12:08:36.91 ID:ef5qYk7Xd.net
>>517
ダイアログ出るから止まるかと。
workbooks.Open呼んでると思うけど、ReadOnly=trueで読み込んだら良いんじゃ?
そうじゃなくて、開いてるやつを操作したいとなると、
GetObjectでExcel.Application取って、その中のWorkbooksからpathとNameが一致するやつ探したような記憶がある。

520 :デフォルトの名無しさん (ワッチョイ 1fc6-0G5/):2016/12/15(木) 12:45:24.66 ID:hDru1IJ90.net
>>519
ありがとう。GetObjectで取れるのなら出来そうですね

521 :デフォルトの名無しさん (ワッチョイ 1fc6-0G5/):2016/12/15(木) 13:34:25.89 ID:hDru1IJ90.net
>>519
やってみたところ成功しました。ありがとうございました

522 :デフォルトの名無しさん (スププ Sdb8-BM5A):2016/12/15(木) 14:56:07.03 ID:ef5qYk7Xd.net
出来て良かった。変な風に荒れさせてごめんね。
なんぼでも出来る、と言うなら>>518も書けばよかったのに。

523 :デフォルトの名無しさん (ワッチョイ 74c9-0G5/):2016/12/15(木) 18:57:27.31 ID:ZjiCD7fs0.net
申し訳ない
「可能ですか」 とあったから、Yes/No だけ聞きたいのかと思った。

最低限のヒントだけもらってあとは自力で頑張る、成長性あるタイプかと
勝手に思い込んでいたわ。 すまん

524 :デフォルトの名無しさん (ドコグロ MM7f-KNaT):2016/12/15(木) 19:50:55.57 ID:IqUdevKXM.net
アスペすぎだろ

525 :デフォルトの名無しさん (アウアウイー Sa87-BM5A):2016/12/15(木) 21:16:53.03 ID:BawVZm9ba.net
>>523
そうなのか、てっきり昨日の続きの奴が、できるはずは無い、なぜならなんとかかんとか、
と思って、どうせできるはずが無いから確認もせず煽ったれと真似して
「なんぼでもできる」
と言ったのかと思ったよ。
嫌味言ってすまんな。

526 :デフォルトの名無しさん (ワッチョイ bf5b-0G5/):2016/12/16(金) 00:13:00.17 ID:J/eqkCwi0.net
>>516
逆か。つまりC#からExcelをグラフ描画/表計算用ライブラリとして使うと。
その使い方は俺はありだと思うぞ。
自前でやるのは死ねるだけだし、
一応Chartコントロールってのがあるみたいだがどう考えてもExcelより機能はショボイし。

それは使い捨てのフロントエンドとして使っており、自前でやる意味はない。
ある物を有効活用すべきだし、Excelが既に使える状況ならそれでいい。
問題は>>489はバックエンドのDBとしてExcelを使っている点だ。
君の使い方なら「同時に開いて操作」なんてあり得ないだろ。

>>480,489はあのレベルなのでかなり怪しいけど、
もしそれが本当に必要なら、バックエンド部分はDBに移行すべきタイミングだということ。
多分今回を逃すともっと悲惨なことになる。
フロントエンド部分をExcel側に残すのは問題なくて、(これは永久にExcelでもいい)
C#でDBを叩いてデータを取得し、グラフは面倒だからExcelで、となると>>516になる。

>>480,489は初心者過ぎてやりもしなくていいことをやろうとしているか、
或いは本来は大改修が必要なのに人員が確保出来ずおかしな事になっているかだと思う。
まあ通常は前者だから隣の席の奴に確認してみろ、というわけでね。

それこそ業務なら>>516みたいな前例があるはず。
その場合はそれを改修する方が早いし、ユーザーにも混乱がない。
見る限りスクラッチから作ろうとしているわけだが、そりゃ違うだろ、ってことでね。
もし本当にシステム自体をスクラッチから作るのなら、最初からDBで行けって話だし。
まあ俺の回答はお気に召さないようだが。

527 :デフォルトの名無しさん (ワッチョイ bf5b-0G5/):2016/12/16(金) 00:14:30.02 ID:J/eqkCwi0.net
質問者は「私は悪くない」という典型的クソ女な訳だが、問題は質門が曖昧な点なんだよ。
だからそれぞれが質問者の状況を想像し、仮定して回答している。
回答は結局の所、「読みとり専用」で済む範囲なら単純に新たに開くだけでいいし、
同一PC上の別Excelを「掴む」だけなら一覧からハンドルを取得すればいいが当然管理者権限が必要、
(つまり業務PCで管理者権限を与えられていない場合は動かない)
それ以上の同時変更/更新とかなら、それをここで聞いている時点で無理。

だから>>518だって不思議な回答ではないし、俺もその仮定だから単に開けと回答した。
既存ファイルをテンプレとして用い、データだけ差し替えてプレビューしたいのならこれなんだよ。
(ベースはC#だが>>516もこの使い方。)
回答者側が質問者の日本語が不自由な点をフォローして複数回答したのが>>519になる。

ただいずれにしても、俺は同僚に確認した方がいいと思うぞ。これは本当に。
何らかの理由で同僚に聞けない状況なのであれば、それはお前が原因だし、地道に改善するしかない。
仮にそれをここで聞いた内容で独断で実装したとしても、余計に評判を落とすだけだ。
だって、その方法だと、そのExcelファイルに列を1列挿入しただけで君のスクリプトは使えなくなるだろう?
そこまで密結合させると全く融通が利かなくなるんだよ。
それに対して君は「今後一切、行も列も挿入/追加するな」と言えるのかい?普通は無理だよね。
ではいちいちそのExcel表が変更されるたびに君はメンテナンスするのかい?全くの無駄だよね。

君がやろうとしているのは「勤勉な無能は余計に迷惑」でしかない。
ホウレンソウするべき典型的なケースだよ。
再度言うが、それを独断専行したら仮に実装出来たとしても余計に評判を落とすから、
マジで相談しておけ。相談して悪いことは普通はない。

プログラミングの歴史もそんなに浅くはないし、そこそここなれて来つつある。
典型的な問題に対する対処は大体先例があるし、当然サンプルコード等も出てくる。
初心者なのに何も検索でヒットしないのなら、まず、やり方が間違っていることを疑った方がいい。
既にあるプロセスにアタッチするというのは、デバッグ以外ではほぼ必要ない。

528 :デフォルトの名無しさん (ワッチョイ 35ce-0G5/):2016/12/16(金) 03:02:12.53 ID:V1m5PHBA0.net
またグダグダぐだぐだと
あっちのやつと同じかな

529 :デフォルトの名無しさん (ワッチョイ 56e1-wzhw):2016/12/16(金) 06:16:19.32 ID:loc8suhW0.net
管理者権限いらんだろ
データベースだって列を一つ追加されたら動かなくなるし

誰も行ってないことを言ってるし、幻覚の症状でもあるのかな

530 :デフォルトの名無しさん (アウアウイー Sa87-BM5A):2016/12/16(金) 07:46:01.15 ID:kU7foGc8a.net
そこはあれだよ。
書き込み対象のエクセルを開けること自体が、そのファイルに権限ないと出来ないし、大体の資産管理で監査にきれいに乗った「文書ファイルを開く」ってエントリになるし。
開いてる(≒開けている)ファイルに書き込む、は結構アリだよ。

ちなみに俺がそのバッチ書いたのはvbsとjsの時代。

531 :デフォルトの名無しさん (ワッチョイ bf5b-0G5/):2016/12/16(金) 20:48:56.98 ID:J/eqkCwi0.net
>>530
> 開いてる(≒開けている)ファイルに書き込む、は結構アリだよ。
そうか?俺は聞いたことがないぞ。
普通ならVBAで実装すればいいだけだ。

というかその言い方が正しく表現されたものなら大体状況は想像つくが、
分かっている奴がやるのならまだしも、
初心者にそれをアドバイスするのはどうなのよ?
それが普通だと勘違いされても、本人も周りも不幸だろ。

532 :デフォルトの名無しさん (スププ Sdb8-BM5A):2016/12/16(金) 21:52:28.50 ID:PNCZZxG5d.net
>>531
お前の経験不足じゃねえの?
VBAで実装したら、excelがマクロ入りになるか、マクロ入れたブックを撒かなきゃならんでしょ。
エクセル上では極力、マクロを有効にはしてほしくないってのはごく当然の発想。
かつ、開いている≒開くことができる、だし、
保存できる≒排他制御もかかってる、
なんだよ。

バージョン管理しづらいしね。手で記入する項目があるブックならなおさら。
そのうち新旧入り混じったexcelが出回るし、ホントにマクロウィルス食べる羽目になる。

533 :デフォルトの名無しさん (アウアウイー Sa87-BM5A):2016/12/17(土) 02:48:33.24 ID:6d7oASpMa.net
ちなみに、こういうたぐいのエクセルシートの操作は、DBとして使う事はほとんどない。

特定のセルにログインユーザとか何か入れる
画像を整形して貼り付ける
電子印を埋める
CSVファイルを今触ってる場所に差し込む
った感じの操作が大半。

534 :デフォルトの名無しさん (ワッチョイ bf5b-0G5/):2016/12/17(土) 13:08:39.42 ID:Wdpe3c7P0.net
>>533
結局、スププ Sdb8-BM5A==アウアウイー Sa87-BM5Aってことでいいのか?
若干微妙なんだが。

533については大して問題ないとは思う。
そしてそれが君の489に対する解釈という訳だな。

535 :デフォルトの名無しさん (スププ Sdb8-BM5A):2016/12/17(土) 13:33:13.56 ID:BIK6AFf7d.net
>>534
そうだよ。
そして解釈もその通り。

536 :デフォルトの名無しさん (ワッチョイ 74c9-0G5/):2016/12/20(火) 16:58:59.60 ID:MoWCkeVm0.net
自分の関数名を示す予約語みたいなのってある?

537 :デフォルトの名無しさん (ワッチョイ bf5b-0G5/):2016/12/20(火) 19:12:40.90 ID:NtfNTPKt0.net
>>536
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Function/name
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Function/prototype

538 :デフォルトの名無しさん (スフッ Sdb8-BM5A):2016/12/20(火) 19:14:58.08 ID:N26jdoYed.net
>>536
予約語じゃないけど、arguments.calleeが一番近いかな。

539 :デフォルトの名無しさん (オイコラミネオ MM34-HDbE):2016/12/21(水) 14:37:12.13 ID:oy8jDEoqM.net
関数やメソッドの引数を配列で渡したいのですが、applyでは第一引数でthisの指定を毎回しなくてはなりません。
なので、第一引数を省略したバージョンをFunction.prototypeに追加したいのですが可能でしょうか?

var obj = {msg: "hoge", print: function(a,b){console.log(a+this.msg+b);}};
obj.print.apply(obj, ["(", ")"]); // -> “(hoge)” …正直二度手間

Function.prototype.my_apply = function(){ほにゃらら};
obj.print.my_apply(["(", ")"]); // -> “(hoge)” は実現可能?

540 :デフォルトの名無しさん (ワッチョイ aaa7-0G5/):2016/12/21(水) 16:19:11.24 ID:9bUmnUNT0.net
その例だとmy_apply内でのthisがobjからprintになっちゃうから
事前にprintのthisをobjに拘束しないと無理で結局二度手間になるかな

541 :デフォルトの名無しさん (ワッチョイ 9e5b-uX3G):2016/12/21(水) 18:09:50.73 ID:jqWPOGNm0.net
>>539
spread operatorを使っていいなら簡単なんだけどなあ
obj.print(...[

542 :デフォルトの名無しさん (ワッチョイ 9e5b-uX3G):2016/12/21(水) 18:10:12.94 ID:jqWPOGNm0.net
ミス
>>539
spread operatorを使っていいなら簡単なんだけどなあ
obj.print(...["(", ")"]); // -> “(hoge)”

苦肉の策で、Object.prototype に my_apply を設定するのはどうだろう。
関数名は引数で文字列として渡す形になるけど。
Object.defineProperty(Object.prototype, "my_apply", {
value: function(funcname, args){
this[funcname].apply(this, args);
}
});
var obj = {msg: "hoge", print: function(a,b){console.log(a+this.msg+b);}};
obj.my_apply("print", ["(", ")"]); // -> “(hoge)”

543 :デフォルトの名無しさん (アウアウウー Sa05-uX3G):2016/12/21(水) 20:34:30.60 ID:HG47hG4na.net
>>539
var obj = {msg: "hoge", print: function(a,b){console.log(a+this.msg+b);}};
obj.print.myApply = Function.prototype.apply.bind(obj.print, obj);
obj.print.myApply(['a-','-b']); // a-hoge-b

544 :デフォルトの名無しさん (アウアウウー Sa05-uX3G):2016/12/21(水) 20:36:41.27 ID:HG47hG4na.net
>>536>>537で答えが出ているが、立て逃げか

545 :デフォルトの名無しさん (スフッ Sdb8-BM5A):2016/12/21(水) 21:18:43.29 ID:yT8Lkx8ed.net
>>544
そんなに評価がほしいかw

546 :デフォルトの名無しさん (ワッチョイ bf5b-0G5/):2016/12/21(水) 21:44:46.35 ID:gv2AAeV40.net
>>545
レス乞食乙。
544は俺ではないし、むしろ評価を欲しがっているのはお前だろ。
池沼にはこの辺のことが分からないのだとは理解するが。

547 :デフォルトの名無しさん (アウアウウー Sa05-uX3G):2016/12/21(水) 22:03:23.02 ID:HG47hG4na.net
評価は要らんが、「結果」が欲しいとは思う
知の共有に興味がない奴には「質問者に伝わればどうでもいいだろ」ぐらいにしか思ってないのだろうが

あと、>>536は質問が漠然としていてもっと具体的に質問してほしい感はある
俺でもFunctoin#nameで回答するだろうが、Function#nameもarguments.calleeも「予約語」ではないからな
関数名を取得するのに「予約語」は不要なはずだが、何をもって質問者が「予約語」が必要と思っているのか、興味深いところだ

548 :デフォルトの名無しさん (スフッ Sdb8-BM5A):2016/12/21(水) 22:04:04.73 ID:yT8Lkx8ed.net
>>546
なんだそりゃ。
車掌の案内に反射的に反応しないと気が済まない電車の中の池沼でもあるまいし。
立て逃げ、という単語が出た時点で、踏み逃げ厳禁って言ってるmixiのメンヘラレベルじゃんww

549 :デフォルトの名無しさん (スフッ Sdb8-BM5A):2016/12/21(水) 22:06:02.62 ID:yT8Lkx8ed.net
>>547
知の共有と相手の同意には全く関係性は無い。
相手がテディベアでも、それに対して演説した内容は共有すべきかもしれないし、その内容は現に見えてる。
質問内容と回答は関連するようで、全く別個の存在だよ。

550 :デフォルトの名無しさん (アウアウウー Sa05-uX3G):2016/12/21(水) 22:09:41.80 ID:HG47hG4na.net
>>549
漠然とした質問に合っているか間違っているか不明な回答をしても共有すべき知はない
質問者から反応がなければそれはゴミデータとなる
そういう事だ

551 :デフォルトの名無しさん (スフッ Sdb8-BM5A):2016/12/21(水) 22:40:00.20 ID:yT8Lkx8ed.net
>>550
合っているか間違っているか、そんなものは瑣末な差だよ。
データには全て意味があり、加えて、合っているか間違っているか、正確に言うならば「より原義的には合っているが全てにおいて合ってはいない」なんて事すらあり得るし、その正誤正確さ自体も一つのデータ。

古典力学を「厳密には正しく無い」と言って意味があるのかないのかって話。

552 :デフォルトの名無しさん (アウアウウー Sa05-uX3G):2016/12/21(水) 22:48:54.44 ID:HG47hG4na.net
>>551
> 「より原義的には合っているが全てにおいて合ってはいない」
今回のケースに当てはまらなければ何を話しても仕方ない
今回、俺はそこまで高尚な知は得られていないと思うが、あなたの中では今回何か得るものがあったのかね

553 :539 (オイコラミネオ MM34-HDbE):2016/12/21(水) 23:46:48.87 ID:oy8jDEoqM.net
皆さまご回答ありがとうございました

>>540
やはり何らかの方法でインスタンスを渡さないと、直接呼ばなかったメソッド内からの取得はできないんですね

>>542
配列を分解する記法が追加されてたとは知りませんでした。
環境を書いていなく申し訳ないのですが、nodejs v4.1.2でも--harmonyオプションで使用できました。

my_apply(obj, “print”)([“(”, “)”])のような方法は私も考えていましたがObjectにメソッドを追加できるんですね
文字列で与えたメソッドにthisをbindして返すメソッドを追加するとFunctionに追加したmy_applyにそのまま渡せたり、
他にも関数を様々な形にラップするような処理で応用が効きそうです
obj.my_method(“print”).my_reverse(“(”, “)”); // -> ”)hoge(” 二度手間は無いけどちょっと長いかな

>>543
出来れば全ての関数とメソッドに適用したいのですが、影響範囲を考えますと使用するメソッド毎に追加するのがまっとうでしょうか
Functionインスタンスの方に追加することで理想の記法になってることが目から鱗です

554 :デフォルトの名無しさん (ワッチョイ bf5b-0G5/):2016/12/21(水) 23:53:47.70 ID:gv2AAeV40.net
>>548
> 立て逃げ、という単語が出た時点で、踏み逃げ厳禁って言ってるmixiのメンヘラレベルじゃんww
お前は本当に池沼だな。
お前がそうだからお前の周りにはそういう奴しかいない、だからお前は自分が池沼であることに気づけない。
池沼の無限ループだね。

>>544は要するに、
最低限の返事位しろ、それがお互いの為になる、と言っているだけ。
お前はそれすら分からないから無駄に噛み付いているわけだけども、
それ自体がお前にとっても有害なことに気づけ。

というかなんでゆとりってこんなにおかしくなっちゃってるんだ?
コミュニケーションというのは、「○○禁止」とかで単純にくくれるものではなく、
その場その場で最適な方法を選ばないといけない。
お前らにはこれがなく、超画一的な反応をするよね。
ただ俺みたいにいちいち説明するのは面倒だから、通常「少し黙ってろ」としか言われないと思うが、
その時は「何でそんなことを言われたのか」を考えないといけない。
その上で、上司の方が間違っていたら馬鹿にするのは自由だ。

今回に関しては、>>547以降彼は十分な説明をしているわけで、まあ奇特な方と言える。
それについていちいち噛み付く必要もないし、
意味不明な屁理屈を述べる必要もないと思うがな。
一体お前は何がやりたいんだ?

555 :デフォルトの名無しさん (ワッチョイ 8b5b-i5Qz):2016/12/22(木) 00:14:05.25 ID:tlGoJkkG0.net
>>553
正直、君はクラスの使い方を間違っていると思うから、そこを学び直した方がいいと思うぞ。
JavaScriptの連中はどうにもそういう妙な点をこねくり回すことが大好きなようだが。

普通はその場合、ラップ関数を呼ぶか、
print内部で切り分けを行い、apply無しで直接呼べるようにするか、(Array.isArray(a)やb===undefined)
print自体をargumentsで記述し、直接呼べるようにするか。
また、クラスとして使うのなら、Function.prototoyeではなく、obj.__proto__に追加することになる。

556 :デフォルトの名無しさん (ワッチョイ 0f7b-SerI):2016/12/22(木) 00:22:50.49 ID:nyvvUxi30.net
>>541-542
2chのバグだろう

書き込み確認画面が出る際、" を使うと、そこで文字列の終了とみなされる。
" の代わりに、\" とエスケープすれば、どうだろう?

それか、書き込み確認画面が出たら、1度キャンセルすれば、確認画面は出ないようになった

557 :デフォルトの名無しさん (スフッ Sd9f-lG7u):2016/12/22(木) 00:25:51.87 ID:+dxu+Nr9d.net
>>554
長文、君、彼、か。
芸風変わらんなぁ、babel君は。

558 :デフォルトの名無しさん (ワッチョイ 0f7b-SerI):2016/12/22(木) 00:26:02.57 ID:nyvvUxi30.net
Kotlin では、すべてのオブジェクトが使える、スコープを変える関数が、4つある

apply, let, run, with

with(obj){
ここでは、thisが、objに変わる
}

559 :デフォルトの名無しさん (ドコグロ MMbf-do8S):2016/12/22(木) 04:05:51.09 ID:HervFLYwM.net
プロの人はどうやって勉強しているんですか
あれやりたいな→ぐぐる→できた!ってやってると
困ってはぐぐるの繰り返しでこれじゃ理屈が伴ってなくて良くないなあと思うのですが

560 :デフォルトの名無しさん (ワッチョイ cf17-W2u1):2016/12/22(木) 05:54:28.89 ID:JoGOA/Np0.net
教科書を買えばいいんじゃないですかね

561 :デフォルトの名無しさん (ワッチョイ 3fc9-i5Qz):2016/12/22(木) 14:58:32.87 ID:KMOUtJeW0.net
>>537-538
ありがとう

arguments.callee って非推奨なんだな
関数のプロパティをいじろうと思ったんだけど
名前だけわかってもちょっと難しいな

562 :デフォルトの名無しさん (スフッ Sddf-lG7u):2016/12/22(木) 16:19:23.51 ID:rwisZIJ0d.net
>>561
arguments.calleeは非推奨じゃないよ。
Functionにひっついてる方が非推奨。

563 :デフォルトの名無しさん (オッペケ Srdf-Esd/):2016/12/22(木) 16:44:36.23 ID:TVwdcP1Cr.net
>>561
名前付き関数式にすれば安全に関数を参照できる
arguments.callee はStrict Modeで使えないだけ

564 :デフォルトの名無しさん (ワッチョイ 3fc9-i5Qz):2016/12/22(木) 17:28:44.13 ID:KMOUtJeW0.net
>>562-563
Cとかで言うstatic変数的なのを関数のプロパティで
function unko(){
if( typeof(unko.chinko)=="undefined" ) unko.chinko=0;
return unko.chinko++;
}
みたいなクソコードでやってんだけど、関数内での関数名unkoを
定義済み定数みたいなので置き換えたかっただけなので
まあどうでもいい話ですわ。 メリークリスマス!

565 :デフォルトの名無しさん (ワッチョイ 8b5b-i5Qz):2016/12/22(木) 20:24:57.62 ID:tlGoJkkG0.net
>>559
正直、JavaScriptでは上達しない(しづらい)のだと思うので、他言語である程度やってからにしたほうがいい。
ソースはこのスレの馬鹿共。
とはいえ、JavaScript自体が悪いわけではないのだが。

他言語スレを見れば分かると思うが、間違った回答が感謝され、
それがあたかも正しいものとして扱われるような茶番的展開はJavaScriptスレだけだ。
しかも一度や二度ではない。
さすがにこんな所で自演する意味はないし、ガチで分かってないんだと思う。
ただ、質問者が分かってないのは仕方ないとして、回答者が分かってないのは駄目だよ。
結果的に馬鹿が再生産されてしまっている。
馬鹿が馬鹿を、ゆとりがゆとりを、さも知ったかぶりして教えているからこうなる。

このスレは回答者はそこそこいるのだから、回答の出方を見つつ、よりよい方向に協力しないといけない。
ゆとりにはこの感覚が皆無で、基本的に焼畑をしやがるので上の世代はいらついている。
(とはいえこれは若いからであり、正直、ポストゆとりも同じ事になるとは思うが)
>>544はそれに対して注意しただけ。それに噛み付く必要なんてない。
お前らはもうちょっと、もっと大きな「流れ」について気を配り、
お互いに利益があるように振る舞わなくてはならない。
それを怠っている結果、自分にも不利益が生じていることに気づいた方がいい。
結果的に、JavaScriptの連中は馬鹿ばかりになっている。

566 :デフォルトの名無しさん (ワッチョイ 8b5b-i5Qz):2016/12/22(木) 20:26:42.36 ID:tlGoJkkG0.net
話を戻す。今回の例で言うと、540は分かっている感じだが、542,543はエアプ。(と言われても仕方ないレベル)
542は話が余計に複雑になっている。
543と>>540は言っていることは同じなのだが、質問者は別物だと思っているらしい。
ただ、方向性が明らかに間違っている回答には「間違っている」だけで済ますべきで、コードを書いては駄目だ。
結果、その初心者は543を有り難がってしまっている。

質問者は「apply使ってる俺カッケー」「prototypeいじってる俺カッケー」な訳だが、これ自体が間違い。
ただ、このことを理解出来てない馬鹿が多いのもJavaScriptの特徴だ。
しかしこの嘘に流されているようでは上達しない。

この場合、普通は関数オーバーロードを行う。
要求: obj.print.apply(obj, args); とobjを2回書くのが面倒
質問者: obj.print.apply(args); と書きたい
>>542: obj.my_apply("print", args);
>>543: obj.print.myApply(args);
関数オーバーロード: obj.print(args);
どう見てもオーバーロードが一番簡単だろ。

オーバーロード自体はC++/C#/Javaでは簡単で、
今ある obj.print(String,String) に加えて、 obj.print(Array) を定義すればいいだけ。
ただしJavaScriptにはオーバーロードは無く、そのままだと上書きされてしまうので、
関数名を変えるか、(結果的にラップ関数になることが多い)
自前でやるか。自前でやる場合は道具は揃っていて、>>555に書いたとおり。

567 :デフォルトの名無しさん (ワッチョイ 8b5b-i5Qz):2016/12/22(木) 20:27:47.25 ID:tlGoJkkG0.net
最悪なのは、このスレの馬鹿共が「オーバーロード」に全く言及しないことだ。
結果、質問者は間違った方法を正しいと勘違いし、そして馬鹿が再生産されてしまう。その結果がお前らだ。
とはいえ、オーバーロードは他言語ではごく普通のことなので、何でそうなるのか本当に謎なんだが。
(エアプしかいないだけか?)

prototypeの変更は、つまり「定義」の変更であり、ソースの変更無しに動作を変更する時に用いる。
ただ、初心者には上文の意味が分からないだろうし、やらなくていい。
しかし、これができるのはJavaScriptの特徴であり、どうにもそこに惹かれてしまうらしく、
無理にその機能を使って解決しようとする馬鹿が大量発生するようだ。
結果的にそれは上達の速度を落としている。

JavaScript以外の言語ではこの手の解決が出来ないので、まっとうな方法で解決することを強いられる。
結果、おかしな寄り道をせずに済み、普通に上達していく。
柔軟性が高く、どんな構造でもさらっと記述出来てしまうJavaScriptは、
本来は上達しやすい言語であってもおかしくないのだが、どうにも初心者がトラップされる場所が多すぎるようだ。
例えばセミコロンの打ち方とか。そんなところを極めても何にもならない。
結果、馬鹿ばかりになってしまっている。ソースはこのスレの馬鹿共。

例えば、>>564なんてクロージャを使えばいいだけの案件だ。
ただ、Cだと長らくクロージャがなかったので、彼はそれを選択出来ない。(知らないから思考外)
だから言語自体に「記述能力」があることは上達には不可欠なんだ。
Cは別の意味で柔軟性が高い(何でもあり)のだが、JavaScriptもかなり高い。
ただ初心者にはC#とか、もっと絞ったJavaとかの方がいいように思える。
あっちのスレの初心者は着実に上達している感じはある。
JavaScriptは初心者にはフリーダムすぎるようだ。

568 :デフォルトの名無しさん (ドコグロ MMbf-Vzqx):2016/12/22(木) 21:50:01.72 ID:noqYDqw/M.net
うん、printだけならオーバーロードでいいと思うよ。
質問者は1つのメソッドだけじゃなくたくさんの関数やメソッドで同じことをしたいみたいだよ。

569 :デフォルトの名無しさん (ワッチョイ 73ce-AnbU):2016/12/22(木) 23:10:38.19 ID:0Dv4mOXn0.net
>>557
> 芸風変わらんなぁ、babel君は。

babel君は俺だよw
お前間違ってるじゃんか。

はっきり言っておかないと「俺はいつだって見抜ける」って
勘違い君になっちゃうからな。

はっきり言おう、お前はただ長文があったらbabel君って
いいたいだけのガキだよ。

570 :デフォルトの名無しさん (ワッチョイ 8b5b-i5Qz):2016/12/22(木) 23:13:44.40 ID:tlGoJkkG0.net
>>568
そういう事はそもそも無いんだよ。
もしそうなっているのなら、それは制御構造の組み方がおかしいだけ。

逆に考えてみても、仮にそういうapplyが頻繁に必要なら、
当然の如くそのapplyが標準APIにないとおかしいでしょ。
ていうか、ゆとり全般に言えるが、もうちょっと物事の辻褄を考えてくれ。
JavaScriptは糞だ糞だと言われているが、そんなに酷くもない。

その手の便利メソッドが充実しているのはRubyとlodashか?
詳しい奴はこのスレにも居たよな?あるかどうか教えてくれ。
そこにもないのなら、普通は要らないって事だよ。
あるんだったら、多少は使うって事でいい。

所で、お前は>>542,543のどっち?第三者か?

571 :デフォルトの名無しさん (ドコグロ MMbf-Vzqx):2016/12/22(木) 23:21:00.67 ID:noqYDqw/M.net
>>570
俺は第三者。
質問の意図を誤解して他人の回答を罵倒しているみたいだったので指摘したまで。
俺もお前の新しい意見(>>570)なら同意。

572 :デフォルトの名無しさん (ワッチョイ 8b5b-i5Qz):2016/12/22(木) 23:52:58.57 ID:tlGoJkkG0.net
>>571
俺は相手にとって実になる回答をしろと言っているだけ。
それが罵倒になったとしても意見としてそのまま言う。
お前らがこれに対して文句を言うのも自由だ。
駄目な物ははっきり駄目だと指摘される、これが匿名掲示板のいいところだ。
意見があるのなら言えばいいんだよ。

補足すると、俺的には、
540「それじゃ駄目だから考え直せ」←とりあえず正しい方向へ向かうのでOK
542「Object.prototypeを変更しろ」←最悪のことをさらっと言うなボケ
543「たとえばこう」←親切のつもりだろうが質問者が結果的に間違った方向に向かうので駄目
ってなところだ。

ただ、542も543も上記の事なんて分かっていると思うんだ。
だから、お前らには「後先考えてレスしろ」と言いたい。
542の回答をしたいのならば、クラスとして定義し、クラスのメソッドに追加するのならよかった。
543については、そもそも質問者の例がおかしいんだが、単発関数でいちいちbindってのは無いんだよ。
その場合は通常クロージャで捕捉する。だから同階層にmsgとprintがあること自体がおかしくて、
別階層においてクラスとして使うか、単発ならクロージャ、ってことを言えばよかった。

質問者が色々おかしいのは仕方ないとして、
それを尊重しておかしなままで進めるから余計におかしくなっているわけで、
質問者には「それはおかしい」と言ってやらないと駄目だろ。
だから俺は540の回答が今回は正しいと思う。
他は親切のつもりが結果的に足を引っ張っていることに気づいていない。これは不幸なことだよ。
逆に、お前らが明らかに変な質問した時に、それを尊重されておかしな回答されても困るだろ。
少し考えれば分かることだよ。

JavaScriptスレのレス数は他言語スレよりもかなり多い。
それでも低空飛行を続けているのは、お前らが後先考えずにレスしてるからだよ。

573 :デフォルトの名無しさん (ドコグロ MMbf-Vzqx):2016/12/23(金) 00:08:00.89 ID:w5xRjMfxM.net
それが君のスタンスならもう言うことはない
突っかかって悪かった

574 :デフォルトの名無しさん (ワッチョイ 8b3c-Jkes):2016/12/23(金) 00:18:59.00 ID:Z9nj1KlQ0.net
すんません
http://newsoku.blog/archives/12673
ここのサイトのこの記事だけadblock有効にした状態でアクセスすると広告ブロックの無限ループでPC固まるんですが、原因は何なんですかね?
chromeの開発者ツールのどこを見ればいいのかさっぱり分かりません。皆さんはJavascriptの挙動がおかしいと思ったら開発者ツールのどういうところ見ます?

575 :デフォルトの名無しさん (ワッチョイ 8b5b-i5Qz):2016/12/23(金) 00:29:14.11 ID:5x0GRUiO0.net
>>573
いや、俺は君に対して怒っているわけではない。

JavaScriptのスレはかなり奇妙なんだよ。
単に年齢構成が違うのだと思うが、匿名掲示板の距離感を掴めていない奴が多い。
常に優しい言葉だけを使って回答して欲しいのならID制の所に行けばいい。
匿名掲示板はどうしてもノイズが多くなる。
それでも匿名であり続けるのはそれなりの理由があるから。
だからそれをちゃんと生かせ、無理ならID制の所に行けってこと。

576 :デフォルトの名無しさん (ワッチョイ 8fa7-i5Qz):2016/12/23(金) 01:16:35.93 ID:yYk3c3EB0.net
540は自分だけど他のレスを罵るための比較対象にするのは勘弁して欲しいわ
まさに「それはおかしい」で留めておけばいいじゃない

577 :デフォルトの名無しさん (ワッチョイ cf17-W2u1):2016/12/23(金) 01:45:10.57 ID:wlAJlu3s0.net
長文連投すんのマジでやめろや
途端にスレ読むの面倒になってしばらく読めなくなる
ブログでやってろボケ

578 :デフォルトの名無しさん (スフッ Sddf-lG7u):2016/12/23(金) 01:45:43.60 ID:zYIMLsrEd.net
なんか、レベル下がったな。

579 :539 (オイコラミネオ MM7f-mf62):2016/12/23(金) 02:20:25.33 ID:lOZdmC9zM.net
私の質問のせいで一悶着あったようで申し訳ないです

本当にやりたい事はnodejsで全ての任意の非同期関数及びメソッドをcoで扱えるようにラップする事でしたが、
関係ない部分の説明が必要ないようapplyの話に単純化して質問してしまった為に、他の手段で簡単に解決できてしまい、混乱させてしまいました。
また、Functionのprototypeへの追加が危険なのは承知の上でしたが、このスレで学ばれている方が気軽に真似してしまう可能性を考慮しなかったことをお詫びします。

基本的にものぐさなので以下のような考えです

co(function*(){

var readFileSync = thunkify(fs.readFile);
var ret = yield readFileSync(‘test.json’); //全ての非同期関数毎に別名の変数を用意するのは面倒

var ret = yield thunkify(fs.readFile)(‘test.json’); //関数で囲うのは修正の際カーソル移動が面倒

Function.prototype.thunkify = 省略
var ret = yield fs.readFile.thunkify(‘test.json’); //保守性と記述性のトレードオフ

var obj = {msg: ’hoge’, print: function(callback){callback(null, this.msg);}};
var ret = yield obj.print.thunkify.call(obj); //メソッド内でthisにアクセスするモジュール等の場合、bindかcallでobjを渡す必要があるので、なんとか関数の場合と同じ形に出来ないかな?

//アドバイスを参考に考えた結果、メソッドを全て列挙しthisをバインドしたものを集めたオブジェクトを返すメソッドをObjectに追加しました
var ret = yield obj.my_bind_method().print.thunkify(); //どうせ非同期処理なので呼び出しコストは気にしない

var ret = yield thunkify(my_bind_method(obj).print)(); //メソッド名バッティングの危険性を考慮するならこちらの方がいいかもしれません
});

580 :デフォルトの名無しさん (スフッ Sddf-lG7u):2016/12/23(金) 02:21:57.93 ID:zYIMLsrEd.net
>>579
いつもこの程度だから気にしなくていいよ。

581 :デフォルトの名無しさん (ワッチョイ 0f7b-SerI):2016/12/23(金) 06:02:18.34 ID:jiSEHcxr0.net
Object.prototype にメンバーを追加するのも、禁止!

他の方法は、面倒と書いているけど、影響範囲・スコープが限られているじゃん

一方、Function.prototypeに追加するのは、すべてのソースコードに影響があるから、
全部の範囲をチェックするのは無理。
影響範囲が無限大

Date・配列クラスに、独自関数を追加している、Rails とか、ああゆうプロだけがやること。
こんな事を思いつくとは、君は、開発したこと無いだろ?

582 :543 (アウアウウー Sa5f-t+3N):2016/12/23(金) 07:21:32.58 ID:VeLH/y/da.net
>543はES5の範疇でどこまでやれるかやってみた程度のもの
ES6ではspread operatorという答えが出ていたので質問者が自己判断できる範疇と考えていた

>>553,579
ES5では無理、ES6ならすでに提案されているようにspread operatorを利用可能
ただし、Function.prototype 上に関数を置くと呼び出し元関数(print)の this 値が変化してしまう

Object.defineProperty(Function.prototype, 'spread', {
 configurable: true,
 enumerable: false,
 writable: true,
 value: function spread (args) { this(...args); }
});

var obj = {msg: "hoge", print: function(a,b){console.log(a+this.msg+b);}};
obj.print.spread(["(", ")"]); // (undefined)

this 値を渡す方法がないのであなたの要件は実装不可能
素直に呼び出し側で spread operator を使うべき
# ちなみに、Object.prototype, Function.prototype を拡張するのがデメリットを享受したうえで使うなら止めようとは思わない
# 俺は拡張しようとは思わないが、デメリットを承知の上で使う事情があるならそれもまた良いだろう(勿論、チーム内で合意を取る必要はある)

583 :543 (アウアウウー Sa5f-t+3N):2016/12/23(金) 07:41:04.49 ID:VeLH/y/da.net
> 素直に呼び出し側で spread operator を使うべき
一応、書いておく

var obj = {msg: "hoge", print: function(a,b){console.log(a+this.msg+b);}};
obj.print(...["(", ")"]); // "(hoge)"

584 :デフォルトの名無しさん (ワッチョイ 3fc9-i5Qz):2016/12/23(金) 11:59:58.59 ID:3Ssmhylk0.net
>>567
この程度のことでクロージャは使いたくないよ
コード量も倍以上に膨れ上がるしな

585 :デフォルトの名無しさん (ワッチョイ 73ce-AnbU):2016/12/23(金) 12:32:39.19 ID:L8VrAqOy0.net
>>581
> Date・配列クラスに、独自関数を追加している、Rails とか、ああゆうプロだけがやること。
> こんな事を思いつくとは、君は、開発したこと無いだろ?

Railsと一緒にするとは、お前は思慮がたりねぇなぁ。

大きな違いがはRailsがサーバーサイドで動くものだってことだよ。
つまり、Railsアプリを開発・テストした環境で動けば、動作は保障される。

だけどブラウザで動かすJavaScriptは違う。
動作する環境がバラバラ。一度動作を確認したとしても
勝手に実行環境がバージョンアップしてしまう。

そのせいでPrototype.jsでは開発した当時、どのブラウザでも搭載されていなかったreduceメソッドが
ブラウザのバージョンアップで標準で追加されて、標準のreduceメソッドと互換性がなくて
問題になったんだろ。

お前、こんな事を思いつく俺のような奴と、君は、開発した事ないだろw

586 :デフォルトの名無しさん (アウアウイー Sa4f-lG7u):2016/12/23(金) 17:57:29.78 ID:hTDeYr00a.net
>>585
railsはcrubyといくばくかの実行環境に限られてるだけでしょ。
勝手に実行環境が、ってのは、本来はサーバでも話は変わらん。
RailsがRubyを縛ってるだけ。要は「IE専用のページ」とレベルがかわらん。

587 :デフォルトの名無しさん (ワッチョイ 9bce-AnbU):2016/12/23(金) 22:29:11.98 ID:ZeK4/Bhm0.net
>>586
お前意味わかってないねw

ブラウザで動くJavaScriptコードを書きました。
サイトは不特定の人が見れます。
さてどのバージョンのJavaScript実行環境で動くのでしょうか?

サーバーで動かすRailsだと、不特定の人がアクセスしたからって
動く環境は同一。Rubyのバージョンもライブラリも
意図的に上げない限り一緒。

ブラウザで動かすJavaScriptとは根本的に違うんだよ。

588 :デフォルトの名無しさん (ワッチョイ 0f7b-SerI):2016/12/23(金) 23:28:59.41 ID:jiSEHcxr0.net
便利な独自関数は、ライブラリとして独立しているから、誰でも使える。
Groovy, Kotlin でも、Javaに便利な独自関数を追加している

ただ、開発体制が数年以上、持続できて、プロ中のプロがやる分には良いけど、
作ってほったらかしにすると、後で問題になる

数年後に、ソースコードを見た人が、どうしてこいつは、
たったこれだけのために、こんなややこしい事をしていたのか? と問題になる

589 :デフォルトの名無しさん (ワッチョイ 9bce-g1cW):2016/12/24(土) 01:06:18.56 ID:RsVu32Ub0.net
> たったこれだけのために、こんなややこしい事をしていたのか? と問題になる

あぁ、オレオレでライブラリっぽいのを作ったりしてな。
有名所のを使っていれば、あとで見たときも情報があるが
オレオレなものがネットに情報あるわけもなし

590 :デフォルトの名無しさん (ラクッペ MMdf-W3gD):2016/12/24(土) 01:37:33.92 ID:1blwq6VQM.net
お前ら、ちょっと変わったことをするときは
それなりに念入りにコメント書いたりドキュメント残したりしないの?

591 :デフォルトの名無しさん (アウアウイー Sa4f-lG7u):2016/12/24(土) 02:43:45.75 ID:zFhkiAWLa.net
>>587
アホか。そういう事言ってんじゃないよ。
サーバがwindowsでもlinuxでもBSDでも、rubyがどのバージョンでも動くかって話と、そう変わらん、と。
rubiestはこれだから馬鹿なんだよ、ホント。

592 :デフォルトの名無しさん (ワッチョイ 9bce-g1cW):2016/12/24(土) 07:27:47.27 ID:RsVu32Ub0.net
>>591
Rubyがどのバージョンで動くかなんて
アプリが決めたバージョンだけだろ。

アプリが2.3.3で動くことを確かめて
2.3.3で動かせばそれでいい。
他のバージョンのことなんか考える必要はない。

だがブラウザで動かすJavaScriptは違う。
こっちがChromeで動くと言っていても
相手は何を使うかわからない。
ずっと古いブラウザを使い続けるかもしれない

593 :デフォルトの名無しさん (オッペケ Sr6f-Esd/):2016/12/24(土) 08:42:22.62 ID:Q1UBjc7Gr.net
Rubyの話はスレ違いだから余所でやってくれ
ビルトインオブジェクトのprototype拡張は影響範囲が大きいから習熟してないなら避けるのが望ましい
どうしても書くなら>>590、で終わる話

594 :デフォルトの名無しさん (オッペケ Sr6f-Esd/):2016/12/24(土) 08:47:40.57 ID:Q1UBjc7Gr.net
>>584
>>564は将来的にFunction.prototypeに同名プロパティが拡張された時に衝突する恐れがある
コードを少し書き足すだけでリスクをなくせるなら安いコストだ
短く書きたいなら、まだコードに工夫する余地はあるだろう

'use strict';
var foo = function foo () {
return this++; // ES5非対応ブラウザをサポートするなら this.i++;
}.bind(0); // 同上。{i: 0}

595 :デフォルトの名無しさん (ワッチョイ 3f5b-t+3N):2016/12/24(土) 09:48:48.80 ID:JKkRXMHl0.net
>>594
bind して this.i++; はいいね。今後使わせてもらうわ。
this++; はES5でもES6でも動かない気がするけど。

596 :デフォルトの名無しさん (ワッチョイ 9bce-g1cW):2016/12/24(土) 10:43:11.38 ID:RsVu32Ub0.net
>>594
コメントがなければ意味がわからないようなコードを書かないでください
可読性が悪すぎます。

597 :デフォルトの名無しさん (ワッチョイ 375b-gDR1):2016/12/24(土) 13:28:03.30 ID:IXC75mXH0.net
>>594
bindとか知らなかったので勉強してくる

598 :デフォルトの名無しさん (ワッチョイ 9bce-g1cW):2016/12/24(土) 13:34:07.48 ID:RsVu32Ub0.net
>>597
勉強するのはいいけど594は間違った使い方だから
読み解ことうと思わないようにw

599 :デフォルトの名無しさん (ワッチョイ a78f-Jkes):2016/12/24(土) 18:01:50.08 ID:Zb/gh1a90.net
最近はbabelとかtypescriptみたいな
トランスパイラが出回ってるからそっちを使っていれば
ブラウザの互換性は担保できるのではないかと思うが。

600 :デフォルトの名無しさん (アウアウウー Sa5f-t+3N):2016/12/24(土) 22:11:35.72 ID:7wbeR67ya.net
>>595
ごめん、ミスってた
this 値を直接書き換える事は出来ないから this.i++ が正解だな

>>596
2回同じコードを書くのが面倒だったからコメントを書いただけでコメントが必要な場面ではない
可読性が悪いと感じるならそれは慣れてないだけかと

601 :デフォルトの名無しさん (アウアウイー Sa4f-lG7u):2016/12/25(日) 00:43:48.56 ID:Sdmy2dzNa.net
>>599
見た目の互換性は上がるけど、見た目だけだよ。
最初から最低限でやりゃ良いんよ。
きちんとした仕様が決まってるなら昔懐かしのASP.netの部分更新みたいにサーバでDOM書いて送ったって良いんだし。
何故かReactやらそんな時代に、
まさに同じ事を「SSR」とか名前つけて有難がってるRoR+トランスパイル言語連中が馬鹿に見える位。

602 :デフォルトの名無しさん (ワッチョイ 9bce-g1cW):2016/12/25(日) 01:02:21.91 ID:AjYaRi9b0.net
> 何故かReactやらそんな時代に、

ん? React使ってるサイトって全体のどれくらいですかね?
Reactが必要だって言えるようなサイトはどれくらいありっますかね?


俺からすりゃReactをありがたがってる連中が
馬鹿に見えてるんだが。

603 :デフォルトの名無しさん (アウアウイー Sa4f-lG7u):2016/12/25(日) 01:07:11.87 ID:Sdmy2dzNa.net
>>602
俺もまとめて否定してんだよ。
カッチカチが良いなら全部サーバで書きゃいいって言ってんのに。
それも、Rubyなんてクソ言語じゃなくてもうちょいまともな型のある言語か、いっそハブラシPHPで書きゃいい。

お前ほんとに頭おかしいの?読解力ゼロなの?

604 :デフォルトの名無しさん (ワッチョイ 9bce-g1cW):2016/12/25(日) 01:19:52.54 ID:AjYaRi9b0.net
>>603
重要なのはカチカチかどうかじゃなくて
どれだけ早く価値を作れるかだと思うんだが?

605 :デフォルトの名無しさん (アウアウイー Sa4f-lG7u):2016/12/25(日) 01:50:23.74 ID:Sdmy2dzNa.net
>>604
うまいこと言ったつもりだろうが、堅いことが価値だったり、作るのが早いことが価値だったり、あとから直しやすいのが価値だったり、動くものが速い事が価値だったり
価値なんかバラバラでしょ。

606 :デフォルトの名無しさん (ワッチョイ 9f8f-O/vA):2016/12/30(金) 22:56:35.53 ID:b7WBl9TI0.net
React自体はわかりやすいし自分でタグを作れるというのは
結構魅力的だと思ったんだけど実際に使うといまいちだったりするのかな?
どっちかというとAngularとかのほうが複雑すぎて絶望した。

607 :デフォルトの名無しさん (ワッチョイ ca98-Sa8B):2016/12/31(土) 15:42:29.63 ID:nUjD4DbZ0.net
JavaScript死亡www

「WebAssembly」がITの未来に変革もたらす|Google、Apple、Microsoft、Mozillaが共同で開発した新概念

「WebAssembly」がWebブラウザに変革をもたらします。
Webブラウザは、もともとただテキストを表示するだけのところから始まりました。その出発点から、現在ではコミュニケーションやゲームまで幅広い表現を可能にしています。
そして今回、「Webブラウザ」に新しい概念が加わわることになりました。
それをもたらしたのが、ブラウザに関わりの深い世界規模の4社「Google」「Apple」「Microsoft」「Mozilla」が共同開発した、Webのためのバイナリーフォーマット「WebAssembly」です。
今回はその「WebAssembly」について、「スゴイところって何?」「何が起きるの?」をご紹介していきます。
WebAssemblyは「JS不要。コンパイラ言語だけで動的アプリが作れる」「どの言語でもWebブラウザ上にアプリを作ることができる」

WebAssemblyによってもたらされるスゴイところは次の4つ。
コンパイラ言語だけで、Webブラウザ上に動的なアプリが作れる
ほぼ機械言語にコンパイルされるからヌルヌル動く
OSを一切気にする必要がなくなる。気にするのはブラウザのみ
C,C 以外の言語でもWebAssemblyにコンパイルされる「クロスコンパイラ」の可能性が高まった

これまでWebブラウザで、ユーザからの入力情報を元に、動的なアプリケーションを実現するためには「JavaScript」が必須でした。

「インタプリター言語」であるJavaScriptは、その都度ソースコードを機械語に翻訳する必要があるため、予め機械語に近くコンパイルされる「コンパイラ言語」と比較すると動作が遅いという特徴があります(※)。

もしコンパイル後の機械語に近い形で、Webブラウザ上でコードが実行されたら。
JavaScript以上にヌルヌルに動き、しかもJavaScriptを気にする必要がなくなります。

それを実現したのがこの「WebAssembly」です。

https://mayonez.jp/1690

608 :デフォルトの名無しさん (ワッチョイ eb7b-qQw5):2017/01/02(月) 21:09:29.84 ID:NK7pnDgB0.net
昔々その昔、JAVAと言うものがあってだなぁ…

609 :デフォルトの名無しさん (アークセー Sxa3-Eko0):2017/01/04(水) 16:28:28.34 ID:A1xSFH10x.net
JavaとPHPがメインのサーバサイドプログラマなんだけど
Javascriptフレームワーク、主にAngular.jsとReact.jsを触ってみたいと思っている。
これまでJavascriptフレームワークの経験ナシ。JQueryだけ。

そこで相談だけど、「とりあえず使い方とメリットを知りたい」
という場合、どんなものを作るといいんだろう?

例えばサーバサイドフレームワークなら、
DBも用意して、入力チェックのある掲示板を作ってみれば、大体のノリはつかめると思うんだけど
そんな感じで、「こんなものを作ってみろ」
というお勧めを教えてください。

610 :デフォルトの名無しさん (JP 0H56-7auN):2017/01/04(水) 17:05:10.17 ID:mEkZwZd0H.net
>>609
http://todomvc.com/

611 :デフォルトの名無しさん (ワッチョイ 1f8c-+flj):2017/01/08(日) 12:09:11.44 ID:hH2LQLuG0.net
>>609
Reactやっとけばいいよ

612 :デフォルトの名無しさん (ワッチョイ 0bce-pn3f):2017/01/08(日) 16:00:23.16 ID:xMVs4RXt0.net
>>609
まずはボタンを押すとカウントアップするようなものをReactで書いてみるといいよ。

jQueryで書くならば、こんなの

<html><body><span></span><button>btn</button></body></html>

$(function() {
 var i = 0;
 $('button').click(function() {
  $('span').text(i++);
 })
});


これをReactで書いてみれば、Reactのデメリットが見えてくるだろうw

613 :デフォルトの名無しさん (ワッチョイ df98-HvS5):2017/01/08(日) 16:34:40.53 ID:oWytpAF00.net
>>612
書いて見せてよ

614 :デフォルトの名無しさん (ワッチョイ 0bce-pn3f):2017/01/08(日) 16:47:29.40 ID:xMVs4RXt0.net
>>613
俺に答えを言わせる気かw

Reactめんどくせーよ。

615 :デフォルトの名無しさん (ワンミングク MMff-+flj):2017/01/08(日) 17:24:39.20 ID:XDbKIsfAM.net
>>612
こういうコード
サンプルスニペットならいいけど
複雑な業務だと何やってるかわからなくなるからやめて

616 :デフォルトの名無しさん (ワッチョイ 0bce-pn3f):2017/01/08(日) 18:04:30.88 ID:xMVs4RXt0.net
>>616
それは作り方が悪いだけ

そもそも複雑な業務というのは
サーバー側が複雑なのであってJavaScriptは
殆ど使わない

617 :デフォルトの名無しさん (ワッチョイ 8b19-+flj):2017/01/08(日) 21:24:18.58 ID:l+lFPzQR0.net
行数が短ければ正義と思ってる奴か

618 :デフォルトの名無しさん (ワッチョイ 0bce-pn3f):2017/01/08(日) 22:52:00.94 ID:xMVs4RXt0.net
行数ではなくてステップ数な
ステップ数が少なければ正義だよ

619 :デフォルトの名無しさん (ワッチョイ 9ba1-Vje5):2017/01/08(日) 23:34:23.55 ID:U62MbfoD0.net
結局どういう事なんだ

620 :デフォルトの名無しさん (ワンミングク MMff-+flj):2017/01/08(日) 23:37:15.12 ID:XDbKIsfAM.net
行数だけ意識した雑なコードは書くなって事

621 :デフォルトの名無しさん (ワッチョイ 0bce-pn3f):2017/01/09(月) 04:08:11.18 ID:QmwK1Z6K0.net
重要なのは行数(文字数)ではなくてステップ数
たまにステップ数が短ければ正義。の反論として
極端に短くした変数名を持ってきたりするが、
重要なのはステップ数なのでわかり易い名前にすればいいだけ。

622 :デフォルトの名無しさん (ワンミングク MMff-+flj):2017/01/09(月) 09:23:11.98 ID:4NqOEoqDM.net
ステップ数の定義は?
ステートメント数?

623 :デフォルトの名無しさん (ワッチョイ df98-HvS5):2017/01/09(月) 18:16:00.34 ID:EaR/gEc60.net
>>614
Reactやりはじめたいんだけど、
全然わかんないからみせてよ!!!!!!

624 :デフォルトの名無しさん (ワッチョイ 0bce-pn3f):2017/01/09(月) 18:27:16.49 ID:qGJTtvd50.net
>>623
どこから? JSXのコンパイルはできるようになった?
それともnodeのインストールから?

625 :デフォルトの名無しさん (ワッチョイ 8b19-+flj):2017/01/09(月) 20:04:40.49 ID:lLMrzoyO0.net
JSXのコンパイルって何だよ

626 : ◆OssanNUN/w (ワッチョイ df98-HvS5):2017/01/09(月) 20:36:22.11 ID:EaR/gEc60.net
>>624
nodeのインストールしたとだよ
そんなのいいから>>612のReact版見せてくれ
いっつもこんな感じでjqueryでしか書いてない

627 :デフォルトの名無しさん (アークセー Sx37-YL17):2017/01/16(月) 16:48:39.02 ID:vlGMO2A0x.net
>>609です。
レスありがとうございました!
>>610のサイト、最初はサイトの画面の意味もわからなかったのですが
追加ボタンを押すとアイテムが増えていくという画面なのを把握&
Angular.jsは、ドットインストールを思い出してそちらで入門を読んでみて
JQueryとの違いと言うか、考え方がどう違うかという基本はわかりました。

業務でちょっと立て込んでしまったので、しばらく手が動かせないのですが
次は>>612やってみます。

628 :デフォルトの名無しさん (ワッチョイ 67ce-q48i):2017/01/16(月) 23:02:56.26 ID:0nV0x3iS0.net
>>627
jQueryというかDOM操作ライブラリとの違いね
ブラウザ標準のDOM APIともぜんぜん違うでしょ?

グループ分けするなら

・DOM操作系(jQuery、DOM API)
・データバインディング系(Angular、Vue)
・仮想DOM系(React)

629 :デフォルトの名無しさん (ワッチョイ ffce-SmTw):2017/01/21(土) 23:28:36.95 ID:sMDuy5hJ0.net
2017年 JavaScript★71.9%ものサイトがjQueryを利用 [無断転載禁止]©2ch.net
http://tamae.2ch.net/test/read.cgi/prog/1485008061/

630 :デフォルトの名無しさん (ワッチョイ a3bc-1yXr):2017/01/22(日) 04:51:43.75 ID:A/ZA38Cw0.net
誰かcanvas要素に詳しい方おられますか?

631 :デフォルトの名無しさん (ワッチョイ ffce-SmTw):2017/01/22(日) 05:41:00.88 ID:etjPL+qg0.net
>>630
CreateJS(canvasを使うライブラリ)でよければどうぞ

canvas要素を使うのは昔やったけど
手間がかかるだけなのでもうやっていません

632 :デフォルトの名無しさん (ワッチョイ ea98-Y1AZ):2017/01/29(日) 15:32:31.23 ID:CHlx9RpS0.net
JavaScript ベスト・オブ・ザ・イヤー 2016
https://risingstars2016.js.org/ja/

JavaScriptコミュニティは日々進化しています。今日のトレンドも数か月後には陳腐化しているなんてことは日常茶飯事です。

2016年は終わってしまいましたが、何か重要なことを見逃したのではないかと感じているそこのあなた! 2016年の主要なトレンドをおさらいして、そんな不安を払拭しちゃいましょう。

過去12か月に獲得された Github のスター数を比較して、2016年に支持を集めたプロジェクトを数値に基づいて評価していきます。

2015年はなんといっても React でした。そして、Flux 実装を席巻したのは Redux でしたね。 2016年、JavaScript の人気プロジェクトはどのようなものだったのでしょうか?

633 :デフォルトの名無しさん (オッペケ Sr13-wtXX):2017/01/29(日) 17:23:53.48 ID:MoCVqVidr.net
Web制作板の荒れようが酷いね。
あっちにもワッチョイが導入されればいいのに。

634 :デフォルトの名無しさん (ワッチョイ bb4a-Y1AZ):2017/01/29(日) 18:26:37.78 ID:tEr1J88h0.net
質問者はこちらへどうぞ。
ワッチョイ付きなので荒らしの区別が付きやすいと思われます。

JavaScript の質問用スレッド vol.132 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/hp/1485265364/

635 :デフォルトの名無しさん (オッペケ Sr13-wtXX):2017/01/29(日) 22:06:52.93 ID:MoCVqVidr.net
>>634
ワッチョイ付いてないよ?

636 :デフォルトの名無しさん (ワッチョイ a6a7-AZYz):2017/01/29(日) 22:45:11.28 ID:IWUOXBQT0.net
idないまま放置されてる時点であの板はもうダメだよ

637 :デフォルトの名無しさん (ワッチョイ ea98-Y1AZ):2017/01/30(月) 00:50:26.53 ID:UteNnrEq0.net
ワッチョイってできる板とできない板があるの?

638 :デフォルトの名無しさん (オッペケ Sr13-wtXX):2017/01/30(月) 12:23:30.70 ID:GF8hSJkSr.net
>>637
ある、Web制作板はワッチョイ未導入

639 :デフォルトの名無しさん (ワンミングク MM1a-bF0B):2017/01/30(月) 23:53:44.29 ID:pve8veDdM.net
匿名ゆえの荒れっぷりも楽しめないなら2ch引退した方がいい
オープンなコミュニティで実名でワイワイやればいいじゃん?

640 :デフォルトの名無しさん (アウアウウー Sa7f-Q0kd):2017/01/31(火) 16:57:16.78 ID:RySlSGrka.net
質問スレで煽り合いを楽しむなら、まともに質問をしようとは思わないかな
「煽りを楽しみにきてるのに何を真面目に回答しちゃってるの?」と返すのが当たり前になって質問スレとしては機能しない

641 :デフォルトの名無しさん (ワッチョイ 5b5b-AZYz):2017/02/01(水) 00:18:27.87 ID:KFM30q9x0.net
ゆとりに何を言っても無駄。
とはいえゆとり汚染の酷い2chは使えないのも事実。
いいとこあったら紹介してくれよ。見てみるから。

642 :デフォルトの名無しさん (アウアウウー Sa7f-Q0kd):2017/02/01(水) 01:33:43.68 ID:TDICbD4za.net
比較的まともなのはこの辺かな
http://stackoverflow.com/questions/tagged/javascript
http://ja.stackoverflow.com/questions/tagged/javascript
https://teratail.com/tags/JavaScript

643 :デフォルトの名無しさん (ワントンキン MM1a-bF0B):2017/02/01(水) 07:32:14.32 ID:QtOB6vhPM.net
ja.sfはちょっと…

644 :デフォルトの名無しさん (ワッチョイ 5b5b-AZYz):2017/02/01(水) 19:32:56.21 ID:KFM30q9x0.net
ja.stackoverflow: 質問する前に教科書読めと言いたくなる、てかそっちの方が絶対速いだろ。
何故ゆとりは「まず質問しよう」とするのか分からん。
teratail: 同上、そして宣伝文句がいちいち頭に来たので今後とも相手にする気はない。

結局本家stackoverflowしかないのか?
あそこはTips集としてはまあまあだが、しかし話す場所じゃない。
質問したいわけではなくて、知っている奴と話したいだけなんだが。
(身の程をわきまえていない初心者は要らない。
つか普通にやれば実装出来る件をいちいち質問するな。
その点本家stackoverflowはグーパン食らわせるらしいので、
結果的にずいぶん質問がまともになっているように見える)

645 :デフォルトの名無しさん (アウアウウー Sa7f-Q0kd):2017/02/01(水) 21:46:44.25 ID:ZhA7/VZ0a.net
2chよりマシなQ&Aサイトを紹介しただけなんだから、いろいろ条件があるなら先出ししてくれないと分からないよ
質問をしなくてよくて初心者お断りな情報交換サイトを求めるならQ&Aサイトに行くのが間違ってる
見知った人とtwitter等のSNSサイトで情報交換すべき

646 :デフォルトの名無しさん (ワッチョイ 33a1-fMLr):2017/02/01(水) 22:05:02.95 ID:lpyRA1Jp0.net
移動しないとは言ってないし
これでさよならって事で良いんじゃない?

647 :デフォルトの名無しさん (ワッチョイ 5b5b-AZYz):2017/02/01(水) 23:32:49.62 ID:KFM30q9x0.net
>>645
なるほどご指摘はごもっとも。
しかし問題なのは見知った人が居ないことだ。本業の言語ではないので。
とはいえ逆に言えば、それが出来る人達は最早2chを使う必要はないわけだから、
ここで待っていても芽がないのかもしれんね。

648 :デフォルトの名無しさん (ワッチョイ ffe1-MPVQ):2017/02/03(金) 02:11:34.67 ID:KVEM3lJ90.net
>>647
初心者お断りでそこそこ人がいるコミュニティは(初心者が手を出さないジャンル除いて)成立しないでしょ
初心者叩きで環境が悪くなって人が減るか、中級者すら入れないガチ勢のコミュニティになるか

649 :デフォルトの名無しさん (ワントンキン MM1f-4SR0):2017/02/03(金) 21:35:46.61 ID:LN7efSZ0M.net
真面目な話この業界は空気悪くなっていいから初心者フルボッコして排除した方がいい
これ以上ITインフラを初心者に破壊されたらもう日本はもたない

650 :デフォルトの名無しさん (ワッチョイ c35b-0MWP):2017/02/03(金) 23:16:19.84 ID:CYbB7nGp0.net
>>648
ゆとりは死ね。
まあお前らはそうやってコミュニティを破壊してきたんだろうし、今後もそうするのだろうけどね。

ちなみに
> 中級者すら入れないガチ勢のコミュニティ
これを知っているのなら教えてくれ。見てみるから。

651 :デフォルトの名無しさん (アウアウイー Saa7-qrch):2017/02/03(金) 23:26:15.16 ID:+w29p6mxa.net
>>649
babel君は省みないから意味ないかもよ

652 :デフォルトの名無しさん (ワッチョイ 7fba-yGjQ):2017/02/08(水) 13:26:00.81 ID:ViRk+dgw0.net
全くもってシロートです。
この海外通販サイトであるメーカーの品を買いたいのはですが、そのメーカーの品は日本の代理店が圧力かけてカートに入れることが出来ません。
スマホからChromeを立ち上げて、
発送先(国旗のマーク)を他国にし、カートに掘りこんで放置。
他のサイトを色々見たあともう一度放置したタブを見ると(再読み込みしてた)
発送先が日本で目当ての品もカートから消えずに残ってた事が数回ありました。
一度発送先日本でカートに入れられた物は買うことができます。
その方法で数点買うことができました。
しかし、毎回出来るわけではなく、できる方が少なく困っています。
何か法則があるのでしょうか?
または、スタイルシートなどでそれを解除することは可能でしょうか?
教えてクレクレは重々承知ですがお願いします。

653 :デフォルトの名無しさん (ワッチョイ 7fba-yGjQ):2017/02/08(水) 13:27:04.69 ID:ViRk+dgw0.net
サイトのURl 貼るの忘れてました。
ttps://www.trekkinn.com/

654 :デフォルトの名無しさん (ワッチョイ d319-kMoN):2017/02/08(水) 13:28:31.02 ID:EzKDTKh80.net
【BS11:スポーツ】 <BSイレブン競馬中継>放送時間:毎週土・日曜日 正午〜(第1部)/ 午後4時00分〜(第2部) http://www.bs11.jp/sports/bs-keiba/

655 :デフォルトの名無しさん (ワッチョイ 7fba-yGjQ):2017/02/08(水) 13:31:57.30 ID:ViRk+dgw0.net
>>653
他にもあるのですが、代表的なカートに入らないメーカーGregoryです。

656 :デフォルトの名無しさん (ワッチョイ 5317-wVGn):2017/02/08(水) 16:25:27.72 ID:ekjB8NPA0.net
>>655
発送先変えようが串刺そうがブラウザ設定言語変えようがcookie消そうがそもそも
ttps://www.trekkinn.com/outdoor-mountain/gregory/1010/m
が表示されない
表示される機会自体が限定的なんじゃねーの
googleキャッシュからなら一応見れるけど

つーかJavascriptで制御してることはまずない
それだったらJavascript切れば済む話

657 :デフォルトの名無しさん (ワッチョイ 037b-AtEE):2017/02/08(水) 16:52:40.63 ID:OCW6swXT0.net
>>652
ここが
> この板はプログラムを作る人のための板です。
という事を知っていると言う前提で回答

そういうプログラムを作って欲しいという依頼ならばこの板は板違い
ランサーズとかで10-30万円くらいで募集かければ作ってくれるだろう

自作したいから教えろと言う意図ならば、全くの素人が今すぐ自作するのは無理と答えておく

658 :デフォルトの名無しさん (アウアウカー Sae7-yGjQ):2017/02/08(水) 17:37:55.35 ID:k6/0uGHAa.net
>>656
すいません。
発送先をalbania で表示できてます。
そのままカートに入れて、発送先を日本に変えるとカートは0
また発送先変えるとカート内は復活します。
私はスクリプトのタイムラグで希に日本にしてもカート内に表示されるのだと憶測したのですが。

>>652
すいません、板違いですね。
理屈がわかれば退散しますので、解明してもらえたら嬉しいです。

659 :デフォルトの名無しさん (アウアウカー Sae7-yGjQ):2017/02/08(水) 17:53:00.49 ID:k6/0uGHAa.net
わかっている情報としては、

はじめから実装されておらず、買えなくなったのはかこ最近。
(後からスクリプトを書き足した?)

一度やけくそで発送国変えてカートに十数個掘りこんで、日本に変えたらそのままカートに残ってた事があった。

660 :デフォルトの名無しさん (ワッチョイ 037b-AtEE):2017/02/08(水) 18:04:00.30 ID:OCW6swXT0.net
>>658
板違いがわかったならとっとと立ち去れ
自分だけは許されると思うな カス

661 :デフォルトの名無しさん (ワッチョイ 767b-Hg1I):2017/02/09(木) 03:27:01.86 ID:9cVHqnIp0.net
パソコンでブラウザを右クリックして、要素の検査から、F12開発者ツールが起動する。
それで、色々とデバッグしたりするけど、他人が作ったサイトを分析するのは、
自分が作ったサイトよりも、はるかに難しい

なぜかと言うと、相手はアプリの仕様を知っているけど、我々には分からないから

JavaScriptでは、後からデータを読み込んだりもするから、
ネット回線の都合で、数分後にはデータが読み込まれて、サイトの表示内容が変わる

しばらくサイトを放置して、再読み込みされた後に、状況が変わるのはそのせい

どの道、プロでも他人の作ったサイトを、仕様書無しで分析することは、まず無理。
しかも決済機能があるサイトを、どのようにいじくり回しても、どこかでエラーが起きるし、
営業妨害・破壊工作とみなされて逮捕される

662 :デフォルトの名無しさん (ワッチョイ eb5b-BJNc):2017/03/03(金) 02:58:29.43 ID:ljnBJEQ70.net
正規表現で置換したいのだが上手くヒット出来ないので知恵を貸してくれ。

用途:文字の装飾。func内で<s>$1</s>とか。デリミタは頭尾共**。
(**と**で囲まれた文字を装飾するために置換する。今は上手くヒットしない)
入力例: 'a**b*c**d*e**fg**h' に対し、b*c と fg をヒットさせたい。

var str = 'a**b*c**d*e**fg**h'; // a@d*e@h を得たい。
str.replace(/\*\*(.*)\*\*/g,'@') // a@h でNG。最長を取るため。
str.replace(/\*\*([^(\*\*)]*)\*\*/g,'@') // a**b*c**d*e@h でNG。[]内に()を使えないため。

複数文字でのデリミタって単純には無理?

663 :デフォルトの名無しさん (ワッチョイ 1f3c-dv7B):2017/03/03(金) 03:17:09.68 ID:GTe30Tvn0.net
non-greedyでググって

664 :デフォルトの名無しさん (ワッチョイ 1f3c-dv7B):2017/03/03(金) 03:21:53.99 ID:GTe30Tvn0.net
a@hで返されるやつをnon-greedy(.*?)にすればOK

665 :デフォルトの名無しさん (フリッテル MM7f-hS1q):2017/03/03(金) 08:24:44.98 ID:+Iu6j6ikM.net
>>662
あなたが期待しているのは non-greedyではなく、否定先読み (^**)
最長一致のままでバックトラックを最小限に抑えて書く事は出来る

更に発展させれば、先読みすら使わなくても書ける
** の固まりで考えずに * と [^*] に分けて文字列パターンを考えるといいだろう

666 :デフォルトの名無しさん (ワッチョイ 1f3c-dv7B):2017/03/03(金) 15:34:12.20 ID:GTe30Tvn0.net
>>665
このケースでnon-greedyよりも効率のいい否定先読みの表現があるならちゃんと示してよ

667 :デフォルトの名無しさん (ワッチョイ eb5b-BJNc):2017/03/03(金) 19:13:40.68 ID:ljnBJEQ70.net
>>663-664
ありがとう。non-greedyが出来ると知らなかった。

>>665
いや、分けた時点で駄目だよな?
デリミタが**で、その間は任意の文字列が許容されている。例えば、

var str = 'i**j*k*l*m*n**o'; // i@o を得たい

途中に\*と[^*]がどういう順番で何個あってもそれは無視して、**という塊が来たときに終端する。
non-greedyで速度含めて問題無いように見えるし、(アルゴリズム的には最長一致より速いはず)
無理に最長一致で書く必然性は無いと思うがどうか。
(それ以前に俺は書けないが)

668 :デフォルトの名無しさん (ワッチョイ 1f3c-3wiD):2017/03/03(金) 20:52:02.35 ID:GTe30Tvn0.net
'a**b*c**d*e**fg**h'.replace(/\*\*((?!\*\*).)*\*\*/g,'@')
否定先読みはこんな感じ
これならnon-greedyのほうが効率いい

669 :デフォルトの名無しさん (フリッテル MM7f-fLnF):2017/03/03(金) 20:55:57.43 ID:+Iu6j6ikM.net
>>667
あなたは「バックトラック」について学ぶべきだな (ぐぐるなり、『詳説 正規表現 第3版』を購入して読んでみるなりすべき)
non-greedy は最長一致させてからバックトラック(前に戻る)して最短一致させている
例えば、'**aaa**bbb**ccc**ddd**'.match(/\*\*.*?\*\*/g);
は初めに全ての文字列「**aaa**bbb**ccc**ddd**」を消費してからバックトラックする事で最短一致する事になる為、** の後続に非常に長い文字列が存在するとパフォーマンスが著しく低下する

デリミタが ** なら素直に書けば、こう
'a**b*c**d*e**fg**h'.match(/\*\*(?:(?!\*\*)[\s\S])+\*\*/g); // ["**b*c**", "**fg**"]

先読みを使わなければ、こう
'a**b*c**d*e**fg**h'.match(/\*\*(?:[^*]+\*)*[^*]+\*\*/g); // ["**b*c**", "**fg**"]

これらは「**」を飛び越えて消費する事が不可能なので無駄なバックトラックが発生しない

670 :デフォルトの名無しさん (ワッチョイ 1f3c-dv7B):2017/03/03(金) 21:41:53.09 ID:GTe30Tvn0.net
否定先読みのやつはnon-greedyより効率悪いじゃん

知ったか君かと思ってたけどJSじゃないだけで
フクロウ本を読んでるちゃんとした人だったのね

671 :デフォルトの名無しさん (ワッチョイ eb5b-BJNc):2017/03/03(金) 23:56:21.24 ID:ljnBJEQ70.net
>>668-669
否定先読みも知らなかった。ありがとう。

ただ、俺が言うのもおかしいが、
> non-greedy は最長一致させてからバックトラック(前に戻る)して最短一致させている (>>669)
これは多分違う。明らかに実装依存だし、MDNはそちらの想定とは異なることを示唆している。
> x?
> *、+、?、{} といった量指定子の直後に使用した場合は、非欲張り (non-greedy)量指定子(最小回数にマッチ【訳注: スキップ優先】)となります。
> これはデフォルトのそれらとは逆であり、デフォルトのそれらは、貪欲 (greedy)量指定子(最大回数にマッチ【訳注: 繰り返し優先】)です。
> https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/RegExp
greedyの結果は必ずnon-greedyの結果を内包する為、そちらの言うとおりの実装も可能だが、
それはあくまで既存のgreedy専用ルーチンにnon-greedyを後付した場合だ。
最初から両方とも実装する気なら、入力文字列/正規表現文字列での2重ループで、
内外を入れ替えられるように構成すればいいだけ。(実際は別に作ってif文だと思うが)
この場合、「スキップ」が正規表現文字列の進行、「繰り返し」が入力文字列の進行を表している。
「スキップ」が内側ならnon-greedy、「繰り返し」が内側ならgreedyになる。
実際にどうかはコード見るしかないが。

この仮定どおりだと、今回に関してはnon-greedyが一番効率がいい。
正規表現検索が遅くなる理由は、内部のマッチング候補が無限に膨らんでいくからだ。
str.match(/\*\*(.*?)\*\*/g,'@') だとまず終端**であるか確認し、
駄目なら一つ進めてまた終端かどうか試すわけで、内部候補は最小の状態で保てる。
理屈上は線形時間*2で済む。(この場合は*3になるのか?)

話を総合すると、PCREは669の言うとおり、JSは多分違って670の言うとおり、ということなのかな?
まあ今回の部分はパフォーマンスは必要ないところなので、どちらでもいいんだが。
なお余談だが.NETではバックトラッキングを制御するための構文もあるようだ。
> 非バックトラッキング部分式、後読みアサーション、および先読みアサーション
> https://msdn.microsoft.com/ja-jp/library/dsy130b4(v=vs.110).aspx

672 :デフォルトの名無しさん (ワッチョイ 1f3c-dv7B):2017/03/04(土) 01:24:10.21 ID:NAI/204b0.net
あいや、先読み使わないやつはさすがに効率いい
**で囲まれた文字列が長くなるにつれ差が出る
JavaScriptでもPCREでも結果は同じだったよ

“a**b*c**d*e**fg**h”の場合
http://i.imgur.com/vSin3OI.png

“a**bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb*c**d*e**fg**h”の場合
http://i.imgur.com/kkSEjXb.png

673 :デフォルトの名無しさん (ワッチョイ 1f3c-dv7B):2017/03/04(土) 01:55:33.59 ID:NAI/204b0.net
ここで試せる
https://regex101.com/

JavaScriptはstep数が表示されないけどPCREなら表示される

674 :デフォルトの名無しさん (ワッチョイ eb5b-BJNc):2017/03/04(土) 02:09:58.23 ID:w0C/5a4w0.net
>>672
ご苦労様だがそれはバグってるぞ。(間違えているのは君ではなくRegexBuddyの作者)
正確に言うと仕様を間違えている。最上位しかカウントできてない。
だから「backtrackを最小にするような正規表現」を考えるのにはいいが、
「最高速の正規表現」の評価には使えない。(元々これが仕様なのかもしれんが)
実装を考えれば分かる。

var i = 0; // 文字列位置、参考用
var str = 'a**b*c**d*e**fg**h'; // とする。

/\*\*(.*?)\*\*/gの場合、
まず**を探す、これは線形だから省略する。
問題はそれがマッチした後、つまり今 str[2] まで来ているとして、(今はi=2)
1. if (str[i]==='*') // 終端1文字目 ←これしかカウントしてない
2. if (str[i+1]==='*') // 終端2文字目
3. if (str[i]===何でもいい) // .* とマッチ
で、1.しかカウントしてないだろ。2と3を本当はカウントしなければならない。

だから/\*\*(?:[^*]+\*)*[^*]+\*\*/gの場合、
君が広げているところで
**bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
が1カウントでいきなり出てるだろ。
それは本当は [^*]+ にマッチしているかどうかを確かめながら進行してるんだから、
if (str[i]!=='*')
を毎回やってる。ところが、それがカウントされてない。
本来はそこで文字列長さ分だけカウントされてないと駄目。

675 :デフォルトの名無しさん (ワッチョイ eb5b-BJNc):2017/03/04(土) 02:10:24.99 ID:w0C/5a4w0.net
話を戻すと/\*\*(.*?)\*\*/g、1と2はショートカット論理であり、3は常に成立だから、
最適化がかかっていれば以下。
1. if (str[i]==='*' && str[i+1]==='*') // 終端
else { .* に常にマッチ }
だからマッチ回数は「**内文字列長さ+**内の*の個数」となる。

結論としては、両方ともほぼ同じだが、
/\*\*(?:[^*]+\*)*[^*]+\*\*/gの場合、途中に*を混ぜられたら
そこでいちいちバックトラックするだろ。
/\*\*(.*?)\*\*/gの場合はそれがない。だからこっちの方が速いと思うよ。

676 :デフォルトの名無しさん (ワッチョイ eb5b-BJNc):2017/03/04(土) 02:22:51.10 ID:w0C/5a4w0.net
>>673
つかこれ、JavaScriptはそのまま実行してるだけの気が、、、
それ以外はエミュしているからstep数出せるのだろうし。

ただPCREは中間コードを吐いて実行させるらしいから、
[^*]+の展開と他の比較に明確な速度差があって、
最上位だけカウントすればいいのかもしれない。

V8のは直接nativeを吐くらしいし、
俺の実装仮定はC言語的にnativeで、[^*]+の展開と他の比較も同速だから、
この見積もり方法だとPCREだとフィットしないのかも。

677 :デフォルトの名無しさん (フリッテル MM7f-hS1q):2017/03/04(土) 14:14:02.07 ID:GYl4MmX4M.net
>>675
> /\*\*(?:[^*]+\*)*[^*]+\*\*/gの場合、途中に*を混ぜられたら
> そこでいちいちバックトラックするだろ。
バックトラックは ** が出現した時だけだと思うが、* が出現するとどういう原理でバックトラックする?
とはいえ、**aaa** でもバックトラックしてしまうのは問題なので /\*\*[^*]+(?:\*[^*]+)*\*\*/g にすべきだったな

678 :デフォルトの名無しさん (ワッチョイ eb5b-BJNc):2017/03/04(土) 15:27:38.88 ID:w0C/5a4w0.net
>>677
> バックトラックは ** が出現した時だけだと思うが、* が出現するとどういう原理でバックトラックする?
これは俺の間違いだった。
>>672見て後ろ [^*]+ から探索しているのが不思議だったんだが、
それが俺の勘違いで、あれは前側をgreedyで取りきった残りカスだった。
ただそれならそちらも気づいたとおり、デフォで1回バックトラックするよな。

/\*\*[^*]+(?:\*[^*]+)*\*\*/は微妙に仕様が異なる。(現実的には問題ない)
ただこれもそちらの定義のバックトラックではないが、もう一段低いバックトラックはしてるだろ。
*が出現した場合、次の文字を検査し、(?:\*[^*]+)に該当するか、 --- (A)
駄目なら**になるか、の検査をしている。 ---(B)
(A)があるだけ/\*\*(.*?)\*\*/gより遅い。こちらはBしかしないから。
(ただし「A=!B」の最適化をかけられれば同速になる)

そもそもバックトラックのあり/なしで考えるのが時代遅れなのだと思うよ。
そこは本質ではない。wiki見りゃ分かるが、
バックトラックなし(そもそもアルゴリズムが違う)の正規表現探索ルーチンもあるし、
V8も今はIrregexpでChrome57からCodeStubAssemblerなんだっけ?
Perl互換である必要が無ければ、PCREを使う必要も無くて、
機能が少ないのなら、その分高速なルーチンを作成できるのも当然だし。

本質的には探索木が分岐しないことでしょ。
/\*\*(.*?)\*\*/gは全く分岐しないんだよ。
だからnon-greedyを正しく実装していれば最速になる。
(?:\*[^*]+)も完全に最適化されれば同じだけど、
(?:\*[^*]+)*\*\*と頭側の\*が2回別に書かれている点が最適化しづらい。
(まあこの程度なら最適化されるのかもしれないが)

679 :デフォルトの名無しさん (ワッチョイ 1fce-NqFr):2017/03/04(土) 16:39:44.96 ID:fiOXClU60.net
お前らに一言言っておこう。

正規表現というのは文字列(単語)を認識するものであって
文字列と文字列の関係(構文)を認識するものではない

なんでも正規表現でやろうとするやつは馬鹿がすることだ。
正規表現以外の方法を知らない愚か者だ

680 :デフォルトの名無しさん (ワッチョイ eb5b-BJNc):2017/03/04(土) 17:11:29.26 ID:w0C/5a4w0.net
本日の愚か者>>679

この場合は正規表現が最適だろ。
str = str.replace(/\*\*(.*?)\*\*/g,'<s>$1<\s>');

681 :デフォルトの名無しさん (ワッチョイ 1f3c-dv7B):2017/03/04(土) 17:21:07.94 ID:NAI/204b0.net
文字列別にjsPerf作った
やっぱChromeだけちょっと特性が違う

https://jsperf.com/non-greedy-vs-negative-look-ahead-vs-negate
https://jsperf.com/non-greedy-vs-negative-look-ahead-vs-negate-2
https://jsperf.com/non-greedy-vs-negative-look-ahead-vs-negate-3

>>674
カウントの仕方は今度作者に聞いてみるわ

682 :デフォルトの名無しさん (ワッチョイ eb5b-BJNc):2017/03/04(土) 17:33:12.13 ID:w0C/5a4w0.net
>>679
ちなみに正規表現の濫用が指摘されだしたのはPerlからだろ。
JavaScriptの正規表現ってそこまで機能ないし、濫用できないと思うが。

多分なあ、バックトラックとかの調整をユーザーが意識しだした段階でそろそろやりすぎなんだよ。
今回もそうだが、大半のケースで自前でループまわした方が速かったりするし。
さらっと書いて遅かったら手で回す、位でいいと思うが。

683 :デフォルトの名無しさん (ワッチョイ c3a0-Dx6a):2017/03/18(土) 21:27:33.25 ID:sZCCfY8g0.net
画面を左右で分けて
画面右でクリックされたらAの処理
画面左でクリックされたらBの処理
ってやりたいのだけどこの場合どうすればいい?

684 :デフォルトの名無しさん (ワッチョイ f35b-tpgq):2017/03/18(土) 22:47:45.17 ID:waR+gchT0.net
>>683
onclickイベント関数の引き数eにclientXが格納されているからそれを見る。
https://developer.mozilla.org/en-US/docs/Web/Events/click
https://developer.mozilla.org/en-US/docs/Web/Events

以下で試してみ。
document.getElementsByTagName('body')[0].onclick = function(e){console.log(e.clientX);};

685 :デフォルトの名無しさん (ワッチョイ bf3c-y/cv):2017/03/18(土) 22:48:01.74 ID:vBdYmHk50.net
画面って?

686 :デフォルトの名無しさん (ワッチョイ c3a0-Dx6a):2017/03/18(土) 23:33:51.54 ID:sZCCfY8g0.net
ウインドウ画面のこと

>>684
ありがとうございます。
やってみます。

687 :デフォルトの名無しさん (ワッチョイ c3a0-Dx6a):2017/03/19(日) 15:22:00.36 ID:L+LO5eNf0.net
可変するdiv枠内で、画像が中央に一枚あり
画像がdiv枠内からはみ出さず且つ画像サイズが最大になるように
画像のサイズを調整したいのですがどうするといいでしょうか?

イメージ的にはこんな感じです。
http://bashalog.c-brains.jp/images/150810_fujimori_01.png

688 :デフォルトの名無しさん (ワッチョイ bf3c-y/cv):2017/03/19(日) 21:45:28.77 ID:Lj5IhMr80.net
>>687
CSSじゃなくてJavaScriptでやりたいの?

689 :デフォルトの名無しさん (フリッテル MM7f-EJeZ):2017/03/19(日) 21:49:48.67 ID:DAQ4XfnCM.net
>>688
CSSで解決出来ると思って別スレで質問したが、思った回答が得られなかったのでこっそりマルチポストしてるのだろう
http://echo.2ch.net/test/read.cgi/hp/1488192984/384-

690 :デフォルトの名無しさん (ワッチョイ bf3c-y/cv):2017/03/19(日) 21:58:04.92 ID:Lj5IhMr80.net
そっか

>>687
CSSで出来るよ

691 :デフォルトの名無しさん (ワッチョイ c3a0-Dx6a):2017/03/19(日) 21:59:01.69 ID:L+LO5eNf0.net
>>688
>>690
できました。
ホントのホントにありがとうございます。

692 :デフォルトの名無しさん (ワッチョイ a30e-qdcG):2017/03/20(月) 00:12:43.52 ID:UPidTP050.net
var px = '123.45';
Number(px); //123.45
parseFloat(px); // 123.45
px = '123';
parseInt(px, 10); // 123

javascriptの型変換について、
どれを使うべきってあるのでしょうか?
私は、次の3つのうちどれかを使えばokって認識なのですが、
一般的にとか、このスレ的に推奨とか、〜の理由でこれを使うべき
とかってありますか?
parseFloat
Number
parseInt

693 :デフォルトの名無しさん (ワッチョイ bf3c-y/cv):2017/03/20(月) 00:52:54.32 ID:G9+XvfW+0.net
var px = “2ch”
の時にどうしたいかで使い分ける

694 :デフォルトの名無しさん (ワッチョイ a30e-qdcG):2017/03/20(月) 01:35:56.30 ID:UPidTP050.net
>>693
なるほど。

ところで皆さん、自分の過去に作ったコード読んで意味不明とか
何で動いてるか分からないってありますが?
私は、結構そんなコードあるんですが、
やっぱり処理フローとか資料とか作っといたらいいのでしょうか?

695 :デフォルトの名無しさん (ワッチョイ 53ee-RygQ):2017/03/20(月) 04:59:35.86 ID:jSqJf+ps0.net
>>692
parse系は単位付きの文字列から変換する時か、基数を変える必要があるときのみ
一番いいのは+演算子、次点でNumberや数値で取得するメソッドを使うこと
◎ val = +elm.value
○ val = Number(elm.value)
○ val = elm.valueAsNumber

>>694
資料までは要らないが、コメントは最低限必要
でもコメントを残しとかないといけないような所はできるだけ少なくしたいもの
まあ上達してくれば徐々に減る

696 :デフォルトの名無しさん (ワンミングク MM5f-PRkG):2017/03/20(月) 05:22:32.26 ID:9l8mop6tM.net
>>695
一番上は暗黙の型変換だからおれは勧めないな
時代に即さない

697 :デフォルトの名無しさん (ワッチョイ bf7d-tpgq):2017/03/20(月) 06:29:26.82 ID:b6MPn9SR0.net
var hoge = function(){...}; と function hoge() {...} ってどっちもhoge()で呼び出せますが、
どちらの書き方が好ましいんでしょうか?

698 :デフォルトの名無しさん (ワンミングク MM5f-PRkG):2017/03/20(月) 06:36:41.80 ID:9l8mop6tM.net
>>697
変数に入れる理由がわからないうちは普通にfunctionで書く方がいいよ

699 :デフォルトの名無しさん (ワッチョイ bf7d-tpgq):2017/03/20(月) 06:41:44.71 ID:b6MPn9SR0.net
>>698
こんな時間に即レス感謝です。変数に入れる理由って、引数で関数渡す場合ですかね?
前者の表記の場合、関数ポインタ分メモリを余計に消費してしまうって言う理解で正しいですか?

700 :デフォルトの名無しさん (ワンミングク MM5f-PRkG):2017/03/20(月) 06:54:28.26 ID:9l8mop6tM.net
>>699
引数で関数渡すときに変数に入ってるかどうかは関係ないよ
function構文でも同様に渡せる

メモリ云々は考えない方がいい
どうせ意味のないレベルだし内部実装がどうなっているかによる

無名関数を変数に入れるということは途中でそれを破棄する事も出来る
GCが走れば当然メモリは解放される
これも微々たるもので千個万個定義するとかじゃないかぎりほとんど意味はない

まず、javascriptのプロとタイプについて調べ、なぜ無名関数が必要なのか、どう使うのかを勉強したらいいよ

きっと今のレベルであれこれ考えても意味がないよ
あと、他の言語の知識はいったん全部忘れるほうがいい
他の言語の知識ありでJSをとらえようとすると余計なフィルターがかかって本質がいつまでもたっても見えないとおもう

ぶっちゃけ、javascriptは他の言語とは比較にならないレベルで難解だよ
やるなら書籍買い込んで本気で基礎からやったほうがいい

701 :デフォルトの名無しさん (アウアウウー Sa37-Rmg3):2017/03/20(月) 10:41:29.41 ID:dCGuhToEa.net
再利用出来そうなら関数文、出来なさそうなら関数式で分けてるわ

702 :デフォルトの名無しさん (ワッチョイ f35b-tpgq):2017/03/20(月) 10:42:58.03 ID:5J3+8zMD0.net
毎回思うがデタラメ言うやつが多いから気をつけろよ。
こんなのはJavaScriptのスレだけなのだけどね。

703 :デフォルトの名無しさん (フリッテル MM7f-EJeZ):2017/03/20(月) 12:34:37.78 ID:RyskYj8DM.net
>>692
対象の変数値によって最適解が異なる。

// ToNumber 系
Number(px);
+px;

// 文字列パース系
parseInt(px);
parseFloat(px);

// DOM API 系
element.valueAsNumber

ToNumber 系は Number 型への変換だけを行い、文字列パース系は Strimg 型に変換してから、文字列の前方にある数値文字列を対象に Number 型へ変換する(数値文字列の後続文字列は読み飛ばす)。
単純なNumber型への変換を求めるなら ToNumber 系で十分であり、文字列パース系は数値以外が混在する String 型が適する。
element.valueAsNumber は対象ブラウザが許すなら使える。
http://caniuse.com/#feat=input-number

704 :デフォルトの名無しさん (フリッテル MM7f-EJeZ):2017/03/20(月) 12:42:39.52 ID:RyskYj8DM.net
>>697
変数の巻き上げ(hoisting)を望まないなら変数宣言を行い、そうでないなら関数宣言を使用すれば良い。
>>6のJavaScript Gardenを参照する事を推奨する。
巻き上げを望まないなら const, let を使いたくなるだろうが、対応ブラウザの関係でトランスコンパイラなしでは扱いにくいところがあるので、要求パフォーマンス及び対象ブラウザ次第といえる。

705 :デフォルトの名無しさん (アウアウカー Sa57-Rmg3):2017/03/20(月) 13:30:33.76 ID:1qi4KoAma.net
const大好きっ子だから早く完全に対応してほしい
少なくとも9割はconstにしたい

706 :デフォルトの名無しさん (フリッテル MM7f-pqpN):2017/03/20(月) 13:52:50.29 ID:cId9IEOYM.net
constはオブジェクトに優しくないからなー

707 :デフォルトの名無しさん (ワッチョイ bf5b-YDOq):2017/03/20(月) 13:56:00.98 ID:+zI9Fl+i0.net
const長いから3文字ぐらいに縮めて欲しい

708 :デフォルトの名無しさん (アウアウカー Sa57-4frl):2017/03/20(月) 14:06:55.06 ID:OAxC6OTFa.net
constはインデントが揃わないから嫌い

709 :デフォルトの名無しさん (ワッチョイ f35b-tpgq):2017/03/20(月) 14:15:35.01 ID:5J3+8zMD0.net
>>694
> 私は、結構そんなコードあるんですが、
一応ヒントだけ言っておくと、
> 私は、次の3つのうちどれかを使えばokって認識なのですが、(>>692)
この認識が間違い。
> 一般的にとか、このスレ的に推奨とか、〜の理由でこれを使うべき
一般的に〜の理由でこれを使うべきというのはあって、それはMDNを読めば分かる。

資料やコメントも重要なのだけど、それ以前に、
資料やコメントが無くても分かるコードを目指さないといけない。君はそれができてない。
分かってないやつが書いた資料やコメントなんて使い物にならない。今の君がそう。
だから繰り返しになるが、今はまず、何故そのコードなのかを明確にするように書け。
そして「本来は○○を使うべきだが△△の理由で□□を使っている」場合にそこにコメントつけるんだよ。
そうすれば、自分流のスタイルは統一され、自分のコードが読めないことはなくなる。

次に、他人のコードが読みにくいというのが発生するが、これは上記、
「自分流」と「他人流」が違うから。
ただそれも、だんだん「自分流→他人流」の変換テーブルが出来るから読めるようになる。

その上で、この変換テーブルの作成コストを下げたいというのなら、
「自分流」を世の中の「多数派」に合わせることが必要で、
それは自分であちこちのサイトを巡ってF12押して確認しろ。
ここはマジでデタラメばかり言うやつが多すぎる。

710 :デフォルトの名無しさん (アウアウカー Sa57-4frl):2017/03/20(月) 14:39:28.75 ID:mV22Zu+/a.net
この句点付きはいつものキチガイだから無視するように
こいつの言ってることが既にデタラメだからな

711 :デフォルトの名無しさん (ワッチョイ bf3c-y/cv):2017/03/20(月) 17:01:21.30 ID:G9+XvfW+0.net
ファイルの中で全体から部分へ詳細化する形で書けるから俺は関数宣言のほうが断然好み
でも関数宣言より関数式を使うほうが一般的なんかね?

http://airbnb.io/javascript/#functions
https://medium.com/@ryanflorence/functions-without-function-bc356ed34a2f

Airbnbなんかは関数宣言使うと可読性とメンテナンス性が落ちるって書いてるけど
関数式使ってるのほうが可読性が低いと感じるコードが多いと思ってる

712 :デフォルトの名無しさん (ワッチョイ bf3c-y/cv):2017/03/20(月) 17:04:42.33 ID:G9+XvfW+0.net
あとNumber vs parseIntは俺は基本Numberを使う
基数指定が不要で可読性が高いから
parseInt使うのは特別なケース
仕事のコードなら規約に従うけどね

713 :デフォルトの名無しさん (フリッテル MM7f-EJeZ):2017/03/20(月) 17:07:48.80 ID:RyskYj8DM.net
> 「自分流」を世の中の「多数派」に合わせることが必要で、
わけも分からず、多数派に合わせるのはお勧めしない。
自分の中で納得できる理屈を確立できるまで突き詰める探求心こそが必要。
流行次第で変化する多数派に合わせることはそれ程重要ではない。
観測範囲によっても多数派は変わるだろうしな。

714 :デフォルトの名無しさん (フリッテル MM7f-EJeZ):2017/03/20(月) 17:22:11.55 ID:RyskYj8DM.net
>>711
一般的かどうかは分からないが、関数式を使う人の心理としては「関数定義後に関数呼び出しする原則」を徹底したいのだと思う。
関数宣言では宣言の記述前に関数呼び出しする事が出来てしまう。
勿論、コーディング規約やポリシーで制限することは出来るのだが、宣言前に呼び出したらエラーになる強制力が欲しいと感じるのだろう。

> 関数式使ってるのほうが可読性が低いと感じるコードが多いと思ってる
個人的には同意なのだが、
所詮、可読性は主観的な評価なので慣れてしまえば、どちらでも大した違いはないと思う。
「どちらが可読性が高いか」ではなくて「どちらが自分にとってしっくりくるか」という感覚的なもの。
可読性でいうならアロー関数は可読性が低いと感じるが、新しいもの好きやショートコーダの人は平気で書くだろう。
それは「可読性を落としてでも書くメリットがある」か「自分自身の目を養って自分の可読性能を上げよう度努力した(慣らした)」のだと思う。
その辺のバランス感覚は人それぞれなので自分の中で完結するのは良しとしても、他人に可読性が云々という人を見ると「あなたの個人的な感想では?」と感じることはある。
(あなたがそうといっているわけではないが、このスレでも比較的そういう人を見かけるな)

715 :デフォルトの名無しさん (アウアウウー Sa37-Rmg3):2017/03/20(月) 17:50:30.15 ID:9zw9z92Za.net
>>707
var、let、と来てるんだからconでいいのに

716 :デフォルトの名無しさん (ワッチョイ f35b-tpgq):2017/03/20(月) 18:23:45.84 ID:5J3+8zMD0.net
>>711
> Why?
> Function declarations are hoisted, which means that it’s easy - too easy - to reference the function before it is defined in the file.
> This harms readability and maintainability. 
> If you find that a function’s definition is large or complex enough that it is interfering with understanding the rest of the file,
> then perhaps it’s time to extract it to its own module!
> Don’t forget to name the expression - anonymous functions can make it harder to locate the problem in an Error's call stack.
> ([Discussion](https://github.com/airbnb/javascript/issues/794))
まずこれが嘘だろ。
関数宣言はどこにでも置けるのだから、関数式を置いている場所においても動作は問題ない。
遠くに置いて見にくくなるのなら、近くに置けばいいだけの話。
結局のところ、訳の分からない場所に置く馬鹿がいることが問題なんだよ。

関数式で前方宣言を強制することは出来る。
しかし、前方宣言が文法的に強制されているCに於いては、糞だと言う人のほうが多い。
だからそれ以降の言語、おそらく全部で、この仕様は捨てられているわけでね。

どこにでも置けるという、より自由度が高い方法を適切に使いこなした場合、
より自由度が低い方法でそれを超えることは出来ないのは当然。
それを馬鹿に合わせてどうするんだ、って話。

ただまあ、JavaScriptにおいては、このスレに限らず、Web上にもこの手のトンデモ情報が多すぎる。
ホームグラウンドだってこともあるのだろう、未熟者がお気軽に情報発信してしまいすぎている。
だから余計におかしくなる。

ただし、実はメンテ性は少し落ちる。
何らかの変更でポインタが必要になった場合、関数宣言→関数式に変えるが、
前方宣言強制になるので、理想的には、最初から関数式で書いた場合に置いたであろう場所 ---(A)
に移動させることになる。ところが、2段階とかで呼んでいる場合、それが分かりにくいので、
機械的にやってしまうのなら、関数内の頭に持っていく ---(B)
しかなくなる。で、(B)が嫌いなら残念なことになる。気にしないのなら大して問題はない。

717 :デフォルトの名無しさん (ワッチョイ f35b-tpgq):2017/03/20(月) 18:25:08.33 ID:5J3+8zMD0.net
というのは、C出身の俺は「出来るだけプログラマに委ね、プログラマ自身が最適化すべき」と考えるから。
Pythonはそうじゃないから、彼らは上記を読んだら発狂するのかもしれないが。
ただ、JavaScriptは「何でも出来る系」の言語なんだけどね。

718 :デフォルトの名無しさん (ワッチョイ f35b-tpgq):2017/03/20(月) 19:17:45.58 ID:5J3+8zMD0.net
ああすまん、間違ってた。
Pythonは前方参照禁止なんだな。驚きだわ。

Cで糞々と言われる前方参照禁止を採用←Python
COBOL以来(多分)の文法的インデントを採用←Python

Pythonはかなりクレイジーだな。
そしてJavaScriptをPython流にすると関数式強制になるのかもしれん。
なお改行については以下参照
> A Python programmer attempting Java
> https://i.imgur.com/wG51k7v.png
諸悪の根元はPythonerか?

719 :デフォルトの名無しさん (アウアウカー Sa57-4frl):2017/03/20(月) 19:37:09.70 ID:86KGYLzra.net
>>718
括弧が気持ち悪すぎる

720 :デフォルトの名無しさん (ワッチョイ 53ee-RygQ):2017/03/20(月) 20:54:11.25 ID:jSqJf+ps0.net
つうか何度も話題に出てるがlet,constは巻き上げされないというのは誤り
そもそも変数とはスコープ内で有効になるものなのだから、
スコープ内のどこで宣言されても変数として巻き上げされるのは当たり前
巻き上げされないのは変数自体ではなくて変数の初期化(利用可能化処置)
初期化句以前では初期化以外での参照不可状態に設定されているだけ
このエリアを通称TDZと言う

721 :デフォルトの名無しさん (ワッチョイ f35b-tpgq):2017/03/20(月) 20:58:49.82 ID:5J3+8zMD0.net
>>719
すまん、改行じゃなくて括弧だったわ。(まあ改行もだが)
俺は初めて見た時には一瞬フリーズした。
そしてその後、波括弧がうぜーってのはこういうことかーと思った。

>>711
追加。
> でも関数宣言より関数式を使うほうが一般的なんかね?
俺は専門ではないが、少なくとも俺は全面的に関数式のソースは見たことがない。
今数サイト見てみたが、普通に関数宣言が使われている。
そして多分今後とも「全面的に関数式」にはならないと思う。
他言語(C/C++/Java/C#)から来た連中が「全面的に関数式」で書くはずがないし。

なお日本語ページは逆となっている
> 7.1 関数式より関数宣言を利用してください。
> https://github.com/mitsuruog/javascript-style-guide#関数functions
状況からすると改訂されたのだろう、おそらく以下。

const foo = function () {}; // ×
function foo() {} // △
const foo = function bar() {}; // ○

いずれにしてもAirbnb自体は有名らしい。
一体こいつらがどんなコードを書いているのかと思って探してみたが、
リーダーは確かにこの通り書いているね。
https://github.com/ljharb
個人的には余計に見にくくなっていると感じるが、この辺は所詮慣れだからねえ。

722 :デフォルトの名無しさん (ワッチョイ bf3c-y/cv):2017/03/20(月) 21:43:46.42 ID:G9+XvfW+0.net
>>721
おお改訂されてるね
改訂した理由をいくつかのコード例とともに語られてると参考になるんだけど残念ながらそういうのはないね

723 :デフォルトの名無しさん (ササクッテロロ Sp97-DSCq):2017/03/20(月) 22:50:20.09 ID:jJoyVxl9p.net
javascriptは難解
よくプログラミング初心者にjavascript勧めるやついるけど、とんでもないよ

JavaやPHPの方が簡単
フロントPGが少ないのよく分かるわ
だって難いもん

サーバサイドと違ってHTMLやCSSをブラウザー毎の動きまで踏まえて完璧に読み書き出来ないとダメだし、少し現場から離れるとすぐわかんなくなるし大変だわ

724 :デフォルトの名無しさん (ワッチョイ f35b-tpgq):2017/03/20(月) 23:02:03.61 ID:5J3+8zMD0.net
>>722
一応ここはWeb上の議論で改訂されてるらしいから、漁れば出てくるはずだけど、
俺はGit慣れしてないから無理だ。試しに数個ポチって見たが出てこない。
Git慣れしてるんならクローンしてローカルで検索出来るんじゃねーの?知らんけど。
https://git-scm.com/book/ja/v1/Git-%E3%81%AE%E5%9F%BA%E6%9C%AC-%E3%82%B3%E3%83%9F%E3%83%83%E3%83%88%E5%B1%A5%E6%AD%B4%E3%81%AE%E9%96%B2%E8%A6%A7

725 :デフォルトの名無しさん (ワッチョイ bf3c-y/cv):2017/03/20(月) 23:24:59.75 ID:G9+XvfW+0.net
>>724
改訂されたコミットみても具体例とか書いてないのよ
https://github.com/airbnb/javascript/issues/1008

726 :デフォルトの名無しさん (ワッチョイ f35b-tpgq):2017/03/20(月) 23:41:37.98 ID:5J3+8zMD0.net
>>725
これちなみにGitHub上で検索した?やっぱローカルクローンから?

なお、見た目は7.11に合わせる為に間違えて修正してしまったようにも見える。

727 :デフォルトの名無しさん (ワッチョイ 5370-RygQ):2017/03/21(火) 14:00:12.05 ID:utcvU+/f0.net
なんで
const foo = function () {}
が×なんだろうな
ES2015からこの書き方でもnameが付くようになったでしょ?

728 :デフォルトの名無しさん (ワンミングク MM5f-PRkG):2017/03/21(火) 14:11:53.03 ID:AW7YBj5fM.net
>>727
それ普通にfunctionでいいじゃんw

729 :デフォルトの名無しさん (アウアウウー Sa37-pJ3D):2017/03/21(火) 14:22:36.92 ID:XvUQo6M0a.net
>>727
後方互換性を考慮しているのでは?
http://kangax.github.io/compat-table/es6/#test-function_name_property_variables_(function)

730 :デフォルトの名無しさん (アウアウウー Sa37-pJ3D):2017/03/21(火) 14:27:20.25 ID:XvUQo6M0a.net
> const foo = function () {}
Edge 15 でさえ about:flags で設定しなければ使えないので、後方互換性以前の問題か

731 :デフォルトの名無しさん (アウアウカー Sa57-4frl):2017/03/21(火) 14:33:49.62 ID:saxGm3bOa.net
function.nameが空文字で困る場面が思い付かない

732 :デフォルトの名無しさん (ワッチョイ ef61-tpgq):2017/03/21(火) 14:50:17.24 ID:SBixdYhr0.net
node の質問なんですが async await が使えるようになるとEventEmitterが要らなくなるんですか?

733 :デフォルトの名無しさん (ワッチョイ 5370-RygQ):2017/03/21(火) 16:04:16.05 ID:utcvU+/f0.net
>>732
EventはObsevableもといasync generator functionが使えるまで要る

734 :デフォルトの名無しさん (ワッチョイ ef61-tpgq):2017/03/21(火) 16:25:45.91 ID:SBixdYhr0.net
>>733
うう難しいですね・・・
CちょっとできるようになってC++やろうとしたら挫折した時に似てます

735 :デフォルトの名無しさん (アウアウカー Sa57-Rmg3):2017/03/21(火) 17:18:19.13 ID:iOlRfwaHa.net
そもそももうthisを指定したいんでもなけりゃ関数式でfunctionって書かんしな
全部アローで書けばいい
IE?知らん

736 :デフォルトの名無しさん (ワッチョイ bf3c-y/cv):2017/03/21(火) 17:34:23.19 ID:jV0Y+t/Y0.net
>>726
cloneしてgit log -L
オプションはgit help logで確認して

737 :デフォルトの名無しさん (ワッチョイ bfc8-YDOq):2017/03/21(火) 18:38:55.47 ID:XDBsAYay0.net
アロー関数はぱっと見で関数と認識できない
Array#mapの引数とか必ず関数が来るところならまだしも、let f = e => {};とか書かれるとちょっと混乱する
俺が慣れてないだけかもしれないけど

738 :デフォルトの名無しさん (ワッチョイ efa7-tpgq):2017/03/21(火) 18:56:16.04 ID:cCTalgi30.net
よくわかるよ
俺はなるべく引数に()付けたりブロック部分を改行したり
return端折らずに関数っぽく見える程度の形にしてる

739 :デフォルトの名無しさん (アウアウウー Sa37-Rmg3):2017/03/21(火) 20:16:43.13 ID:bmlZ4oTAa.net
>>737
慣れもそうだけどアローは関数型プログラミングの流れを汲んだ記法だから、
そこら辺に慣れてないと違和感あるかもね
その関数が参照透過かつ副作用がなければアローは本当にただの矢印というか、
引数に対して何か手を加えて返すだけの数学ちっくな関数になるからアローも
しっくり来ると思う
逆に可読性のために処理をまとめて詰め込んだだけの関数ならそれはもう
関数というかプロシージャだから、アローも単にタイプ数が少なくなる程度の
意味しか持たないし違和感を覚えるのもおかしくない

740 :デフォルトの名無しさん (ワッチョイ f3c8-tpgq):2017/03/21(火) 20:20:20.88 ID:T5U7WLBb0.net
>>727
つかAirbnbが馬鹿だから、の結論でいいと思うよ。
>>725の議論でいきなり7.1を変更して内容が残ってない時点でアウトでしょ。
「議論してまーす」のフリをしているだけだよね。最近こういうのも多いけど。

なおgoogleはそんなことは言ってない。強いて言えば以下。
> ブロックの中での関数宣言
> してはいけない.
>
> if (x) {
> function foo() {}
> }
> ブロック内での関数宣言は多くのスクリプトエンジンでサポートされていますが,
> これは ECMAScript で標準化されていません (ECMA-262 の 13, 14 節を参照してください).
> よって各実装や将来の ECMAScript 標準との間での一貫性がとれなくなります.
> ECMAScript での関数宣言は, スクリプトのルート部分か関数内で許可されています.
> ブロック内では関数宣言の代わりに関数式を用いてください:
>
> if (x) {
> var foo = function() {};
> }
> http://cou929.nu/data/google_javascript_style_guide/#id14
最後の1行の後半部分だけは一致する。海外にも文盲が増えただけの話だろ。

Nodeは余裕で関数宣言使ってる。jQueryには言及自体がない。
> https://github.com/felixge/node-style-guide#functions-1
> https://contribute.jquery.org/style-guide/js/

JavaScripterはこういうところで変に悩んで時間を浪費してる分、上達が遅くなっている。
どっちでもいいから自分なりに決めてガシガシ書かないと上達しない。
それでイマイチだったなら後で変更すればいいだけ。
最初から文法/スタイルに異常にこだわる奴が多すぎるのもJavaScripterの特徴だよ。

741 :デフォルトの名無しさん (ワッチョイ f3c8-tpgq):2017/03/21(火) 20:28:08.78 ID:T5U7WLBb0.net
>>739
つまりアロー関数はクロージャ無し、ついでにthisの使用も禁止にすれば美しかった、ってことだろ。
俺もそう思うね。

まあこれに限らず「何でこんな仕様なの?」ってのは多いけどね。

742 :デフォルトの名無しさん (ワッチョイ cf75-vzQh):2017/03/21(火) 20:59:01.05 ID:wMSmjxpw0.net
>>697-722
関数式は、あくまでも式・オブジェクトだから、書いた順序に依存する。
関数を下の方に書けないから、分離度が低い

関数式は1級オブジェクトだから、他の関数に、コールバック用引数として渡すなど、
関数をオブジェクトとして使う、用途に適している

関数宣言(文)は、オブジェクトとして使わない、単なるutility関数として使う場合

743 :デフォルトの名無しさん (ワッチョイ bf3c-y/cv):2017/03/21(火) 21:01:44.99 ID:jV0Y+t/Y0.net
>>727
>>740

そっちのほうはDiscussionでリンクしてるIssueでちゃんと説明してるやん
https://github.com/airbnb/javascript/issues/794

744 :デフォルトの名無しさん (ワッチョイ 538c-u6wT):2017/03/21(火) 21:06:36.94 ID:KGQ11aI90.net
>>727
> ES2015からこの書き方でもnameが付くようになったでしょ?

あんたにわかりやすく理由を説明するならばこうだよ

「仕様上はnameがつくようになりましたが、これはサポートしていないブラウザが
多いという問題があります。現実的に問題があるため推奨しません」

コーディング規約というものはそもそも「罠」を回避するためにある。
あるブラウザでは動くが、他のブラウザでは動かない。
これこそ「罠」でしょ?

745 :デフォルトの名無しさん (ワッチョイ 538c-u6wT):2017/03/21(火) 21:10:57.81 ID:KGQ11aI90.net
>>740
> JavaScripterはこういうところで変に悩んで時間を浪費してる分、上達が遅くなっている。
JavaScrptに限らない

> どっちでもいいから自分なりに決めてガシガシ書かないと上達しない。
決めるためには深く理解しなきゃいけないだろ
自分で決めるから時間がかかるんだよ。

こういうのは有名なスタイルガイド(Airbnb等)を採用して
そのデフォルト設定でガシガシ書くのが上達の近道
理由は後から理解すればいい。まず手を動かすことが大事

自分でルールを考え込んで無駄な時間をかけないようにしろ

746 :デフォルトの名無しさん (ワッチョイ f3c8-tpgq):2017/03/21(火) 21:24:13.49 ID:T5U7WLBb0.net
>>743
いや、無いよな?
確認だが、以下の理由と、そのコード例が知りたいんだよな?
(少なくとも、俺が言っているのは以下件についてだ)

> 変更前:
> Use function declarations instead of function expressions.
> Why? Function declarations are named, so they're easier to identify in call stacks.
> 変更後:
> Use named function expressions instead of function declarations.
> Why? Function declarations are hoisted, which means that it’s easy - too easy - to reference the function before it
> https://github.com/auth0/javascript/commit/3bce8154a02e44dade7a9da95a188966b0a1d523

見た目、不整合があるから整合させましたー、と見える。それはいい。
ただそのついでにこの変更はなしだろ、と思う。

747 :デフォルトの名無しさん (ワッチョイ 538c-u6wT):2017/03/21(火) 21:35:13.01 ID:KGQ11aI90.net
>>746
そのコミットは、 Fixes #1008. に対する修正だけど?

748 :デフォルトの名無しさん (ワッチョイ f3c8-tpgq):2017/03/21(火) 21:48:52.92 ID:T5U7WLBb0.net
>>745
全般的には同意だが、細かい点は以下。

> こういうのは有名なスタイルガイド(Airbnb等)を採用して
いや常識的にはgoogleだろ。

google: 関数宣言?問題ないよ。
Node: 関数宣言?問題ないよ。
jQuery: …
Airbnb:関数宣言は駄目。全部関数式にしろ。

誰を信じるかだが、google は巨人だろ。
おそらく世界最高レベルのJavaScriptエンジニアを多数揃えている。
Nodeの連中も同様、JavaScriptに深く関わっている。
jQueryも老舗の良店舗だろ。Nodeより信頼出来るかもしれない。

AirbnbってただのGitHub上の寄せ集めで、誰がやっているかも分からない。
そこでリーダーのリポジトリを見てみたが、バージョン管理システムとかだし。

これでAirbnbを信じるという選択になるのはアホだろ。
まあそれでも選択するのは個人の自由だが。
俺だったらgoogleを読んで、
おや?っと思う点だけは他も確認して、というアプローチにするけど。

そもそも、それ以前に、俺は偶には閲覧中のサイトのコードも覗くようにしてるけど、
全面関数式のコードには遭遇したことがないし。

> JavaScrptに限らない
他言語はこの手の「同じ事が出来る書き方」が何種類も用意されてないんだよ。
だからいちいち迷うことはないんだ。
迷うのはその上の段階の「データ構造」「制御構造」「オブジェクト指向」であり、
これは迷う価値があるから迷えばいいんだよ。

749 :デフォルトの名無しさん (ワッチョイ 538c-u6wT):2017/03/21(火) 22:01:42.18 ID:KGQ11aI90.net
>>740
等って書いたろ。どれでもいいんだよ。
そんなのにこだわってるから無駄な時間が過ぎていく

750 :デフォルトの名無しさん (ワッチョイ 538c-u6wT):2017/03/21(火) 22:04:36.39 ID:KGQ11aI90.net
なんでどーでもいいことなのに、
Airbnbの考察とかしてるんだろうか。

「Airbnbは人気があるものの一つ」で
選択肢として扱うのに十分なんだが。


といったら、あーだこーだ
Airbnbの考察を語るんだろうなw
時間の無駄。

751 :デフォルトの名無しさん (ワッチョイ 538c-u6wT):2017/03/21(火) 22:05:09.76 ID:KGQ11aI90.net
> 他言語はこの手の「同じ事が出来る書き方」が何種類も用意されてないんだよ。

用意されている

752 :デフォルトの名無しさん (ワッチョイ 83f5-JN/B):2017/03/21(火) 22:48:54.14 ID:EYWrpp4i0.net
>>739
Fontを変えれば結構目立つようにできるよ。
FiraCodeとか

753 :デフォルトの名無しさん (ワッチョイ 5370-RygQ):2017/03/21(火) 22:50:00.78 ID:utcvU+/f0.net
>>734
難しくないよ

function
は同期的に一度しか値を返せないのに対して
generator function
は同期的に何度も値を返せる

なら非同期に一度しか値を返せない
async function <-> promise
に対して非同期に何度も値を返せる
async generator function <-> observable
が考えられるでしょってこと

promiseがthenで繋げるように
observableもforEachとかいろんなメソッドで繋いで使う

754 :デフォルトの名無しさん (ワッチョイ 436e-tpgq):2017/03/22(水) 23:08:09.38 ID:CHjgGlMW0.net
入力値のチェックロジックとかってjs側でも制御入れて、サーバー側でも制御したほうがいいんでしょうか?

755 :デフォルトの名無しさん (ワッチョイ bf3c-y/cv):2017/03/22(水) 23:14:17.83 ID:vhfzvoEm0.net
JS OFFでも困らない程度には

756 :デフォルトの名無しさん (ワッチョイ bfc8-YDOq):2017/03/22(水) 23:15:01.33 ID:l60EFEPW0.net
サーバー側のチェックは必須
js側でのチェックは任意だが、あれば便利(UIの向上、サーバー負荷の軽減)

757 :デフォルトの名無しさん (エムゾネ FF4a-rk0g):2017/03/23(木) 02:37:56.05 ID:MXxg54fBF.net
>>754
場合によるが、両方にチェックは必要でも、同じチェックをする必要はない。
クライアント側では意味的なチェック、サーバー側では量的なチェック、のように分けてすると良い。

758 :デフォルトの名無しさん (ワントンキン MM9a-0Bqe):2017/03/23(木) 02:41:02.62 ID:M7xdd4U/M.net
>>757
おいおい、分けちゃだめだろ
ザーバー側はクライアント側を含むチェックしないと

759 :デフォルトの名無しさん (ワッチョイ ea3c-EscV):2017/03/23(木) 03:26:49.22 ID:mxf1LURC0.net
>>756 Good

>>757 Bad (意味的チェック量的チェックの意味がわからない 内容によっては同じチェックが必要)

>>758 Bad (クライアント側を含む必要は必ずしもない)

760 :デフォルトの名無しさん (ワントンキン MM9a-0Bqe):2017/03/23(木) 03:33:52.14 ID:M7xdd4U/M.net
>>759
クライアント側を含まない一般的な例を挙げてもらえるかな?ん?

761 :デフォルトの名無しさん (ワッチョイ ea3c-EscV):2017/03/23(木) 03:57:17.62 ID:mxf1LURC0.net
例えば
パスワード設定時に2度入力してもらったパスワードが同じかどうかを確認する場合
参照系処理で入力値のチェックディジットを確認する場合

762 :デフォルトの名無しさん (ワントンキン MM9a-0Bqe):2017/03/23(木) 04:20:42.76 ID:M7xdd4U/M.net
>>761
なんだただの屁理屈か

チェックを分けるという757に対し、クライアントチェックとザーバーチェックの一般的包含関係を指摘した758を "BAD" と言う位だから面白い話でも聞けるとおもったんだが残念

763 :デフォルトの名無しさん (エムゾネ FF4a-rk0g):2017/03/23(木) 06:24:22.37 ID:MXxg54fBF.net
>>758
その必要はない
例えば電話番号を入力するフォームがあったとして、
0-00-000をクライアントサイドで弾くのはユーザー補助として正しい。
でもこれを(量の問題を抜きにすると)サーバーサイドで弾く必要はない。
なぜならそもそもユーザーが他所様の電話番号を使っても分からないからだ。
だから何らかのハックでJSのバリデーションを抜けてくるもののうち、そんな所に着目しても仕方がない。それは実際には何の安全も得られない蛇足。
そうではなく、できるだけシンプルに絶対に防がねばならない所に集中して、そこで抜けが無いようにすべきなのだよ。

764 :デフォルトの名無しさん (ワッチョイ 9370-g1YJ):2017/03/23(木) 06:57:22.16 ID:52peJ7Lk0.net
クライアントサイドとサーバサイドが対等なアプリ同士のつもりで設計したなら
それぞれがそれぞれの目的に会ったチェックをするのは自然だろうよ

しかし実際はサーバありきでその補助としてクライアントを作る方が一般的だから
正しいか正しくないかというよりその場合不自然になるだろうよ

765 :デフォルトの名無しさん (JP 0Hb6-aw5l):2017/03/23(木) 12:59:49.72 ID:1Qddb7ZOH.net
>>763
> でもこれを(量の問題を抜きにすると)サーバーサイドで弾く必要はない。
あるでしょ。

> だから何らかのハックでJSのバリデーションを抜けてくるもののうち
別にハックじゃなくても普通に別経路でリクエストを受け付ける場合もあるし、アタックを受ける場合もある。

> 絶対に防がねばならない所
それには、普通クライアントサイドで行うような形式的なバリデーションも含む。
例えば、形式的にvalidな電話番号かどうかとか、email addressかどうかとか。

766 :デフォルトの名無しさん (ワッチョイ ea3c-EscV):2017/03/23(木) 17:59:22.63 ID:mxf1LURC0.net
>>762 Too Bad!! 反証が示されても自分を正当化しようとする一番情けないタイプ

>>763 Good 説明はわかりにくいが基本は理解してる風

>>764 OK  補助としてクライアントを作るのが一般的と言える時代ではない

>>765 Bad チェックの種類・目的をよく理解できてない

767 :デフォルトの名無しさん (ワッチョイ 1bcd-0Bqe):2017/03/23(木) 18:01:04.57 ID:y1JVgYTX0.net
こいつ頭悪いんだろうなぁ。。。

768 :デフォルトの名無しさん (ササクッテロリ Spd3-1VOV):2017/03/23(木) 20:14:00.33 ID:jk0vnrUUp.net
クライアントサイドのバリデーションなんか回避するのは簡単
よって渡される入力の正しさを保証するためにクライアントサイドのバリデーションを使ってはならない
せいぜい誤入力を事前検知して無駄な通信を減らしユーザビリティを向上させるぐらいのものだ

サーバサイドでの入力チェックはサーバサイドでの処理の要件に合わせて行われるべきで、クライアントサイドを気にする必要は全くない
鯖蔵両方で同じチェックを行うことを忌避する理由はないし、蔵でチェックした物全てを鯖で再検証しなければならない理由もない

この2者は目的が違うため個別に考えるべき物なのに、関連するものの様に扱うから混乱するんだろ

769 :デフォルトの名無しさん (エムゾネ FF4a-rk0g):2017/03/23(木) 21:06:04.79 ID:g5+n7phXF.net
>>768
だよな。
こんな簡単な事がどうして理解できない奴が居るのかね?

770 :デフォルトの名無しさん (ワッチョイ ea3c-EscV):2017/03/23(木) 23:03:37.05 ID:mxf1LURC0.net
例えば1000~5000の間の値を取るIDがあってそれを入力として受け取る検索画面があったとする
クライアント側では以下のようなチェックを実施

必須チェック:入力されてるかどうか
長さチェック:4桁かどうか
形式チェック:数字かどうか(このケースは型チェックと呼ぶ場合も)
範囲チェック:1000〜5000の間かどうか

サーバー側でも同じチェックをする場合もあるが
範囲外の値が入力されても結果が見つからないだけなので範囲チェックはやらない場合がよくある
参照系の場合は論理チェックなんかもクライアント側のみで実施するケースがよくある(更新系の場合は別)

>>756>>768が書いてるようにクライアント側チェックは基本的にUX向上のためで
データの妥当性や整合性を保証するためのものじゃない

771 :デフォルトの名無しさん (オッペケ Srd3-GcFy):2017/03/24(金) 00:19:03.16 ID:q+ZUh23Rr.net
>>770
ほんとこれ

772 :デフォルトの名無しさん (ワッチョイ 6661-VHv+):2017/03/24(金) 00:26:15.54 ID:kUuIMYYH0.net
いやサーバーでもデータベースに問い合わせる前に範囲チェックするだろ

773 :デフォルトの名無しさん (ワッチョイ 1bcd-0Bqe):2017/03/24(金) 03:14:23.52 ID:rALN4Wgi0.net
>>770
頭堅すぎ

774 :デフォルトの名無しさん (ワッチョイ 9370-g1YJ):2017/03/24(金) 09:07:59.43 ID:ABrn3clB0.net
>>772
それはDB側のAPIの問題だと思うが
DBなんて何時例外吐くか分からんのだし、参照時は何でもDBの例外として扱えば問題ないでしょ

775 :デフォルトの名無しさん (JP 0Hb6-aw5l):2017/03/24(金) 11:14:10.55 ID:ocF0oGY1H.net
>>770
> サーバー側でも同じチェックをする場合もあるが
> 範囲外の値が入力されても結果が見つからないだけなので範囲チェックはやらない場合がよくある
脆弱性の温床ですな。
サーバが受け取るデータは全てチェックしなければならない(MUST)。

UXを無視すれば、サーバ側で全てのチェックを行いクライアント側では一切しないという選択もなくはない。

776 :デフォルトの名無しさん (JP 0Hb6-aw5l):2017/03/24(金) 11:23:49.40 ID:ocF0oGY1H.net
>>770
あ、サーバ側では上の3つはやるが範囲チェックのみしない場合があるということか。

それなら同意。

777 :デフォルトの名無しさん (エムゾネ FF4a-rk0g):2017/03/24(金) 12:52:17.72 ID:BP9qUPyxF.net
>>776
簡単に言うとそれこそ脆弱性になるような物だけサーバでチェックするってことでしょ
つまりサーバのチェックは引っかかったら処理を全て破棄してログに記録することだけやる
一方ユーザーにおかしいですよとやり直しさせるような事に絞ってクライアントでチェックするということでしょ

778 :デフォルトの名無しさん (ワッチョイ dfa1-tY0+):2017/03/24(金) 15:22:53.73 ID:pB18Cl9S0.net
ボタンでフルスクリーンモードの変更をしようと思ったのですが、
フルスクリーンの解除ってどうすればいいでしょう?

flag = false;
function toggle(){
flag = !flag;
if(flag == true){
if(document.body.webkitRequestFullScreen) {
document.body.onwebkitfullscreenchange = function(e) {
document.body.style.width = window.innerWidth + 'px';
document.body.style.height = window.innerHeight + 'px';
document.body.onwebkitfullscreenchange = function() {
};
};
document.body.webkitRequestFullScreen();
}

// mozilla
if(document.body.mozRequestFullScreen) {
document.body.mozRequestFullScreen();
}

document.getElementById("botan").value = "フルスクリーンオフ";
} else {
document.getElementById("botan").value = "フルスクリーンオン";
}
}

779 :デフォルトの名無しさん (JP 0Hb6-aw5l):2017/03/24(金) 16:20:54.61 ID:ocF0oGY1H.net
>>777
> 簡単に言うとそれこそ脆弱性になるような物だけサーバでチェックするってことでしょ

簡単に言ってますがな。
> サーバが受け取るデータは全てチェックしなければならない(MUST)。

780 :デフォルトの名無しさん (ササクッテロリ Spd3-1VOV):2017/03/24(金) 16:55:23.56 ID:xJa3HsICp.net
>>778
https://developer.mozilla.org/ja/docs/Web/Guide/DOM/Using_full_screen_mode
ベンダープレフィックスはよしなに

781 :デフォルトの名無しさん (ワッチョイ feef-VHv+):2017/03/24(金) 18:27:41.34 ID:OKRbra2j0.net
スマホでブラウザがバックグラウンドに回ってもjavascriptを実行し続ける方法ないでしょうか

782 :デフォルトの名無しさん (ワッチョイ ea3c-EscV):2017/03/24(金) 18:50:10.68 ID:suDsBIm10.net
>>781
無理
バックグラウンド処理はJavaScriptと関係ないので各スマホのスレに行って

783 :デフォルトの名無しさん (ワッチョイ 7bd4-O03j):2017/03/25(土) 00:52:37.97 ID:is8OgtpR0.net
switch caseは嫌いだから
javascriptの時は配列で代用してるわ

switch (weather){
 case "快晴":
  return "f.png";
 case "晴れ":
  return "f.png";
 case "くもり":
  return "c.png";
 case "雨":
  return "r.png";

これより

Select =[
 "快晴" : f.png,
 "晴れ" : f.png,
 "くもり" : c.png,
 "雨" : r.png
]
Select(weather);

の方が見やすいやん

784 :デフォルトの名無しさん (ワッチョイ 7bd4-O03j):2017/03/25(土) 00:53:00.15 ID:is8OgtpR0.net
switchなんて所詮はif文の連続の糖衣構文だからな
javascript連想配列でデフオルト値設定する時は
if(hoge[x]===undefined)一文を付け加えるだでオケ


あと、普通はswitch case文でやりそうな

hoge = [
 "快晴" : function(){ 処理1 },
 "晴れ" : function(){ 処理2 },
 "くもり" : function(){ 処理3 },
 "雨" : function(){ 処理4 }
]

hoge[weather]();

みたいのもよくやるわ
それくらいswitch case使いたくない

785 :デフォルトの名無しさん (ワッチョイ 938c-5sBS):2017/03/25(土) 04:04:59.05 ID:Gy0JTtQc0.net
>>783-784
あー、うん。俺にとっては当たり前なので
そんなに言うことはないなw
コードが長くなければ、ここまでまとめたコードを書くこともある。

const name = {
 "快晴": "f.png",
 "晴れ": "f.png",
 "くもり": "c.png",
 "雨": "r.png"
}[weather] || 'unknown.png";

最後の行がdefault相当の書き方な。厳密に言えば値が
falsyの場合に使えないんだけどそれが必要になることはまずない。

786 :デフォルトの名無しさん (ワッチョイ 9370-g1YJ):2017/03/25(土) 05:31:01.91 ID:KmJBzYaF0.net
>>779
君勘違いしてるね
どのデータをチェックするかではなくて
データに対しどういうチェックするかがずっと話されてきてるのよ
データの数=チェックの数 じゃないでしょ

787 :デフォルトの名無しさん (ワッチョイ 2a11-VHv+):2017/03/25(土) 10:16:51.24 ID:UemXv0vo0.net
>>783
間違えすぎてて笑う

788 :デフォルトの名無しさん (ワッチョイ 1bcd-0Bqe):2017/03/25(土) 12:26:39.27 ID:LvHBs4Hr0.net
>>784
そこまで毛嫌いする意味がよくわからんけど

789 :デフォルトの名無しさん (アウアウウー Sa3f-h7Mr):2017/03/25(土) 16:15:36.45 ID:uPRT5zaYa.net
見やすいと嫌い以前に文法上おかしくて笑える

790 :デフォルトの名無しさん (ワッチョイ f36e-Og2M):2017/03/25(土) 16:16:26.85 ID:ITKyI3zl0.net
配列とはいったいなんだったのか

791 :デフォルトの名無しさん (ワッチョイ aa31-UOdH):2017/03/25(土) 17:01:23.73 ID:X4L1f9kG0.net
javascript初心者です。変な質問でしたら、すみません。

ブラウザでホームページ開いて実行するユーザーサイドのjavascriptコードで、実行中の変数の内容を表示したいのですが、どうするのが良いでしょうか。

例えば、FireFixのWeb開発ツールを開いてみたのですが、今ひとつ解りません。

792 :デフォルトの名無しさん (ワッチョイ 4ad6-Og2M):2017/03/25(土) 17:03:53.11 ID:HbZGgLUg0.net
>>791
console.log(変数);
でいいと思う

793 :デフォルトの名無しさん (ワッチョイ aa31-UOdH):2017/03/25(土) 18:51:13.28 ID:X4L1f9kG0.net
例えば下記のコードに於いて、実行時に変数uset_mailを表示することは可能ですか?

function send_noti() {
if($('#user_mail').val()) {
var user_mail = $('#user_mail').val();
$.ajax({
url: 'send_noti.php',
type: 'post',
data: {user_mail: user_mail},
success: function(response) {
}
});
}
}

794 :デフォルトの名無しさん (ワッチョイ ea3c-EscV):2017/03/25(土) 20:53:12.20 ID:WyZVpsBF0.net
>>793
>>792

795 :デフォルトの名無しさん (ワッチョイ 4ad6-Og2M):2017/03/25(土) 21:22:28.87 ID:HbZGgLUg0.net
>>793
普通にいけると思うけど…
変数の中身表示したいところで
console.log(user_mail);
ってしたら
デバッグツールのコンソールに出力されるよ

796 :デフォルトの名無しさん (ワッチョイ aa31-UOdH):2017/03/25(土) 22:57:24.73 ID:X4L1f9kG0.net
791,793です。
できました。
ありがとうございました!

797 :デフォルトの名無しさん (ワッチョイ 2a13-VHv+):2017/03/26(日) 13:04:41.02 ID:B6TaWqnz0.net
www.hoge.gom/home/index.php?&a=1&b=2

見たいなページにjavascriptで遷移させたいのですが
普通にlocation.pathnameに入力しても?が%3Fにエスケープされてしまい、
location.pathname = "/home/index.php"
location.search = "a=1&b=2
としてもうまく動作しません。
どうすればいいのでしょうか?

798 :デフォルトの名無しさん (ドコグロ MMe2-YDnS):2017/03/26(日) 13:15:49.40 ID:6ED+2C9oM.net
location.hrefに入力してみては?

799 :デフォルトの名無しさん (ワッチョイ 1bcd-0Bqe):2017/03/26(日) 13:26:12.08 ID:nGHK8C/50.net
>>797
pathnameはフラグメントを変更する機能無いだろ
href使いなさい

800 :デフォルトの名無しさん (ワッチョイ 2a13-VHv+):2017/03/26(日) 13:26:59.44 ID:B6TaWqnz0.net
>>798,799
上手くいきました。ありがとう御座いますm(_ _)m

801 :デフォルトの名無しさん (ワッチョイ fee2-xnBe):2017/03/27(月) 03:16:39.88 ID:zKTOvwxl0.net
(ここが継続スレということで誘導されました)

やりたいこと: Androidタブレットの外付けマイクで音を拾ってその音量レベルを数値化したい
PC: Win7-Pro,FirefoxかChrome
Android: ver.4.4.2, ASUS MeMO Pad 7 (ME176C)

Android 音 取得 マイク JavaScript getUserMedia
でググりましたが、やりかたのヒントも分かりません。

とりあえず、 http://150217-html5sound.fnobi.com/ の
「Stream API」項の「Web Audio APIが使えるか確認しつつ、contextをつくる」
をマイクを付けたPCでやったところ、一応波形は変化しましたが、console.logはエラーだらけで
音のグラフ振幅もわずかでした。

また http://saku-na63.hatenablog.com/entry/2014/01/16/220011
のコードをタブレットで試しましたが、スピーカーからは何も聞こえませんでした。
※そもそもタブの画面左上にマイクのマークが出なかった

とりあえず、マイクで「アッーーーー!」と言ってるときに、画面上の何かのボタンを押して
alert ( "音量は " + xxx ); とかで参照したいです。

何か手立てはありますか?

802 :デフォルトの名無しさん (ワッチョイ 6661-VHv+):2017/03/27(月) 03:50:19.90 ID:u3G31U+S0.net
質問なんですがnode.jsで使えるes6構文はChromeでも使えると考えて良いのでしょうか?

803 :デフォルトの名無しさん (ワッチョイ 9370-rs77):2017/03/27(月) 05:04:50.71 ID:PxWmWqFB0.net
V8のバージョンが一緒なら基本的にそう
後はフラグの設定

804 :デフォルトの名無しさん (ワッチョイ 6661-VHv+):2017/03/27(月) 10:37:00.38 ID:u3G31U+S0.net
>>803
なるほど! ありがとうございましたm(__)m

805 :デフォルトの名無しさん (エムゾネ FF4a-rk0g):2017/03/27(月) 11:43:02.69 ID:k65uzCD6F.net
>>801
Webは常に変化している
そういうHTML5時代の枯れたAPIでも、できれば4ヶ月(3つブラウザバージョンが進む)以内、最悪でも8ヶ月(5つブラウザバージョンが進む)以内の情報に頼ること。

806 :デフォルトの名無しさん (ワッチョイ 938c-5sBS):2017/03/27(月) 11:49:50.85 ID:LarKYmAi0.net
つまりHTML5は互換性がない

807 :デフォルトの名無しさん (ワントンキン MM9a-0Bqe):2017/03/27(月) 12:32:49.34 ID:XA28lmPGM.net
>>801
諦めろ
音声が拾えてもそれをバイナリレベルで解析するプログラム書けない限り無理
作れないならそういう便利なAPIが登場するまで待つしかない

808 :デフォルトの名無しさん (アウアウカー Sa1b-/JR2):2017/03/27(月) 13:12:47.32 ID:6PFfEo7ya.net
そもそもスマホブラウザってマイク入力出来たっけ

809 :デフォルトの名無しさん (エムゾネ FF4a-rk0g):2017/03/27(月) 13:25:31.65 ID:k65uzCD6F.net
できるよ、多分https限定的だろうけど
つうかバイナリ解析とか大げさな
音量と周波数がabで取れるからそれ見ればいいだけ

810 :デフォルトの名無しさん (アウアウカー Sa1b-/JR2):2017/03/27(月) 13:37:27.00 ID:6PFfEo7ya.net
ああ、暗号化必須の縛りがあるのか
通りで俺の環境で動かんわけだ

>>801
最新のブラウザでgetUserMediaを使うにはSSL導入してhttpsにする必要があるんだぜ(ドヤァ

811 :デフォルトの名無しさん (ワントンキン MM9a-0Bqe):2017/03/27(月) 13:49:48.81 ID:XA28lmPGM.net
>>810
localhostなら回避できるはずじゃ?

812 :デフォルトの名無しさん (ワッチョイ 7bd4-O03j):2017/03/27(月) 14:50:47.43 ID:eaJfSyiy0.net
>>783-785
こんなやつが同じプロジェクトにいたら困るわやめろや

813 :デフォルトの名無しさん (ワッチョイ 938c-5sBS):2017/03/27(月) 14:58:13.15 ID:LarKYmAi0.net
>>812
どうした? 言い返さないのか?w

814 :801 (ワッチョイ fee2-xnBe):2017/03/27(月) 19:16:02.99 ID:zKTOvwxl0.net
皆さんどうも。
>>809 音量と周波数がabで取れるから

abって何ですか?

815 :デフォルトの名無しさん (ワッチョイ fe75-i4+Q):2017/03/27(月) 23:32:45.29 ID:cGqqXL2J0.net
>>801
JavaScriptから、スマホ・タブレットのネイティブ機能を使うのなら、

Monaca から、Cordova/PhoneGap の機能を使って、アクセスする

816 :デフォルトの名無しさん (アウアウウー Sa3f-h7Mr):2017/03/28(火) 00:06:12.68 ID:RtCyVUYLa.net
好き嫌いの話じゃなくて、if文(switch文含む)やfor文はできるだけ避けて配列の
ようなまとまりを使って遅延評価
するのは関数型の流れを汲むJSとしてはある意味当然でしょう

817 :デフォルトの名無しさん (ワッチョイ 1bc8-VHv+):2017/03/28(火) 00:21:46.80 ID:x/Tih9w50.net
意識高い系ってさ、
意識高いだけで「中身がない」から嫌われてると分かってるか?
意識も高くて中身もあれば、「すごい人」になるんだよ。

とりあえずお前は遅延評価の定義を確認しろ。
そしてWeb系の連中はWeb板でやってくれねーかな?

818 :デフォルトの名無しさん (ワッチョイ 2f67-gQ4j):2017/03/28(火) 00:25:49.52 ID:idISHk3E0.net
JavaScriptでWebが関係しない分野って何だろ

819 :デフォルトの名無しさん (ワッチョイ 938c-TFxs):2017/03/28(火) 00:51:57.88 ID:xO0UHaSB0.net
>>818
クライアントアプリじゃね?
例えばテキストエディタのatomとか
あれはElectronを使って作られている

少しでもネットにアクセスするとウェブ系というのなら
JavaScriptにかぎらずほとんどのアプリがウェブ系になるし
ゲーム系や業務系もウェブ系になってしまうから
そういうことじゃないよね?

820 :デフォルトの名無しさん (ワッチョイ 2f67-gQ4j):2017/03/28(火) 00:56:55.22 ID:idISHk3E0.net
>>819
ElectronなんてHTML5とCSS3とJavaScriptで、まんまWeb系の技術だと思うんだよな
マジでわからんね

821 :デフォルトの名無しさん (ワッチョイ 938c-TFxs):2017/03/28(火) 01:06:49.15 ID:xO0UHaSB0.net
>>820
じゃあサーバーサイドJavaScriptは
ウェブ系の技術じゃないよね
HTML5もCSS3も使わない

822 :デフォルトの名無しさん (ワッチョイ 2f67-gQ4j):2017/03/28(火) 01:08:26.59 ID:idISHk3E0.net
なるほど

823 :デフォルトの名無しさん (ワッチョイ 1bc8-VHv+):2017/03/28(火) 02:50:18.53 ID:x/Tih9w50.net
>>818-819
あーいや、まともな連中がうんざりしてこっちに移住するのは当然だと思うが、
現実的におかしな奴も結局こっちに混ざっちゃうわけでね。>>783とか>>816とか。

ここは「自分が書く時にどうすればいいか」を質問する場所であって、
「他人にこう書け」と布教する場所じゃない。
実際、783も816もそれぞれ得失あって使い分けるものだから、
「何言ってんだこの馬鹿は」でしかないだろ。

それでも、そういう話がしたい奴用に、JavaScript雑談スレがあっても良いんだよ。
実際Web板のはそれに近かっただろ。
そして彼等で回答出来る範囲なら、彼等に任せていいんだよ。
そこで喧々諤々議論をするのも悪いことではない。

間違いが含まれても、それは仕方ないし、仕様だし、どうせそれ以上の物も提供出来ないんだ。
ここは匿名だから、回答者のスキルを区別する方法が無い。(回答者にポイントが付いていない)
だから質問者は、どの回答が正しいのか分からない。
俺たちが出来るのは、正解が含まれるように努めるだけ。
現実的にスキルの差は発生し、どの界隈でも上級者は中級者より少ない。
結果的に、中級者が十分答えられる簡単な質問なら多数決でいいが、
上級者しか答えられない難しい質問の場合は少数意見がベストの時もあるわけでね。
初級質問者は自分の質問のレベルなんて分かってないし、区別出来ないんだ。

824 :デフォルトの名無しさん (ワッチョイ 1bc8-VHv+):2017/03/28(火) 02:51:02.73 ID:x/Tih9w50.net
この状態で、出来るだけ上手くスレを運営する方法の一つは、「速度で分ける」事なんだよ。
簡単な質問はみんな回答出来るし、実際チャキチャキ回答が来た方がいいだろ。
難しい質問はそもそも早い回答が必要ないことが多いんだよ。
話したい奴は速い方に集うし、レベル低すぎてつまんねーって奴は遅いほうに流れてくる。
結果的に回答者も上手く棲み分け出来るんだよ。

だからWeb板の質問スレ、お前らにとっては不要だという結論でこちらに統合されたようだが、
それでも上記の通り「棲み分けスレ」としては機能してたんだよ。
そしてそれをここと混ぜるのは、お前らにとっても得策ではないんだよ。
だって、選択肢が減ってしまうだろ。
遅いスレには俺みたいな奴も住んでいて、無駄に衝突してしまうんだから。

つーかね、お前らは一体どんなスレが欲しくて、何がしたいのかをちゃんと考えろ。
そして、どういうレスをすればそうなっていくかを考えてレスしないといけないんだよ。

上記の通り、「表面的な棲み分け」が完了すると、
次のステップは、「住人の棲み分けの加速」なんだよ。
だから俺は遅いスレで馬鹿な回答をした奴には「死ね」とレスを付けていく。
そもそも正答率を高める為には、「自信が無いのなら回答しない」のが鉄則なのだけど、
構ってちゃん、構ってあげたいちゃん、キャピキャピしたいちゃんはそうじゃないから。
でもね、いくら死ね死ね言っても、彼等が出て行ってくれないとどうにもならないんだよ。
このときに、彼等にとってより魅力的なスレが必要で、
それは「速いスレ」であり、技術的には高くなくていいんだよ。つまり、Web板のスレがそうだった。
お前らの見方は、「Web板では機能しなかった。技術板では機能しているのでそこに統合」かもしれんが、
実際は、混ぜたらこっちもおかしくなるんだよ。その兆候は出てるだろ。
対立していたわけではなくて、実際は表裏一体なんだよ。

825 :デフォルトの名無しさん (ワッチョイ 1bc8-VHv+):2017/03/28(火) 02:51:35.69 ID:x/Tih9w50.net
というのをちゃんと理解してだな、それでどうしたいのかちゃんと作戦を考えろ。
俺は何度もこれを言ってきてるわけだが。
色々やること自体は良いことなんだが、結果的にスレッドクラッシャーになってる。
それでお前ら自身も確実に損をしている。

Web板見たところ、そんなに酷いとも思えないが、回答者ではなく質問者が酷かったのかな?
いずれにしても、お前らの判断でID/ワッチョイが必要だというのならそれは尊重されるべきだ。
が、単純にここに混ざったら共倒れになるだけなのはちゃんと理解しろ。マジで。

見た目多分お前らが欲しいのは、ID/ワッチョイ付きで、俺みたいな面倒な奴がいないスレだろ。
だったらおそらく、
・JavaScript質問雑談スレ(高速、初級〜中級の質問、例:○○のやり方が分からない)
・JavaScript技術質問スレ(低速、中級〜上級の質問、例:○○はどう実装すべきか)
という感じで棲み分けした方がいい気はする。
主張したい奴は雑談スレ側で存分にやれ。JavaScript談義もどうぞご自由に。
アホな主張を技術スレでやる奴は死ね。
質問者は好きな方を選べ。
てなところじゃないか?

まあ丁度800+だし、お前らは上記のことを理解した上でどうしたいか話し合えよ。
今は「複数の」機能しているスレが存在することが重要なんだよ。
一つに纏められる状態じゃない。
その上で、落ちない程度、死なない程度に棲み分け出来れば、
駄目な方を地道に改善していけば、最終的に両方とも交互に改善されていくだろ。
C#がその方法を採ってる。(相談室とふらっと)

826 :デフォルトの名無しさん (ワッチョイ aa8c-TFxs):2017/03/28(火) 02:57:25.06 ID:8XEqMjkn0.net
みんなの心の声


「うっっざー」

827 :デフォルトの名無しさん (ワッチョイ 26a7-VHv+):2017/03/28(火) 03:05:24.63 ID:1m8Q31SZ0.net
ここ数年で紆余曲折してこの質問スレとその他大量の隔離スレに至ってるんだから
もう掻き回さなくていいよ

828 :デフォルトの名無しさん (ワッチョイ 1bc8-VHv+):2017/03/28(火) 03:07:52.18 ID:x/Tih9w50.net
>>826
背乗り朝鮮人死ね

というかWeb板から来た奴には俺をウザイと言う権利はないんだよ。
俺はずっとここにいたし、Web板には行ってないんだから。
その上でWeb板が諦められた理由はおそらく質問者側の問題だろう。
回答者は割とまともだし、今でもWeb板のID無しスレでしか質問しないキチガイも多いし。

多分826みたいな、
無駄に煽って回答を得ようとするキチガイが多くてうんざりしたのだろうとは思う。
とはいえキチガイもここでは排除する方法がない。それも含めて考えろ。

829 :デフォルトの名無しさん (ワッチョイ 1bc8-VHv+):2017/03/28(火) 03:09:35.99 ID:x/Tih9w50.net
>>827
「1つ」になるとマズいんだ。
今は機能しているスレが「2つ」ないといけない。
他があれば良いんだけど、この様子だと、多分無いからこの状態になってる。

830 :デフォルトの名無しさん (ワッチョイ aa8c-TFxs):2017/03/28(火) 03:20:03.81 ID:8XEqMjkn0.net
本当に、うざいなぁw

俺がうざいということを止めることなんか出来やしないのに
言う権利がないとか言って、何の意味があんの?w

何度でも言えちゃうよ?
うざいうざい

831 :デフォルトの名無しさん (ワッチョイ 2f67-gQ4j):2017/03/28(火) 03:27:29.29 ID:idISHk3E0.net
闇を見た
怖いし帰る

832 :デフォルトの名無しさん (ワッチョイ 1bc8-VHv+):2017/03/28(火) 03:35:15.77 ID:x/Tih9w50.net
見て分かるとおり、この手のキチガイは基本的に構ってちゃんだから、
死んでもらう為にはスレが「遅い」必要がある。
逆に言えば、彼等にとって魅力的な「速い」別スレが必要だということ。

Web板を諦めてこのスレに来るのは自由だけど、それはつまり、
技術板スレ>Web板スレ と判断したことになる。
だけど、Web板スレの方が人数(レス数)は多いんだから、
全員がここに一度に来ると、結果的にこのスレを乗っ取ってしまう。
それは、Web板スレよりもマシだったこのスレを破棄することになる。

JavaScriptのスレがダントツで糞なのは、この、
「良い方のスレを壊して悪い方に統合する」を繰り返しているから。
やってることが逆なんだよ。
お前らは本当に若すぎる。
だけど、俺が何を言っているかを理解して、もうちょっと賢くならないといけない。

833 :デフォルトの名無しさん (ワッチョイ ea3c-EscV):2017/03/28(火) 03:39:12.42 ID:5RUVNWwS0.net
分けたかったら分ければいいよ
長文すぎんよ

834 :デフォルトの名無しさん (ワッチョイ aa8c-TFxs):2017/03/28(火) 03:39:39.72 ID:8XEqMjkn0.net
> 長文すぎんよ
かまってほしいんだろ?

835 :デフォルトの名無しさん (ワッチョイ aa8c-TFxs):2017/03/28(火) 03:40:56.25 ID:8XEqMjkn0.net
っていうかさ、スレと関係ない長文を書いて
スレと関係ある話を流すことが
スレを壊すことだって理解してないのか?

836 :デフォルトの名無しさん (ワッチョイ a672-sIi0):2017/03/28(火) 04:00:31.42 ID:88QQOgd10.net
こいつが向こうから来た長文やろうじゃねーかw

837 :デフォルトの名無しさん (ワッチョイ 6fce-qnvg):2017/03/28(火) 04:55:21.43 ID:1e56qEba0.net
スレを間違えたのかもしれないのでこちらにも投稿します。
どちらかで回答が得られば結構です。
win7ie11,鯖缶なし(外部ファイル一切使用しない。)

はじめまして、初心者ですみませんが
二次元配列と連想配列で混乱していてうまく作れずに悩んでいます。
どなたかご教授下さいませ。えっと、とりあえず
文字列と色値をペアで格納して色値をソートや計算できて、
結果を文字列でリターンしたいです。

838 :837 (ワッチョイ 6fce-qnvg):2017/03/28(火) 05:07:25.51 ID:1e56qEba0.net
恥ずかしいプログラムですが
http://rio2016.2ch.net/test/read.cgi/future/1476229483/375-378
の文字列と色値をペアにしたいです。

839 :837-838 (ワッチョイ 6fce-ZYFz):2017/03/28(火) 13:31:34.78 ID:1e56qEba0.net
次スレで回答が得られたました。連想配列を多次元配列と思い込み、
オブジェクトとして扱う方法を理解できていませんでした。
ありがとうございました。

840 :デフォルトの名無しさん (ワッチョイ eba8-ZYFz):2017/03/28(火) 17:50:29.62 ID:pnMbSu0j0.net
4/3の入社までにAngular勉強しとくように言われたけど
Angularのチュートリ始める前にgulpだのnodeだのnpmだのwebpackだの依存ライブラリがモジャモジャエラーが山盛り

わけわかんねえ
JavaScriptって簡単に書き始められるのが利点じゃなかったのか?
パッケ管理がメチャクチャでJavaその他より遙かに酷い

841 :801 (ワッチョイ fee2-xnBe):2017/03/28(火) 17:59:50.67 ID:gIqFK2Qm0.net
前回814に引き続き、再度、検索語句を変えて調べてみましたが、>>809さんの
「ab」の意味が分かりません。何かの頭文字ですか? 

842 :デフォルトの名無しさん (ワントンキン MM9a-0Bqe):2017/03/28(火) 18:11:56.60 ID:qwv7MmmJM.net
>>840
JS自体が今この世にあるメジャー言語の中で群を抜いて難しいとおもうよ
簡単に始められる=簡単に極められるじゃないからなあ
俺はjavaも.netもphpも一通り経験したがjsの難しさは半端無いぞ
たとえばc系とかjavaならまじめに勉強すれば誰でも有る程度までは行けるが、jsはそれらよりセンスが要ると感じてる
圧倒的に難解な変わりに一番おもしろい言語だけどね
AnglurとかtypeScript使う"普通の"アプリなら覚える事は大量でもそんなにセンスは必要なくなるとおもう
これからはマジでjavascript一強時代になるから早い段階で勉強する機会がもてるのは良いことだと思う

843 :デフォルトの名無しさん (JP 0Hb6-aw5l):2017/03/28(火) 18:17:56.03 ID:uzRike2TH.net
あー、これは絶望するかもわからんね。

npm iしてAngualr 2のHello World!を書くところまで【改】
http://qiita.com/armorik83/items/ae737ab584012a0f5876

844 :デフォルトの名無しさん (ワントンキン MM9a-0Bqe):2017/03/28(火) 18:27:02.47 ID:qwv7MmmJM.net
>>843
しかも枯れてないから一年足らずで別物になったりするからなぁ
MV系のフレームワーク追いかけるとほんと苦労するとおもう
覚えれば効率的なんだが覚えるコストがかなりかかるから元取るには長期で数多く作らないといけないのに数年でゴミになったりする悲しさ
JS(フロント系)はほんと茨の道だよな

845 :デフォルトの名無しさん (ワッチョイ 6661-VHv+):2017/03/28(火) 19:28:25.42 ID:IDgC7lyA0.net
return hour => 9 && hoge <= 15

こう書いたら "hoge => 9 && hoge <= 15" が返ってきてて小一時間迷ったわ

846 :デフォルトの名無しさん (ワッチョイ 6661-VHv+):2017/03/28(火) 19:28:55.88 ID:IDgC7lyA0.net
hoge は hour の間違い

847 :デフォルトの名無しさん (ワッチョイ 1bc8-VHv+):2017/03/28(火) 20:39:12.68 ID:x/Tih9w50.net
>>834-836
ゆとり死ね

848 :デフォルトの名無しさん (ササクッテロル Spd3-1VxM):2017/03/28(火) 21:10:46.27 ID:/7emtguUp.net
今のjavascriptは他のプログラミング言語と比較してかなりの難易度
マジで使えるフロントエンドエンジニアはかなり少ない
どこもエンジニアを囲い込んでいて人を調達しようとしても、ベテランの凄腕がいない
バックエンドなら腐る程いるがフロントがいない

849 :デフォルトの名無しさん (ワッチョイ aa8c-TFxs):2017/03/28(火) 21:14:51.30 ID:8XEqMjkn0.net
>>843
せめてこっちを書こうか?
http://qiita.com/kitfactory/items/c95ca84371670b21f4ac

>>884
> しかも枯れてないから一年足らずで別物になったりするからなぁ

そう。だからangular-cliという便利なものができてる。
あっという間に別物(簡単)になった

Hello Worldまでこれだけ

npm install -g angular-cli
ng new MyApp
cd MyApp
ng serve

850 :デフォルトの名無しさん (ワッチョイ aa8c-TFxs):2017/03/28(火) 21:25:00.60 ID:8XEqMjkn0.net
>>842
別にJavaScriptが難しいんじゃない
フレームワークの問題

今まではフレームワークがライブラリの延長になっていて
開発環境を提供していなかった。

開発環境とは具体的に言うとCLIツール。
Railsだったらrailsコマンドとか、開発用のウェブサーバーとか
テスティングフレームワークとかそういったもの

こういったCLIツールをフレームワーク"公式で" 用意すべきだが
それがなかった。(非公式は最新版に追従できない)

でもReactやAngularはフレームワーク公式でそういった開発環境
一式を用意してくれてるんで今までよりも遥かに簡単になってる。

851 :デフォルトの名無しさん (ワントンキン MM9a-0Bqe):2017/03/28(火) 21:41:03.44 ID:qwv7MmmJM.net
>>850
そのレベルの開発なら簡単だろうね
凡人でも努力でなんとかなるとおもうよ

852 :デフォルトの名無しさん (ワッチョイ aa8c-TFxs):2017/03/28(火) 21:44:33.52 ID:8XEqMjkn0.net
>>851
そのレベルってどういうこと?
そして、そのレベルじゃないのはどういうこと?

適当なこと言ってるようなレスは、ちゃんと説明してもらうよ。
あんたが分かっていて言ってるかどうかを判断するために

853 :デフォルトの名無しさん (ワッチョイ cff5-8Nj6):2017/03/28(火) 21:46:37.97 ID:tuc8YiCB0.net
chromeのwebsocket apiについて教えてください
zaifというとこのapiについて
https://corp.zaif.jp/api-docs/

ws://ws.zaif.jp:8888/stream?currency_pair=btc_jpy
上記urlに対してchromeのwebsocket apiで取得に行こうとすると

WebSocket connection to 'ws://ws.zaif.jp:8888/stream?currency_pair=btc_jpy' failed: Error during WebSocket handshake: net::ERR_CONNECTION_RESET

というエラーが出てしまいます。
どうすれば接続できるようになりますか?

854 :デフォルトの名無しさん (ワントンキン MM9a-0Bqe):2017/03/28(火) 22:01:36.21 ID:qwv7MmmJM.net
>>852
842に書いてるじゃないか
高度なMVフレームワークに頼るような普通のアプリならセンスはさほど必要ないと

855 :デフォルトの名無しさん (ワントンキン MM9a-0Bqe):2017/03/28(火) 22:03:37.20 ID:qwv7MmmJM.net
センスは要らないけど導入時の学習コストが高い
それがAnglur等のフレームワーク
railsとかと同じだよ
あれを有り難がるレベルの開発なら難しくはない
単に大変なだけ

856 :デフォルトの名無しさん (ワッチョイ eba8-ZYFz):2017/03/28(火) 22:24:39.90 ID:pnMbSu0j0.net
>>849
>これだけ
「これだけ」「これだけ」、まーた「これだけ」
「これだけ」がいったいいくつあるんだよっていう

でも、ありがとう
しかしもうAngularを勉強するという目的からあまりに掛け離れて時間無駄にしたから
scriptタグ直読込でToDoアプリ作るわ
あとは業務で何とかなぁれ笑

gulpとかwebpackとかnpmとかbowerとかtask.jsonとか、もう見たくない
js界隈の奴らは頭おかしちゃうか

857 :デフォルトの名無しさん (ワッチョイ cff5-8Nj6):2017/03/28(火) 22:29:53.10 ID:tuc8YiCB0.net
>>856
まぁこれでいいんじゃない。
開発環境は代替有識者が整備してくれるからAngularだけに集中すればいい。

858 :デフォルトの名無しさん (ワッチョイ eba8-ZYFz):2017/03/28(火) 22:32:05.60 ID:pnMbSu0j0.net
npm install -g @angular/cli

はぁ またグローバルに汚物がぶち撒けられる
バージョンなんてゴチャメチャウンコのゲロ混ぜ
正気じゃねえよ

859 :デフォルトの名無しさん (ワッチョイ ea3c-EscV):2017/03/28(火) 22:36:36.34 ID:5RUVNWwS0.net
gulpやbowerは別に必須じゃないけどnpmないと困るだろ
webpackはフレームワークや開発スタイルによる

860 :デフォルトの名無しさん (アウアウカー Sa1b-/JR2):2017/03/28(火) 22:37:39.54 ID:qmA1HLlra.net
エディタを非アクティブからアクティブにしたとき可変データベースが前面に飛び出てくるのは何か設定でもあるの?
地味にうざいんだけど

861 :デフォルトの名無しさん (ワントンキン MM9a-0Bqe):2017/03/28(火) 22:40:23.43 ID:qwv7MmmJM.net
>>856
悪い意味で意識高い連中が多いんだよ
何か新しい技術出れば、それを使わないなんて考えられない!とばかりに他に強要したがる
そのくせやってることは最新技術を"使う"為の努力ばかりで肝心のクリエイティブ能力はいつまでたっても凡庸と
流行物に精通することが目的みたいになってるやつ結構多いと思うよ
ていうか、日本のIT業界って能力無くても平気でやっていけるからそんなんばっかじゃん
(全体のレベルが低すぎるという意味ね)

862 :デフォルトの名無しさん (ワッチョイ aa8c-TFxs):2017/03/28(火) 22:57:45.67 ID:8XEqMjkn0.net
だから結論は最初から決まってることだけど、
大掛かりなものが必要ないなら、
jQueryぐらいがちょうどいいんだよ

863 :デフォルトの名無しさん (ワントンキン MM9a-0Bqe):2017/03/28(火) 23:06:18.47 ID:qwv7MmmJM.net
>>862
おれはそっち派だね
オンラインゲーム作りだからjqueryの他に、socketio、createjs、threejsとかは使うけどそれらはフレームワークじゃなくてライブラリーなわけだ
フレームワークは専用の物を自分でつくるしAnglurとかのフレームワークは極力つかわない派

864 :デフォルトの名無しさん (ワッチョイ 1bc8-VHv+):2017/03/28(火) 23:44:07.89 ID:x/Tih9w50.net
>>833
イナゴ行為をするな。他スレ立てろ。

で通じるほどの知能はこいつらにはないんだよ。だからこんな事を繰り返してる。
相手が馬鹿であるからこそ長文の説明を必要とするが、
馬鹿であるから故に長文を読めずに意味が分からないという、無限ループだね。

ただそれでも、長文を落とすことには意味があるのさ。
事実として、他の死んでたスレに移動して地ならしし始めた奴もいるだろ。
死ね死ねいうのも長文を落としまくるのも、焦土作戦としては機能するんだよ。
俺はそこら辺まで計算してレスしてる。
(ワッチョイ付だと困る奴が既存IDスレを再利用し始めるのは自然。それならそれでいい)

そもそもこの程度の長文に苦労する奴なんて向いてないのさ。
MDNでもMSDNでも、或いは他技術文書でも、もっともっと長い。
つまり

ゆとり、ダメ、絶対

なんだよ。
だから「おっさんスレ」と「ゆとり+学生スレ」に分けるのも一つの手なのさ。
そしてお互いが良くなるように競争すべきで、
過疎って落ちるのならそれは淘汰されたと受け止めるべきでね。

ゆとりみたいにイナゴ行為で良スレを順に潰しているようじゃダメなんだ。
もっとも奴らはそれをイナゴ行為だとすら認識出来てないからこそのゆとりなんだが。
ということで俺の言いたいことは以下。

Web板のスレは機能していたのだから、移住するならここではなく別スレに行け。
平和に棲み分けしたいのなら、「JavaScriptの質問スレッド(初心者用)」とかにしとけ。
Web板そのままの雰囲気でIDとワッチョイだけ付けたいのなら、それで別スレを立てろ。
ただしそれ以前にお前ら同士で話し合え。

865 :デフォルトの名無しさん (ワッチョイ 1bc8-VHv+):2017/03/28(火) 23:55:03.96 ID:x/Tih9w50.net
先に言っておくが、950行っても特に纏まらないようなら、
俺はこのスレと何も変えずに次スレ立てるぞ。

その上でさらにイナゴするのを俺は止めようがないけども、
それは誰にとっても利益がないことを理解して、自粛してくれないかな。
お前らが韓国人みたいなゴミでないのならね。

良くも悪くも日本はそういうシステムで、
日本人ならそれはやらないよね、という前提で回ってる。
だからモラルが欠如した相手に対して防御する手段は一般的に用意されていない。
それはここ2chでもね。

海外の掲示板はこれに対して、基本的にBANを行っている。
だからゆとりがここで暴れると、2chでもBANが必要になってきてしまう。
或いはBANが為される「荒れない」掲示板にみんなが移住することになる。
それはあるべき未来ではないだろ。

866 :デフォルトの名無しさん (ワイエディ MMe2-/8X1):2017/03/29(水) 00:53:34.80 ID:NT0rIhS8M.net
pixivの埋め込みをレスポンシブ対応させる方法誰か教えてください。どうやらembed.jsで埋め込んでるっぽいんだけど、iflameじゃないからbootstrapでレスポンシブできない…。

867 :デフォルトの名無しさん (ワッチョイ ea3c-EscV):2017/03/29(水) 00:58:36.92 ID:ZwfTQ2HH0.net
スレチ

868 :デフォルトの名無しさん (ワッチョイ 9370-bLop):2017/03/29(水) 10:21:22.70 ID:2ON16iHC0.net
>>841
ArrayBufferだろう
別のコンテキストだとAudioBufferのこともある

869 :801 (ワッチョイ fee2-xnBe):2017/03/29(水) 15:31:09.35 ID:oaaDgYp+0.net
>>868
有難うございます。 2つの語句で再度調べてみます。

870 :デフォルトの名無しさん (ワッチョイ 9370-bLop):2017/03/29(水) 19:04:59.56 ID:2ON16iHC0.net
つうか何でAnalyserNodeの存在に思い至らないの?
少しはAPI調べてる???

871 :デフォルトの名無しさん (ワッチョイ 73c8-agmj):2017/03/30(木) 00:42:08.74 ID:E08Q6Oy40.net
>>842含むID:qwv7MmmJM
C#のスレで見かけた気がするが。Haskellもやってる奴だよな?
内容は8割同意。

> JS自体が今この世にあるメジャー言語の中で群を抜いて難しいとおもうよ
> 簡単に始められる=簡単に極められるじゃないからなあ
このスレの連中が「JSは難しい」と主張しているのはこの意味ではなく、
> 悪い意味で意識高い連中が多いんだよ (>>861)
こちらで、「難しい言語出来る俺カッケー」と思いたいだけだ。

「極める」という意味ならそれは「プログラミングを」であり、言語には依存しない。
しかし、JavaScriptは文法が極めて簡単な分、
学習開始から「極める」フェーズに到達するのが極めて速い。
このため、「次のステップ」を常に求めるタイプには「難しい」と見えるのも納得出来る。
だからセンスがある奴がこれで学べば上達速度は爆発的に速いはず。
上級者のソースも見放題だし。
しかし現実はヌーディストビーチ状態なのが災いして、
初心者のくせにソースを美しくする事にこだわりすぎている。
とにかく書くことが重要なそのフェーズで手を止めてしまった結果、
馬鹿が量産されてしまっている。それがこのスレだ。また、
> そのレベルの開発なら簡単だろうね (>>851)
これが多く、大半の状況でセンスや技量を必要としないことも大きい。

> 流行物に精通することが目的みたいになってるやつ結構多いと思うよ (>>861)
ネットだけの観測なら、これはものすごく感じる。他言語と比べても顕著だ。

872 :デフォルトの名無しさん (ワッチョイ 73c8-agmj):2017/03/30(木) 00:44:13.22 ID:E08Q6Oy40.net
>>842
ところでRubyとHaskellはどう思う?
俺は両方ともやってない。
Rubyは便利っぽいが、便利なだけっぽいからいいやって感じになってる。
Haskellは入門サイトからして意識高すぎて付いていけない。
それで具体的に便利そうな「遅延評価」だけ確認して放置した。
他に学んでおくべき概念ってあるか?

なお完全にスレチなので回答は以下スレでもいい。
http://echo.2ch.net/test/read.cgi/tech/1449440793/
JavaScriptを使える「プログラミング」上級者が現れなかったので開店休業状態になってる。
君にはその臭いを感じる。

873 :デフォルトの名無しさん (エムゾネ FFdf-NVAl):2017/03/30(木) 02:22:38.23 ID:AhVejwmhF.net
JSの難しさは普通だと思うよ
型変換、スコープチェーン、プロトタイプチェーン、クラスシステムさえ抑えれば怖いものないでしょ

874 :デフォルトの名無しさん (ワッチョイ bf3c-Qc7F):2017/03/30(木) 02:54:06.55 ID:LEwdK5Fw0.net
メモリリーク

875 :デフォルトの名無しさん (ワッチョイ ef72-FZ2J):2017/03/30(木) 03:33:12.46 ID:S0ykF3En0.net
長文句点キチがあちこちのスレを荒らしてるのに戦慄する

876 :デフォルトの名無しさん (アウアウカー Sad7-LTAN):2017/03/30(木) 03:36:46.25 ID:XlZmlnHpa.net
Webサイト程度なら小規模にまとまるから簡単なように思えるが、
300kbくらいのライブラリ組むと何この糞言語ってなる不思議

877 :デフォルトの名無しさん (エムゾネ FFdf-NVAl):2017/03/30(木) 06:29:44.64 ID:AhVejwmhF.net
今のJSの糞な点は、標準及び准標準ライブラリの貧弱さに尽きると思う。
でもそこが貧弱だからこそ、互換性命のWebにおいて未来がある事も事実。

878 :デフォルトの名無しさん (ササクッテロル Sp17-59Pd):2017/03/30(木) 08:44:45.90 ID:TqURK27Wp.net
JSは他言語より明らかに難しい
文法とかじゃなくて、webやHTMLという仕組みがそもそもグチャグチャで、それを中心に扱うからだね
サーバサイドやってた時の方がシンプルで楽だったわ

879 :デフォルトの名無しさん (ワッチョイ 238c-U/Pn):2017/03/30(木) 09:22:44.95 ID:gGp/SYAm0.net
JSでサーバーサイドやればシンプル

880 :デフォルトの名無しさん (ワントンキン MM5f-q8gt):2017/03/30(木) 09:39:03.35 ID:BGqaQgGsM.net
>>878
それは確かにあるね
webのフロント自体が難解でそれを扱えるほぼ唯一の言語だから、結局JSの難しさに加えてwebの難しさが加わることになる
しかしJSはほんと面白いわ無名関数とコンテキストの奥の深さはほんとすごい

881 :デフォルトの名無しさん (ワッチョイ ef61-agmj):2017/03/30(木) 09:41:30.69 ID:2CgcUj6s0.net
俺もvbaのセル操作は難しいと思った

882 :デフォルトの名無しさん (ワッチョイ 238c-U/Pn):2017/03/30(木) 09:43:56.26 ID:gGp/SYAm0.net
> webのフロント自体が難解でそれを扱えるほぼ唯一の言語だから、

それやな。

結局のところ、webのフロント自体が難解なだけで
JavaScriptが難しいわけじゃないんだが、
他の言語ではほぼ出来ないに等しいから
JavaScriptのせいだって勘違いが起きてる。

だからDOM APIとJavaScriptは切り離して考えるべきなんだが
どうもそれが出来ない人が多いw

883 :デフォルトの名無しさん (ワントンキン MM5f-q8gt):2017/03/30(木) 09:44:24.59 ID:BGqaQgGsM.net
>>871
>初心者のくせにソースを美しくする事にこだわりすぎている。
とにかく書くことが重要なそのフェーズで手を止めてしまった結果、
馬鹿が量産されてしまっている。

同意だね
結局、プログラムを学校の"おべんきょう"みたいな感じでやってるやつが多いんだよ
本来は何かを作りたい表現したい、そういう衝動があってそれを実現するツールにすぎない
とにかく作らないとだめ
そうやって経験を重ねるうちに最適解や効率化、わかりやすさなんかが見えてくる昔はプログラマーイコール表現者だったんだよ
本当に好きな奴しかやってなかった
今はただの仕事になってしまってるもんなぁ
これだけインターネットやら情報に恵まれてても凄腕のプログラマーが多数沸いてこないってどう言うこと?って思う

884 :デフォルトの名無しさん (ワントンキン MM5f-q8gt):2017/03/30(木) 09:57:27.44 ID:BGqaQgGsM.net
>>872
>RubyとHaskellはどう思う?
一言で言えば、個人的には興味ない
言語は手段であってそれ自体を楽しむようなものじゃないからね
現状JSでほぼすべてまかなえる時代になってるのにあえて横道それるのは時間の無駄だとおもってる
とはいえ、nodeを動かせないレンサバ案件もあるのでphpはまだ懐刀で残してる
あとrailsやanglur系のMVフレームワークってあまりすきじゃないんだよね
使うとしてもphpのsmarty的なライブラリー感覚で使って組み込めるものだけだね

885 :デフォルトの名無しさん (ワッチョイ b3a8-/Gsh):2017/03/30(木) 09:58:10.79 ID:7nYsYOYk0.net
IE「やあ」

886 :デフォルトの名無しさん (ワントンキン MM5f-q8gt):2017/03/30(木) 10:05:00.03 ID:BGqaQgGsM.net
しかしJSはほんとうに恵まれた言語だよ
googleが牽引してネットワーク通信関連が超充実
flashが死んだ関係でas関連のグラフィックや物理演算ライブラリーがjsに多数移植されて本当に豪華な環境
言語自体はフリーダムで使いこなせれば最強の自由度
そして、昨今のアプリのweb化
JS以外の選択肢なんか無いだろとおもってしまう
エンタープライズの領域だとまだjavaや.netなんだけどそれらにもフロントとしてJSは必須だしな
なんでみんなもっと本気でやらないの?と思ってしまう

887 :デフォルトの名無しさん (ワッチョイ b3a8-/Gsh):2017/03/30(木) 10:10:02.57 ID:7nYsYOYk0.net
早くTypeScriptを標準化して、どうぞ

888 :デフォルトの名無しさん (ワントンキン MM5f-q8gt):2017/03/30(木) 10:18:20.31 ID:BGqaQgGsM.net
>>887
それね、半分賛成だけど半分反対な気分
TSの価値は分かるけど、そのせいでJS自体の自由度が下がって劣化C#みないになってしまわないか心配
しっかり浸透して枯れてくれるならまだ良いとして未だにどんどんコンパイラ仕様が変わっている今はまだ使いたくないってのが本音
要するに自転車の補助輪なんだよ
自転車普通に乗れる人間にとってはさほど価値を感じない

889 :デフォルトの名無しさん (ワッチョイ b3a8-/Gsh):2017/03/30(木) 10:49:10.05 ID:7nYsYOYk0.net
>>888
それは「俺はエスパーだからLintは要らん」と言ってるのと同義だよ
複数人で漕ぐ自転車なのだから補助輪は付けるだけ付けるべき

890 :デフォルトの名無しさん (ワントンキン MM5f-q8gt):2017/03/30(木) 10:58:47.34 ID:BGqaQgGsM.net
>>889
あくまで個人的な感想ね
lint的な構文チェックは歓迎だけどJSのclass構文化と型文化がデメリットもあるんじゃないかと思うだけだよ
複数人で開発するときのガイドラインという意味ではその価値は分かってるよ
コーデイング規約しかり

ただ、今折角面白くてエキサイティングなJSががんじがらめのつまらない方向に行きそうな予感もすこしあるんだよね

バックエンドやってる人間をフロントに流用したいという流れなんだろうけどね

891 :デフォルトの名無しさん (ワントンキン MM5f-q8gt):2017/03/30(木) 11:11:43.02 ID:BGqaQgGsM.net
MSいえば初期のasp.netのころはほんと悲惨だった
何が悲惨かというと、あれってwindowsフォームアプリの技術者をwebアプリ開発に転用しようと画策したフレームワークでしょ?
実際蓋を開けてみると、クラサバvbしかしたことがない普通の技術者、もしくは畑違いのjava技術者しか集まらず
大抵のプロジェクトは頓挫
いくらキーマンががんばってカスタムコントロールやら規約つくっても、作業員が肝心のことを何もしらなさすぎてまともなものは出来上がってこなかったよ

物事を簡単にする技術はそれを理解している者が楽をするために有るべきで、何もしらない連中でも使える技術にしてしまうと敷居がさがるだけで最終的にはほとんど実りはないのよ
組み立て工員だけでプロジェクトが無事終わるほど甘くはない
トラブルもおこるし品質上げるための工夫も必要
お仕着せフレームワークはそういうフェーズでむしろ手間が数倍に膨らむケース多いんだよ
asp.netでほんとうに懲りた
だから個人的にanglurにも懐疑的なんだよな

892 :デフォルトの名無しさん (ワントンキン MM5f-q8gt):2017/03/30(木) 11:16:42.80 ID:BGqaQgGsM.net
何がいいたいかというと、

JSのライブラリやフレームワークも大いに結構だけど、内部でどんなことが起こってるかすら分からないレベルではいつまでたっても成長できない
自分で工夫して構築するという大事な成長フェーズを捨てているようなものだからね
他の言語からJSに来る人間も同様
まずはJS独自の難解な仕様を学習して理解して、そのうえでシンタックスシュガーで楽しなさいと

893 :デフォルトの名無しさん (ワントンキン MM5f-q8gt):2017/03/30(木) 11:25:56.82 ID:BGqaQgGsM.net
世の中の風潮だと、c系やらjava系の技術者ってJSを下にみてるでしょ?
あんなものはおもちゃだという風に

でも実際は逆なんだよね
補助輪ついてる方がレベル高くて、ついてない方がレベル低いとでも思ってるのかと

言語仕様としてもJSは本当に複雑怪奇だしwebフロント系を扱う為の追加知識の量もハンパない
ぶっちゃけ、.netやjavaより遙かに勉強量必要だとおもうな
実際経験してきてほんとそう思う
JS舐めてたらダメだよ

webブラウザーで動くものを作る以上はここをさて避けては通れない
でも今更JSなんて本気でやるきが起きない
これが今の日本のweb界隈のレベルの低さの原因

なのに根本的解決をしようとせずフレームワークに逃げるんじゃいつまでたっても埒あかないよ

894 :デフォルトの名無しさん (JP 0H97-jsM4):2017/03/30(木) 12:06:41.84 ID:MPU3+nXPH.net
鼻息荒いけど何年前の認識だよ

895 :デフォルトの名無しさん (ササクッテロル Sp17-59Pd):2017/03/30(木) 12:29:18.27 ID:TqURK27Wp.net
まぁ気持ちはわかるな
やたらとweb(笑)とか見下してくるやついて、まぁ多分組み込み系なんだろうけど、彼らにフロントエンドができるとはとても思えないんだよね
何を根拠に意味不明な優越感を抱いてるのか不思議で仕方がない

自分らには工学的基礎があるとでも言いたいんだろうか?
学歴主義者なのかな?
フロントエンドのPGも情報工学や外国語なんか普通に学んでる人多いし、学歴も組み込み系に劣ってないと思うんだがな

896 :デフォルトの名無しさん (アウアウウー Sab7-19VF):2017/03/30(木) 12:35:41.54 ID:M+A/xxaCa.net
スーパーハカーになりたいからどっちも知っときたい

897 :デフォルトの名無しさん (ワントンキン MM5f-q8gt):2017/03/30(木) 12:44:12.85 ID:BGqaQgGsM.net
>>895
フロントは基本的に臨機応変なセンスが必須なのよ
それを嫌う(脳構造が違う)人種が多くてJS嫌いな風潮があるんだとおもう
一つ一つブロックを切り出してブロック塀を積み上げていくだけが開発じゃないからねえ
たとえるならフロントは木登りができないと厳しい感じ
それをフレームワークで木の高さまで塀を作ろうとしてる人(企業)が多いんだよ
木登り得意なやつ集めて登らせて上からロープ垂らすほうがよっぽどいいのに

898 :デフォルトの名無しさん (ワッチョイ b3a8-/Gsh):2017/03/30(木) 12:44:36.87 ID:7nYsYOYk0.net
マロックもできんカスが喚いとるぞ

899 :デフォルトの名無しさん (ワッチョイ d370-Qufn):2017/03/30(木) 13:39:53.83 ID:yb0xbTZQ0.net
JSやってるとasm.js、wasmだったりコンパイル後アセンブリ見て最適化に行き着くよ
Nodeでもずっとやってればネイティブモジュールはほぼ避けられないからね

900 :デフォルトの名無しさん (ワッチョイ b392-AsIq):2017/03/30(木) 14:22:30.96 ID:9cHNN/bR0.net
>>897
いや、やって見て、圧倒的に楽勝だからナメプしてる

901 :デフォルトの名無しさん (ササクッテロル Sp17-59Pd):2017/03/30(木) 14:44:18.97 ID:TqURK27Wp.net
>>900
ちゃんとHTMLやcssは自分で書き起こしたか?
ある程度は仕方ないが、まさか最初から最後まで全部人に書いてもらって楽勝とか言ってないだろうな
jsしかやりません、デザインは100%ガン無視とか周りから嫌われる奴の典型だからな

902 :デフォルトの名無しさん (ワントンキン MM5f-q8gt):2017/03/30(木) 15:39:15.87 ID:BGqaQgGsM.net
>>900
フロントといってもピンキリだしねえ
どのレベルでの話をしているのか分からないけど

903 :デフォルトの名無しさん (ワッチョイ 238c-U/Pn):2017/03/30(木) 20:51:24.72 ID:gGp/SYAm0.net
>>871
>初心者のくせにソースを美しくする事にこだわりすぎている。

それは言い方の問題だなw

あんたは「美しくする」という言葉を使うことで
「美しくする」に意味はないという結論を出そうとしてる。

そこが間違い。

ソースの「開発コストを減らす」事にこだわりすぎている
と言い換えたらどう思うか?


初心者がソースの開発コストを減らす事にこだわるのは悪いことなのか答えてくれ
(もちろん優先順位を無視してまでやることではないのは当たり前)

904 :デフォルトの名無しさん (エムゾネ FFdf-NVAl):2017/03/30(木) 21:14:35.19 ID:pC1kU3TdF.net
初心者に取ってコードを綺麗にするってのは上級者やハッカーのそれとは全然別物だと思うよ

905 :デフォルトの名無しさん (ワッチョイ 238c-U/Pn):2017/03/30(木) 22:48:32.56 ID:gGp/SYAm0.net
初心者がいきなり上級者はハッカーと同じようになれるというのなら
そっちのほうが良いと思うよw

906 :デフォルトの名無しさん (ワッチョイ 238c-U/Pn):2017/03/30(木) 22:54:00.98 ID:gGp/SYAm0.net
できる能力があるかどうかは別として、
初心者がソースの開発コストを減らす事にこだわるのは良いことである
(反論はまだ出てない)

初心者にその能力がないのであれば、回りにいる上級者が教えればいいだけのこと
だから、ソースの開発コストを減らす行為を否定することにはならない。


回りにいる上級者がソースの開発コストを減らす事ができないのであれば
それは不幸なことだが、その場合は、あんた(回りにいる人)も能力がないんだ。
能力がないがソースの開発コストを減らそうとしている初心者のやる気をそいではいけない。
それは足を引っ張る行為だ。

907 :デフォルトの名無しさん (ワッチョイ 73c8-agmj):2017/03/30(木) 23:41:20.59 ID:E08Q6Oy40.net
>>884 含む ID:BGqaQgGsM
本日分の書き込みについても8割同意。
どうも俺と同じタイプの臭いがする。

> しかしJSはほんと面白いわ無名関数とコンテキストの奥の深さはほんとすごい (>>880)
無名関数については実はレキシカルスコープとクロージャの相性が良いのだと思う。
下側クロージャからも上側クロージャを自由に触れるが、
これはC#やC++のクロージャでは出来ない。
コンテキストってのはthis渡しのダックタイピングのことか?これも面白いのは同意。

> 言語自体はフリーダムで使いこなせれば最強の自由度 (>>886)
これはその通りで、上記以外にも他言語では無理な構造を容易に既述出来たりする。
プログラミングマニアにとっては極めて面白い言語だ。
文法も標準ライブラリもスカスカで、当初は「え?これだけ?」と思ったが、
これで十分であるのを理解すると、C++みたいにゴリゴリ書くのがばからしく思えてしまう。

> なんでみんなもっと本気でやらないの?と思ってしまう
これについては職場環境が酷すぎるからだと思う。
見りゃ分かるが求人が糞過ぎる。Webデザイナの下請けしかない。
だからjQueryでささっと弄れるだけ、或いはブラウザの互換性を知っているだけの
文系プログラマが幅を利かせているのだと思う。このスレもそんな感じでしょ。
本来のプログラミングの腕前を発揮できる仕事がない。
だから凄腕プログラマは馬鹿臭くて寄りつかないという悪循環だね。
その結果、リッチクライアントにも出来ずに糞なWebページのままってとこも多いでしょ。
典型的なのはここ2chだが。
とはいえサーバーサイドやデスクトップアプリで使われだしたのは良いこと。
プログラマの腕が発揮出来る仕事が増えれば、状況は一瞬で改善する可能性がある。
JavaScriptは仕様が軽いから、
他言語を完全に使いこなしているプログラマ上級者にとっての学習コストは恐ろしく低い。
そしてこの民族大移動は発生するというのがそちらの見方、
> これからはマジでjavascript一強時代になる (>>842)
なのだと思うが、俺はこれは無いと見ているんだがな。

908 :デフォルトの名無しさん (ワッチョイ 73c8-agmj):2017/03/30(木) 23:43:52.47 ID:E08Q6Oy40.net
> だから個人的にanglurにも懐疑的なんだよな (>>891)
日本のプログラミング界隈の問題は、新技術を「下側」に向けて適用すること。
つまり、新技術でこれまでより簡単に同じ事が出来るようになった結果、
・同じ人材でもっと高みを目指そう←アメリカ流
・より安い人材で同じ物を作ろう←日本流
で決定的な差が付いている。
人月単価を下げることしか目指さなかった結果、
クリエイティブさは求められず、馬鹿プログラマがのさばる、悲惨な状況となってる。

で、angularについて言うと、間違いなくゴミだ。
マメに更新されている事自体がゴミだということを証明しているのだが、
これを理解出来ない馬鹿が飛びつき、意識だけは高いから、余計におかしな事になっている。
・angularを学んで使う←最悪
・自分でやるのは面倒、誰かやってないかとググってヒット、じゃあ使うか←これが正しい

909 :デフォルトの名無しさん (ワッチョイ 73c8-agmj):2017/03/30(木) 23:48:02.70 ID:E08Q6Oy40.net
>>893,895
Web系が馬鹿にされているのは、既に書いたとおり、
現状では「本質的なプログラミング」の腕前が必要とされない仕事ばかりだから。
実際、馬鹿プログラマでもそれなりに回るだろ。
今現在他言語やサーバでやっているような事は、
ある程度以上の規模になると、馬鹿がやったら収拾つかなくなる。
だから一定以下の馬鹿は淘汰されてる。
JavaScriptは「ページ単位で捨てられる」のが基本的な使われ方だったから、これがない。
つまり、本来のプログラミングの難しさ、
「大規模なコードを矛盾なく無駄なく簡潔に書ききる」事を要求されない。
(これは本当は革命的なことなんだが、、、)
その結果、jQuery等を使ってDOMを修飾出来るだけの馬鹿がのさばることになる。
だから今のJavaScript技術者の「プログラマ」としての平均水準が低いのは事実だよ。
それはこのスレ見てても分かるだろ。
ただこれも、今後は変わっていくとは思う。

それと共に、JavaScriptを馬鹿にする奴にもかなり問題があることは多い。
本来、プログラミングの腕前と使用言語は別の話なんだが、混同している奴が多い。
とはいえ、JavaScriptは初心者にとっては上達の障害が多すぎるのも事実。
結果的に同年卒の新人の成長を比較した場合、平均的には他言語より悪いと思うよ。
例えば、初心者が「セミコロンをどこに打つべきか」とか全く意味無いんだが、
「コードを美しくすること」が目的になっていて、この手の無駄努力をしているケースが目立つ。
(ただこれは指導者が正しい見識を持っていれば回避出来るが、
ネットを観測する限り、そもそも指導出来るレベルの奴がいなそう)

910 :デフォルトの名無しさん (ワッチョイ b392-AsIq):2017/03/31(金) 00:14:37.42 ID:9p335Pu80.net
>>901
ぷぷぷ HTMLとCSS W それはデザイナーの領分
フロント屋のいつもの言い訳だな
>>902
>>986に言ってやってくれ

911 :デフォルトの名無しさん (ワッチョイ b3a8-/Gsh):2017/03/31(金) 00:38:58.01 ID:S+dmZ2B60.net
>>986バーカ

912 :デフォルトの名無しさん (ワッチョイ bf3c-Qc7F):2017/03/31(金) 00:47:59.45 ID:WzS7AZAh0.net
長文キモイ
しかも二人とも大したレベルじゃないというオチ

913 :デフォルトの名無しさん (ワントンキン MM5f-q8gt):2017/03/31(金) 01:13:39.40 ID:WLq382qYM.net
>>907
>プログラミングマニアにとっては極めて面白い言語だ。 プログラミングマニアにとっては極めて面白い言語だ。

JSは基本的にコードが隠せない
そしてクラスでプライベートメソッドも作れない(実際は工夫て可能だがそんなもの誰も使ってない)
外部ライブラリを使ってるとき無い機能や足らないオプションを追加したくなった場合簡単にパッチを当てることが可能
メソッドが外部からオーバーライドもなんもかも自由自在だから元ソースを読んでみようという気にもなる
ほんとに良い環境だとおもうよ
がんじがらめのコンパイル言語とかにはないオープンな世界がそこにあるんだよ

914 :デフォルトの名無しさん (ワッチョイ b3a8-/Gsh):2017/03/31(金) 01:28:38.63 ID:S+dmZ2B60.net
オープンな世界(笑)

915 :デフォルトの名無しさん (ワッチョイ cf75-z7oQ):2017/03/31(金) 01:54:46.53 ID:hT0rQPiY0.net
Ruby にはブロックスコープがあるけど、Python, JS には無いから、
カプセル化できない・大規模開発しにくい

Googleなど、できるプログラマーの本棚には必ず、
David Flanagan の「JavaScript 第6版」(通称「サイ本」)がある。
しかも、規格が新しくなる度に、この本を買い替える

常に買い替えるということは、普遍的な本じゃないと言う事。
学問の本じゃない。
場当たり的に、バグを避けるというだけの本

この本には学問として、役に立つような事は書いていない

916 :デフォルトの名無しさん (ワッチョイ bf3c-Qc7F):2017/03/31(金) 02:04:55.38 ID:WzS7AZAh0.net
サイ本はリファレンス本だからな
辞書の版が上がって買いかえるのと同じこと
学問??

917 :デフォルトの名無しさん (ワッチョイ 238c-U/Pn):2017/03/31(金) 02:05:09.75 ID:dseKSPuY0.net
ブロックスコープをいつ使うのかわからない。

Rubyでは仕方なくブロックスコープになってしまうってだけで
ブロックスコープは必要ないものだろう

918 :デフォルトの名無しさん (ワッチョイ 238c-U/Pn):2017/03/31(金) 02:05:51.45 ID:dseKSPuY0.net
>>915
> 常に買い替えるということは、普遍的な本じゃないと言う事。

俺買い替えてないけど?

919 :デフォルトの名無しさん (ワントンキン MM5f-q8gt):2017/03/31(金) 02:21:47.87 ID:WLq382qYM.net
ブロックスコープとカプセル化は全く関係ないだろw
というか関数内でスコープ作りたければ無名関数、即時関数なりいろいろできる
JSは自由度が桁違いなんだけどね
これらの使いこなしも分からないレベルの人間は束縛された補助輪世界こそが正しいと言い続ける

920 :デフォルトの名無しさん (ワッチョイ b3a8-/Gsh):2017/03/31(金) 02:34:16.81 ID:S+dmZ2B60.net
>>918
それだけ意識が低いということだろう

921 :デフォルトの名無しさん (ワッチョイ 238c-U/Pn):2017/03/31(金) 02:37:42.45 ID:dseKSPuY0.net
>>920
意識の話はしてないよ。
本の内容が普遍的かどうかって話。

買い換えると普遍的ではない
買い換えないなら普遍的

いまこういう定義をしたの

922 :デフォルトの名無しさん (ワッチョイ b3a8-/Gsh):2017/03/31(金) 02:48:16.02 ID:S+dmZ2B60.net
>>921
頭がes3で止まっちゃった系おじさんかな?

923 :デフォルトの名無しさん (ワッチョイ 1347-VHDh):2017/03/31(金) 03:00:34.90 ID:52wIFoBq0.net
ポエマーの2人、結局何が言いたかったのかわからなかったな

924 :デフォルトの名無しさん (アウアウカー Sad7-LTAN):2017/03/31(金) 03:01:29.75 ID:9i/PVhMGa.net
ネットに最先端の情報が転がっているのに、あえて古い情報しか載っていない本を買うのはお金の無駄ではないかと

925 :デフォルトの名無しさん (ワッチョイ 73c8-agmj):2017/03/31(金) 03:20:54.52 ID:qHVwMUTA0.net
>>919
実はC++等で一生懸命書いている「型」や「文法」(privateとか)は、
全て「制限」する方向の努力でしかないんだよな。
それに対してJavaScriptは基本的に「制限」することが出来ないから、
結果的に何でもありになってしまうという。ソースも見放題だし。

現実的にどっちが生産性が良いかは微妙だが、
「制限」は可能性を閉ざす方向だから、面白みはない。
「何でもあり」はやっぱり面白い。

実感としては、型無しでも大して苦労しないので、
C++等でいちいち書くのが面倒になってきた。
あとはタイプミスだけソース上で検出出来ればなぁ、って感じ。

926 :デフォルトの名無しさん (ワッチョイ 8367-/BKC):2017/03/31(金) 03:32:08.09 ID:XrX79+I10.net
>>924
古い情報も嫌だけど、体系付けられてない大量の情報から自分で知識体系を構築していくのは骨が折れる

927 :デフォルトの名無しさん (ワッチョイ cf75-z7oQ):2017/03/31(金) 03:45:57.85 ID:hT0rQPiY0.net
JS を見てから、Haxe を見れば、天国だろ

Haxe, Kotlin を見れば、動的言語のどこが悪いか、すぐにわかる

928 :デフォルトの名無しさん (ワッチョイ d370-Qufn):2017/03/31(金) 09:10:22.45 ID:rJ4mWsQi0.net
別にJSは面白さだとか、それが素晴らしいことだから、動的になったわけでもなくて、
静的言語の色々な問題点を批判するために動的になったわけでもないけどな

まず大前提として、それが何かはハッキリとは分からないが、
とにかく何かと何かの間に入るスクリプト言語としては動的であることは必然だろう

接着剤をメインに使って大きなものを形作るのは大変だというだけのこと
今のWebではJSも型付きaltJSも等しく必要

929 :デフォルトの名無しさん (ワッチョイ 8392-UnGZ):2017/03/31(金) 11:17:57.92 ID:FQVbcTCx0.net
CDNってあるじゃないですか。
あれって、CDN提供元のサーバーが落ちたりDNSが名前解決できなくなったりしたら
どうなるんですか?
昔、画像とかに「直リンク禁止!!」とかよくみかけましたけど
あんな大量に直リンクして負担は大丈夫なのですか?
多分大丈夫なのだろうけど。

930 :デフォルトの名無しさん (アウアウカー Sad7-19VF):2017/03/31(金) 12:28:10.39 ID:KHGxa0VRa.net
JSにはブロックスコープがないってどういうこと?

931 :デフォルトの名無しさん (ワッチョイ 8ff3-agmj):2017/03/31(金) 12:34:57.75 ID:xItn/dk+0.net
>>930
for( var i=0;

みたいなfor文を2回書けないってこと
varじゃなくてlet使えということになるが
letはIE11じゃないと使えないしな

932 :デフォルトの名無しさん (ワッチョイ b3a8-/Gsh):2017/03/31(金) 12:55:21.14 ID:S+dmZ2B60.net
>>931
説明が糞すぎてワロス
これがes3脳か

933 :デフォルトの名無しさん (アウアウカー Sad7-19VF):2017/03/31(金) 12:56:14.65 ID:KHGxa0VRa.net
>>931
ああvarのこと言ってるのね
どうせ今後はletに変わってくのにね

934 :デフォルトの名無しさん (ワッチョイ 1347-VHDh):2017/03/31(金) 13:16:28.37 ID:52wIFoBq0.net
>>929
もちろん、落ちたら読み込めなくなる
落ちなくてもユーザーのアドブロックとかに引っかかる可能性もある

どうでもいい部分をのぞいて、読み込めない場合は自鯖のファイルにフォールバックするか、コンパイル時に埋め込むのが基本

935 :デフォルトの名無しさん (エムゾネ FFdf-NVAl):2017/03/31(金) 13:27:14.01 ID:0K0Hhkt3F.net
letは有名になってきたけどTDZの事も理解してない人多いよな

936 :デフォルトの名無しさん (ワッチョイ d368-f8Iv):2017/03/31(金) 13:29:42.43 ID:NTsg82nU0.net
letどこまで広がるかねえ
歴史遺産レベルの古いJS解説サイトが足を引っ張って、結局広まらなさそうな気もする
俺は積極的に使うつもりだけど

937 :デフォルトの名無しさん (ササクッテロル Sp17-59Pd):2017/03/31(金) 13:44:40.56 ID:J6gnUPAfp.net
let文って超大昔のBASICかよと思った
X68000とかPC98とか小学生の頃にやってBASICでlet文使ったな
一回転して元に戻ったような気分

938 :デフォルトの名無しさん (アウアウカー Sad7-LTAN):2017/03/31(金) 13:50:15.16 ID:IXWOdY7+a.net
for(let i=0; i<10; i++)は内部の動きがよく分からん

初期化式で指定したlet iを変化式でインクリメントしてるはずなのに、何故か毎ループ違うlet iが宣言されてる

939 :デフォルトの名無しさん (ワッチョイ d370-Qufn):2017/03/31(金) 17:13:08.33 ID:rJ4mWsQi0.net
何故かじゃなくてそういう仕様なだけなんだが
そっちの方がクロージャと合わせた時に都合がいいでしょ

940 :デフォルトの名無しさん (ワッチョイ d368-ouAK):2017/03/31(金) 18:16:00.41 ID:NTsg82nU0.net
感覚的には

for(let i=0; i<10; i++){コード;}

{let i=0;コード;}
{let i=1;コード;}
...
{let i=9;コード;}

って思うとちょっとは納得いくと思う。
("コード"内でiの値を変える可能性を考えるともっと複雑だけど)

941 :デフォルトの名無しさん (アウアウカー Sad7-LTAN):2017/03/31(金) 18:42:34.41 ID:VQDku9aBa.net
都合の問題じゃなくて、どこにも書かれていない動きをするのが困る

942 :デフォルトの名無しさん (ワッチョイ d370-Qufn):2017/03/31(金) 18:52:00.48 ID:rJ4mWsQi0.net
具体的にそれでどう困ったんだ?

943 :デフォルトの名無しさん (ワッチョイ 238c-U/Pn):2017/03/31(金) 21:11:47.00 ID:dseKSPuY0.net
>>936
> letどこまで広がるかねえ

letは広がる前に消すべき
constを使え。letなんて殆ど使わない。

944 :デフォルトの名無しさん (ワッチョイ d370-Qufn):2017/03/31(金) 21:19:10.38 ID:rJ4mWsQi0.net
残念ながらJSは非同期がどんどん重要になって行ってるのに対して
concurrencyが未熟だからそれはできない
それに重要なのはconstかletかでなく書き方の意識

945 :デフォルトの名無しさん (ワッチョイ 238c-U/Pn):2017/03/31(金) 21:24:38.14 ID:dseKSPuY0.net
> concurrencyが未熟だからそれはできない

どういう理由で何が出来ないって?


> それに重要なのはconstかletかでなく書き方の意識

重要なのは可読性。本人に意識があったって
他人には書いてないと伝わらない。

946 :デフォルトの名無しさん (スププ Sddf-NVAl):2017/03/31(金) 22:57:23.96 ID:jmnv802Md.net
可読性故constは流行らない
何故なら文字数が多いので、どうしても特別な場所だけで使うとした方が自然だから
泣こうが喚こうがこの事実は曲げられない
以上

947 :デフォルトの名無しさん (ワッチョイ b3a8-/Gsh):2017/03/31(金) 23:03:25.44 ID:S+dmZ2B60.net
2文字増えただけで「可読性故」とか大草原
ガイジかな

単語の省略形とか好きそう
それで後から読んでわからなくなってそう

948 :デフォルトの名無しさん (ワッチョイ 238c-U/Pn):2017/03/31(金) 23:20:49.77 ID:dseKSPuY0.net
人間は文字を一文字一文字認識しているわけじゃないんだから
constにした所で可読性に影響はないよw

「この ぶんょしう は いりぎす のケブンッリジ だがいく の 
けゅきんう の けっか にんんげは もじ を にしんき する 
とき その さしいょ と さいご の もさじえ あいてっれば 
じばんゅん は めくちちゃゃ でも ちんゃと よめる という 
けゅきんう に もづいとて わざと もじの じんばゅん を 
いかれえて あまりす」

949 :デフォルトの名無しさん (ワッチョイ b357-6bLq):2017/04/01(土) 05:34:42.16 ID:5/77AQ200.net
constだとインデントしにくくない?
var
let
const
でconstだけ5文字っていう

950 :デフォルトの名無しさん (ワッチョイ b392-/miL):2017/04/01(土) 09:06:25.66 ID:PGhuuwXo0.net
>>940
そういう理解なら
for(const i=0; i<10; i++){コード;}

{const i=0;コード;}
もありになるぞ

951 :940 (ドコグロ MM1f-f8Iv):2017/04/01(土) 09:33:04.06 ID:+oJMyNASM.net
>>950
939以前ではfor-letの話しかしてなかったから、for-let限定でレスしたつもりだった
確かにfor-constだとまた話は違う(というか動かない)ね

952 :デフォルトの名無しさん (エムゾネ FFdf-NVAl):2017/04/01(土) 11:37:32.19 ID:XAMnGxj+F.net
幾らたった2文字と言ってもな
もしletが5文字ならvarに勝てないだろうし、
そこでconstが3文字だったのなら自然とletより使われるのは多くなるのは間違いないでしょ

953 :デフォルトの名無しさん (アウアウウー Sab7-19VF):2017/04/01(土) 12:26:12.44 ID:dymFNcqGa.net
>>952
意味は全然違うけど文字数が2文字少ないのでそっち使いますってどんな理論だよ例えletがletxxでconstがconでもそれでconstが増えたりはしないよ
書くときにスタンスとして再代入をなるべくしないと考えているかどうかと、
読むときに定義だけ読めばいいんだよと教えてあげようと思っているかどうかだ

954 :デフォルトの名無しさん (ワッチョイ d370-FuqK):2017/04/01(土) 16:36:41.70 ID:nYzGzhmV0.net
>>953
どんな理論って、それが普通の人間の感覚なんだよ
もっと言えば理屈じゃないの
アルゴリズムは理屈で書くが、殆どの人がコードを理屈で書いてるわけじゃないからね
言語なんだから書きやすいように自然に書いている
頻繁に使うものに関して文字数が3か5かっていうのは自然度合いに明らかな差があるんだよ
何を言おうが間違いなくそれが全constの普及を妨げている最大の理由だよ

955 :デフォルトの名無しさん (ワッチョイ 1367-/BKC):2017/04/01(土) 16:40:33.13 ID:5slG0t9U0.net
それあなたの感想ですよね?
なんかそういうデータあるんですか?

956 :デフォルトの名無しさん (ワッチョイ 2392-IDtH):2017/04/01(土) 16:52:42.67 ID:W7IGfgKJ0.net
変数の定義で使い分けるのは面倒だし、自分でその変数の使い道が分かっていれば各ブラウザで問題が起きない var に1票だな

まあ const は設定値に使う変数には分かりやすいとは思うが、let, const でエラーになるブラウザがある間はまだ var が無難かな

957 :デフォルトの名無しさん (ワッチョイ b3a8-/Gsh):2017/04/01(土) 16:59:48.48 ID:Xk39Ujbl0.net
こういうガイジくんのおかげで
糞コードは永久になくならない

958 :デフォルトの名無しさん (アウアウウー Sab7-19VF):2017/04/01(土) 17:05:58.81 ID:dymFNcqGa.net
>>956
まぁJSがWebと切ってもきれない関係である以上そこは仕方ないね
Edgeが今のIE6くらいの化石になった頃には何とかなるでしょう
その頃JSが使われてるのかは知らんが

959 :デフォルトの名無しさん (ワッチョイ d370-FuqK):2017/04/01(土) 18:01:19.17 ID:nYzGzhmV0.net
>>955
じゃあなに?
君はフルconstがletより流行らない理由は皆アホだからとでも思ってるの?
constが3文字でletが5文字なら、間違いなくletよりconst推す人がずっと増えるでしょ?
そう思わない?

960 :デフォルトの名無しさん (ワンミングク MM5f-q8gt):2017/04/01(土) 18:12:47.66 ID:xu8z9jrwM.net
どうでも良いとこになると急に饒舌になるやついるよな
荒れる原因ってこいつらだろ

961 :デフォルトの名無しさん (ワッチョイ bf67-/BKC):2017/04/01(土) 18:12:54.06 ID:aApsaYHH0.net
それあなたの感想ですよね?

962 :デフォルトの名無しさん (アウアウウー Sab7-19VF):2017/04/01(土) 18:45:51.19 ID:dymFNcqGa.net
>>959
letが5文字の場合(letxxとする)
letxx foo = 1;
foo = 2;
foo = 3;

constが3文字の場合(conとする)
con foo = 1;
con bar = 2;
con hoge = 3;

どっちが文字数少ないって?

963 :デフォルトの名無しさん (ワッチョイ b392-/miL):2017/04/01(土) 20:01:59.47 ID:PGhuuwXo0.net
お前メモ帳でプログラム書いてんのか?
普通コンプリーションする

964 :デフォルトの名無しさん (ワッチョイ 238c-U/Pn):2017/04/01(土) 20:15:49.03 ID:DrbHkd9R0.net
重要なのは可読性。読んだ時にどれだけ意図がわかるかどうか
書く時(タイプ数)なんてどうでもいい。
なぜなら俺はブラインドタッチができるからだ

965 :デフォルトの名無しさん (ワッチョイ b3a8-/Gsh):2017/04/01(土) 22:31:23.70 ID:Xk39Ujbl0.net
>>959
こういう信じがたいほど想像の斜め下をいく発想の持ち主が
新しい機能の流行を阻むのは理解できた

966 :デフォルトの名無しさん (ワッチョイ 238c-U/Pn):2017/04/01(土) 23:01:34.57 ID:9Eckjtd/0.net
タイピング速度が遅い人ほど、タイプ数を気にする
コードが読めない人ほど、タイプ数を気にする

967 :デフォルトの名無しさん (ワッチョイ 03bc-+5It):2017/04/01(土) 23:21:16.94 ID:oT1fsmzO0.net
タイプってw
大半はエディターの補完機能なんだが

968 :デフォルトの名無しさん (ワッチョイ b392-C+VN):2017/04/01(土) 23:43:53.46 ID:DstJGvws0.net
constとletの使い分けって、そんなに熱くなるモノなのかな。

定数か変数かで区別するだけだと、問題有るのかな?

969 :デフォルトの名無しさん (ワッチョイ 238c-U/Pn):2017/04/02(日) 00:43:16.56 ID:n7h/bBRg0.net
>>968
constといいう名前からして悪いんだけど、定数という名前が
数学的な定数と一緒で広い範囲で使われてる定められた数という
印象を与えてしまうんだよな。

この点はScalaのvarとvalみたいな名前のほうが良かったと思うね。

定数か変数かで区別するという考え方だと、
定められた数でなければ全部letになってしまう。

そうじゃなくて定義とともに代入して、変えてはならないという
基本原則なんだよ。区別するんじゃなくて意図的にそうなるように持っていく。

constはローカルスコープでも普通に使うもの。かつてvarやletであったものは
すべてconstに置き換えるぐらいの心構えでいくべき

970 :デフォルトの名無しさん (ワッチョイ 8fc8-/BKC):2017/04/02(日) 00:46:42.77 ID:QJM914RD0.net
よし、#defineをとりいれよう

971 :デフォルトの名無しさん (ワッチョイ d370-FuqK):2017/04/02(日) 04:37:29.62 ID:AOa6ZDoH0.net
まああれだな、newを使うなとかと同じこと。
実際はJSでは与えられたものは多く使って表現豊かに書いた方が俺は好きだけどな。
そんなに制限するなら関数型AltJSでも使った方が確実だし。

972 :デフォルトの名無しさん (ワッチョイ 238c-U/Pn):2017/04/02(日) 04:46:41.76 ID:n7h/bBRg0.net
> まああれだな、newを使うなとかと同じこと。
それとはぜんぜん違うなw

classができてnewは昔以上に普通に使われるようになった。

973 :デフォルトの名無しさん (ワッチョイ 238c-U/Pn):2017/04/02(日) 04:48:20.07 ID:n7h/bBRg0.net
altJSは将来性がないという点で使い物にならない。
TypeScriptがMicrosoftという大きなバックがあるから
かろうじて候補になるレベル

974 :デフォルトの名無しさん (ワッチョイ b3a8-/Gsh):2017/04/02(日) 08:40:53.12 ID:rRNjOjm50.net
cofeeとかほんとマジモンのゴミだったな
RoRにまでねじ込みやがって、作者は首吊って死ねレベル

975 :デフォルトの名無しさん (ワッチョイ d370-QovO):2017/04/02(日) 21:36:49.49 ID:ErqynUDU0.net
cofeeは糞だが糞なりにES5、6の肥料として役立ったよ

976 :デフォルトの名無しさん (ワッチョイ 733c-3+/Q):2017/04/02(日) 21:47:14.29 ID:PqHJO9yF0.net
babelでコンパイルしたes6のjsを従来のjsから呼び出すにはどうしたらいいですか?
具体的には
export default function sample() {
console.log('sample');
}
これをbabelでコンパイルしたファイルをhtmlで読み込み、他のjsからsample()で呼び出そうとするとnot definedになります。

977 :デフォルトの名無しさん (ワッチョイ bf01-y2WR):2017/04/02(日) 22:13:35.00 ID:C3VJqOAO0.net
>>976
webpackかrollup使え

978 :デフォルトの名無しさん (ワッチョイ 73c8-agmj):2017/04/02(日) 23:11:43.46 ID:W2z98tOP0.net
1時間ほど待って、次スレ立てます。
テンプレ変更無し、ワッチョイありです。(このスレと同じ)
何かあればよろしく。

979 :950 (ワッチョイ efff-U/Pn):2017/04/02(日) 23:35:40.15 ID:1OFv5oH00.net
>>950なので次スレたてました

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

980 :デフォルトの名無しさん (ワッチョイ 73c8-agmj):2017/04/03(月) 00:44:09.44 ID:82yaJsi70.net
設定そのままで次スレ立てました。
JavaScript の質問用スレッド vol.123
http://echo.2ch.net/test/read.cgi/tech/1491147085/
テンプレは「前スレ」以外は変更無しです。
荒らしがいなければ順番が入れ替わっているのを修正するつもりでしたが、
この状況では紛らわしいので止めました。


ゆとり死ね。Web板民死ね。
てかお前らマジで他スレ立てろ。乗っ取るんじゃなくてね。

981 :デフォルトの名無しさん (ワッチョイ efa7-agmj):2017/04/03(月) 14:46:34.64 ID:iEMCb3Wm0.net
とりあえず内容がまともな>>980の方を使わせてもらおうと思うけど
ゆとり死ねとかそういう属性でレッテル貼って叩くのは本当にやめなよ
上にもチョンだの韓国人だの言ってるのいたし最近たち悪いの湧きすぎ

982 :デフォルトの名無しさん (ササクッテロラ Sp17-59Pd):2017/04/03(月) 16:21:46.28 ID:+GLMxqCnp.net
そうだね
ネトウヨみたいなのが在日差別してるような発言が目立つ
ITは国境の壁のない世界なのに、何の根拠もなく在日を見下して酷いレスをしたり、本当にムカつくわ
ジャップと言い返したいが、バカは無視しなければとじっと耐えている

983 :デフォルトの名無しさん (ワッチョイ bf72-aC9I):2017/04/03(月) 18:19:57.56 ID:Yz8joenH0.net
爆釣でワロタ

984 :デフォルトの名無しさん (ワッチョイ 73c8-agmj):2017/04/03(月) 22:14:04.19 ID:82yaJsi70.net
>>981
ゆとり死ね

>>982
韓国人死ね

いやなら出て行ってくれよ。マジで。
文句しか言わず邪魔ばかり、でも居座るとか、まさにゆとり=在日韓国人だろ。
同レベルの知能とモラルしかないんだよ。それを自覚して両方とも死ね。

ゆとりは勘違いしているが「○○してはいけない」ってのは子供の考え方なんだよ。
大人はただ、何をやってもそういう人だと受け取られるだけ。つまり責任を取らされる。
この状況でも、ゆとり死ね、韓国人死ねって言わない人なら、そういう人だと取られる。
俺はこの状況なら、言う方を選ぶ。それだけ。
それをお前らがどう取るかはお前らの自由。
同様に、お前らがどういう行動を取ったとしても、それをどう思うかは俺の自由。
重ねて言う。

ゆとり死ね。韓国人死ね。Web板民死ね。

つかね、まともなモラルがあれば、スレ立てた奴(979)はそれを使うべきだし、
継続スレ立てを邪魔した奴(テンプレの最中にどかどか落としてきた馬鹿共)は、
979を使うか、新しく自分達でスレ立ててそこで頑張るのが筋だろ。
ゆとりと韓国人は筋を理解出来る知能がないから会話が成立しない。
そして邪魔することが目的になってるクズだから嫌われるんだよ。
韓国人や民進党が嫌われている理由はそれなんだよ。奴ら分かってないけど。
そしてそれをパヨクは差別にすり替えてきた。だから世界的に反PCなんだよ。

というか、顔も見えないネット上で特定されてしまうことが異常だと気付け。
お前らは非ゆとり世代の常識ではあり得ないことを色々やらかしてる。
ホントマジで死んでくれ。

985 :デフォルトの名無しさん (ワッチョイ efa7-agmj):2017/04/04(火) 00:19:23.84 ID:Up7pI+Y40.net
なんかもう酷すぎて言葉もないわ

986 :デフォルトの名無しさん (アウアウウー Sab7-ZBiq):2017/04/04(火) 01:04:19.40 ID:/h6/1A+aa.net
ID:82yaJsi70 はこのスレに要らない人だと思う。
この人は前から一部の荒らしを忌み嫌っていてそれは共感出来るものだが、一部を全と誤認する癖があって、「お前ら」と一括りにして無関係な人にまで誰彼かまわず噛みつく。
こういう人がいつまでも残ってるから荒らしがいなくならない。

987 :デフォルトの名無しさん (ワッチョイ bf72-FZ2J):2017/04/04(火) 03:11:39.99 ID:G9pF4v750.net
次スレは長文キチが立てたスレかIPスレの2択w

988 :デフォルトの名無しさん (ワッチョイ 8ff3-agmj):2017/04/04(火) 10:22:09.13 ID:PLaqQ/3x0.net
for( const i=0; i<3; i++ ){

これってエラーになるか警告吐いて無限ループするよね

989 :デフォルトの名無しさん (ワッチョイ d370-Mfrl):2017/04/04(火) 16:16:27.33 ID:EdxJPPSV0.net
constなのに++できるわけないじゃん

990 :デフォルトの名無しさん (アウアウウー Sab7-19VF):2017/04/04(火) 17:50:41.14 ID:0Y6YQxI1a.net
for( const i=0; i<1; i++ ){}

これでもエラーになるかな?
帰ったら試してみるか

991 :デフォルトの名無しさん (JP 0H7f-aCII):2017/04/04(火) 17:54:25.25 ID:pyoNKlrCH.net
>>990
for( const i=0; i<1; i++ ){}

Chrome:
Uncaught TypeError: Assignment to constant variable.
at <anonymous>:1:23

992 :デフォルトの名無しさん (アウアウウー Sab7-19VF):2017/04/04(火) 18:14:32.27 ID:0Y6YQxI1a.net
>>991
ありがとう
そりゃそうか
先にインクリメントしないことには次に行くかどうかの評価も出来ないもんね
失念してた

993 :デフォルトの名無しさん (アウアウカー Sa7f-ajVR):2017/04/07(金) 17:48:47.95 ID:WUk4T3iPa.net
if(hoge()){ return piyo(); }

return hoge() && piyo() ;

ってやってること同じですか?

994 :デフォルトの名無しさん (ワンミングク MMa2-+hGL):2017/04/07(金) 17:53:38.36 ID:IIm1rFGkM.net
>>993
ちがうだろw

995 :デフォルトの名無しさん (ワッチョイ 720f-r5Aa):2017/04/07(金) 19:11:15.38 ID:APzAZxi90.net
>>993
hoge()が0や""を返す場合を考えるといい

996 :デフォルトの名無しさん (アウアウカー Sa7f-ajVR):2017/04/07(金) 19:27:57.26 ID:WUk4T3iPa.net
>>995
あっ、すみません
hoge()がtrueかfalseを返す関数ということを書き忘れてました
これじゃ意味が全然違いますね

997 :デフォルトの名無しさん (ワッチョイ bf92-R2Im):2017/04/07(金) 20:22:15.76 ID:ELRS5w/50.net
論理的な思考が出来ない奴っているんだな

998 :デフォルトの名無しさん (ワッチョイ 0770-/mV7):2017/04/07(金) 22:01:28.99 ID:W6kcLwca0.net
「同じ」で良いのにね

999 :デフォルトの名無しさん (ワンミングク MMa2-+hGL):2017/04/07(金) 22:54:37.43 ID:IIm1rFGkM.net
>>993
それだとhogeがfalseのときに上は何も返さないじゃないか

1000 :デフォルトの名無しさん (ワッチョイ e6c8-mfmJ):2017/04/07(金) 23:02:52.10 ID:sd61oNHw0.net
いまいちわからないなら
とにかくわかりやすく
if ( ) {
} else {
}
って感じで書いとけばいいと思う……

総レス数 1000
434 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★