JavaScript の質問用スレッド vol.123 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 73c8-oPzN)
垢版 |
2017/04/03(月) 00:31:25.68ID:82yaJsi70
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.122
http://echo.2ch.net/test/read.cgi/tech/1472426483/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2017/04/03(月) 00:32:46.51ID:HcTbpYfB0
本スレはこっち

+ JavaScript の質問用スレッド vol.123 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1491143438/
2017/04/03(月) 00:33:38.69ID:bzwlUbZO0
ワッチョイとは
BBS_SLIP
http://info.2ch.net/index.php/BBS_SLIP
スレ立て主が設定する事で、レスした人のIPアドレスからIDを変換して名前欄の横に表示が出ます。
荒らし対策という名目で広がったのですが、一言でいえば強制固定ハンドルネームのようなものです。
中段あたりに解説がありますが、浪人という名前の有料専用ブラウザを導入すれば、ワッチョイ表示なしで書き込む事も出来るようになります。

●注意点
ワッチョイ(SLIP)の変換は全板共通です。
IPアドレスから特定の法則で文字列に変換しているだけなので、IPアドレスが変わらない限り全部同じになります。
ですので、漫画板のワッチョイスレで○○かわえー、なんてレスした後、他のお硬い板のワッチョイスレで大議論になったり
なんかしてて議論相手にあなたのワッチョイのIDググられれば普通に他の板の書き込みがヒットします、
全く関係ないスレで別のスレの恥ずかしいレスを相手に突っ込まれたりする可能性があったりします。
これらを自覚してレスをしていないと、あるスレで下の名前をレスして、別の板のスレで苗字をレスして、
と...実は自分から身バレをしていたという可能性も無い訳ではありません。何万人もレスしてますからね、誰かがそういうポカをする事だってあり得ます。

変換自体は一週間でまた変わるので一生同じIDという訳ではないですが、注意しなければならないのはIPアドレスそれ自体が表示されているSLIPスレ。

IPアドレスは固定アドレスにしない限り変動すると思いがちですが、今は変動アドレスでも
殆ど固定と変わらない事が多いのです。下手をすればプロバイダ解約するまで同じIPアドレス。
IPアドレス表示されるスレに一度でもレスすれば、ワッチョイ=IPアドレスの関係がバレてしまうので
他のワッチョイスレでもIP表示で書き込んでる事と実質同じになってしまいます。
2週に渡ってIPアドレス表示のスレに書き込めば、ワッチョイIDは変わってますがIPは同じなので週を
跨いでも同じ人というのがバレますね。同じIPの過去のワッチョイIDをググればいくらでも過去に遡れる事になります。
2017/04/03(月) 00:33:57.32ID:bzwlUbZO0
掲示板を見れば閲覧者のIPアドレスは管理者にわかるので日常的に第三者に渡っている情報ですが、
2chのレスでIPが残る(Googleの検索に引っ掛かる)となると少し意味が違ってきます。
IPアドレスからは接続地域と回線種類くらいしかわかりません。それぞれが情報を持っていても
外に開示している情報ではないので個々の情報では価値が薄いのですが、2chにレスがあれば情報を共有できます。一つ一つは薄い情報でも繋げれば意味が出てきます。

また、IPアドレスと本名住所を元々知っている相手にはどうでしょうか?
まず普通に家族が家のIPをググったら2chのレスを見られますね。
あなたの2chの書き込みが全てわかる訳です。趣味嗜好、悩み等を書き込んでいれば筒抜け。
あなたの知り合いがふざけてこのIPの奴○○って奴だよ、と書き込む事だってあるかもしれません。
例えば本名IP掴んでる通販業者が2chググってレス見て病気で悩んでいたのが知れたらその情報を心霊治療の業者に流されたりする可能性だってあります。

まぁそういう可能性も無いとは言えないのでIP表示のスレだけは気をつけて下さい。
先にその危険性を知っていればレスの内容も気をつけるでしょうけど、現状はその危険性をそもそも全く知らずに呑気に匿名だと思ってレスしている人が大半なのです。
2017/04/03(月) 00:34:49.92ID:82yaJsi70
■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。(ex: IE8, Firefox4)
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
 1レスに収まらないならコード投稿サイトを利用してください。
 http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/

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

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

■関連スレ
JavaScript ライブラリ総合質問所 vol.5 [無断転載禁止]c2ch.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/
2017/04/03(月) 00:35:29.98ID:82yaJsi70
■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プロパティの算出値を表示(
2017/04/03(月) 00:35:44.14ID:MrxLrKt60
前:Name_Not_Found[sage] 投稿日:2016/02/24(水) 00:48:54.16 ID:???
■JavaScript主要ライブラリ・フレームワーク

jQuery
http://jquery.com/
jQuery UI
http://jqueryui.com/
jQuery Mobile
http://jquerymobile.com/
Lo-Dash
https://lodash.com/
Backbone.js
http://backbonejs.org/
Underscore.js
http://underscorejs.org/
AngularJS
https://angularjs.org/
Knockoutjs
http://knockoutjs.com/
RequireJS
http://requirejs.org/
D3.js
http://d3js.org/
threejs
http://threejs.org/
2017/04/03(月) 00:35:51.98ID:82yaJsi70
■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 和訳)
2017/04/03(月) 00:36:21.03ID:82yaJsi70
■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プロパティの算出値を表示(
2017/04/03(月) 00:36:27.84ID:MrxLrKt60
テンプレここまで

-----------------------------------------------
2017/04/03(月) 00:36:42.76ID:82yaJsi70
■各種仕様 (続き)
◆ 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
2017/04/03(月) 00:37:03.06ID:82yaJsi70
■各種仕様 (続き)
◆ 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
2017/04/03(月) 00:37:21.41ID:MrxLrKt60
■JavaScript主要ライブラリ・フレームワーク

jQuery
http://jquery.com/
jQuery UI
http://jqueryui.com/
jQuery Mobile
http://jquerymobile.com/
Lo-Dash
https://lodash.com/
Backbone.js
http://backbonejs.org/
Underscore.js
http://underscorejs.org/
AngularJS
https://angularjs.org/
Knockoutjs
http://knockoutjs.com/
RequireJS
http://requirejs.org/
D3.js
http://d3js.org/
threejs
http://threejs.org/
2017/04/03(月) 00:39:41.45ID:82yaJsi70
■諸注意
vol.115でlodashを不必要に推奨して啓蒙する行為が多く確認されており、ライブラリ系の質問はvol.116から禁止されました。
vol.115,116ではライブラリ禁止する発言が見られた直後にライブラリを許可する意図で次スレを立てる行為が確認されています。
本スレッドでライブラリ許可を求める発言が確認された場合は不要な争いを避ける為、スルーすることを推奨します。
ライブラリの質問はライブラリスレへ誘導し、誘導行為への反論はスルーしてください。

-----ここまでテンプレ-----
テンプレは >>1,5,6,8,9,11,12 および本レス
2017/04/03(月) 00:41:25.92ID:82yaJsi70
テンプレは ID:82yaJsi70 投下分です。
見れば分かりますが荒らしが常駐しておりますのでご注意下さい。
2017/04/03(月) 00:41:55.25ID:MrxLrKt60
またあらされるだろうが
ワッチョイを弱くするんじゃねーよ

+ JavaScript の質問用スレッド vol.123 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1491143438/
2017/04/03(月) 00:50:35.05ID:82yaJsi70
お前ら本当に息を吐くように嘘をつくのな
2017/04/09(日) 00:11:28.55ID:fJb/P0a60
Web上の画像からMD5ハッシュを作りたい。
PHPでは

$file = 'http://tokai-tv.com/aonoumi/common/img/bg02.jpg';
echo md5_file($file);

結果:ccfc83e6c92e7571f266215458776bbf

こんな感じで作れるのだが、javaScriptでの作り方がわからない
2017/04/09(日) 07:45:08.98ID:UMSN5A0G0
>>18
どの部分がわからないのさ
2017/04/09(日) 09:06:06.81ID:fJb/P0a60
この部分
md5_file($file)
2017/04/09(日) 12:26:46.60ID:fJb/P0a60
やっぱりよくわからない
別の方法探してみるわ…
2017/04/09(日) 12:48:09.41ID:bUVSS9K7H
同等の関数を実装する
2017/04/09(日) 13:00:55.24ID:c0gwQMp6a
まずその関数の中身は見たのか?
2017/04/15(土) 15:21:52.52ID:9YbSLxnA0
文字列中にバックスラッシュをエスケープせずに記述したくてString.rawを使ったのですが、
\ + 数字が含まれていると8進数に解釈しようとするのか Octal literal in strict mode という
エラーになります。

module.exports = {
path: String.raw`C:\Data\123`,
};

8進数に解釈しようとするのを回避する方法ってないんですかね?
2017/04/15(土) 16:59:13.00ID:+c21o4AH0
>>24
調べてみたがないっぽいな
http://2ality.com/2016/09/template-literal-revision.html
2017/04/15(土) 18:35:44.54ID:9YbSLxnA0
なるほど、ありがとうございます。解決できのは早くてES2018ですか。
TypeScriptでさっさと取り込んでくれないかなぁ。
27デフォルトの名無しさん (エーイモ SE2f-pVHc)
垢版 |
2017/04/17(月) 11:13:56.79ID:EyfSFiB8E
const F = function fun() {
this.age = 1;
};

F.prototype.getage = function getage() {
'use strict';

console.log(this.age);
};

const f = new F();
f.getage(); // 1
28デフォルトの名無しさん (エーイモ SE2f-pVHc)
垢版 |
2017/04/17(月) 11:15:00.74ID:EyfSFiB8E
const F = () => {
this.age = 1;
};

F.prototype.getage = function getage() {
'use strict';

console.log(this.age);
};

const f = new F();
f.getage();

これはTypeError: Cannot set property 'getage' of undefined
29デフォルトの名無しさん (エーイモ SE2f-pVHc)
垢版 |
2017/04/17(月) 11:15:25.44ID:EyfSFiB8E
const F = () => {
this.age = 1;
};

F.prototype.getage = () => {
'use strict';

console.log(this.age);
};

const f = new F();
f.getage();

これもTypeError: Cannot set property 'getage' of undefined
30デフォルトの名無しさん (エーイモ SE2f-pVHc)
垢版 |
2017/04/17(月) 11:15:59.76ID:EyfSFiB8E
const F = function F() {
this.age = 1;
};

F.prototype.getage = () => {
'use strict';

console.log(this.age);
};

const f = new F();
f.getage(); // undefined
31デフォルトの名無しさん (エーイモ SE2f-pVHc)
垢版 |
2017/04/17(月) 11:16:39.84ID:EyfSFiB8E
>>27
>>28
>>29
>>30
の4つのコードの結果が何故こうなったのか理由を教えてください
2017/04/17(月) 12:35:49.92ID:nxPRGvnHa
インスタンス化したときじゃなくアロー使った時点でthisが束縛されてるから
2017/04/18(火) 16:19:41.63ID:owHPt2Un0
generator-chrome-extension-kickstart を使ってchrome-extension作っているんです。
これ自体はすごく便利なんですが修正するたびにコンパイルが入ってリロードするため、
chromeが「この拡張機能は、自身により頻繁に再読み込みされています。」と、
開発中のプラグインを無効化してしまいます。
これが面倒なので警告を無効化する方法を教えていただけないでしょうか?
2017/04/19(水) 09:59:50.06ID:NBkpFfOk0
手動で更新すればいい
35デフォルトの名無しさん (エーイモ SE3f-pVHc)
垢版 |
2017/04/19(水) 19:05:12.62ID:l7QdfMBTE
>>32
理解しました
function()を無理にアロー演算子に書き換える必要はなさそうですね
先輩ありがとうございます
2017/04/19(水) 19:18:09.01ID:hZKuXyWEa
>>35
アローは関数型プログラミングの流れを汲んでるから今回みたくオブジェクト指向で使おうとすると相性悪い
2017/04/21(金) 21:06:23.20ID:Z8gqe29s0
関数型の流れを組んでるからとか、どうしたらそんな頭の悪いこと思いつくんだ?
そもそもオブジェクト指向と相性悪いと言うこともないし。
ただ単に既存のthisを利用したクラスベースもどきクラスシステムと相性悪いというだけで、
オブジェクト指向はプロトタイプベースでも、別のクラスベースもどきでもいくらでもできる。
2017/04/21(金) 21:53:18.77ID:TFy/T03e0
関数型っていうのは、ロジックを記述するもの。
オブジェクト指向っていうのは、そのロジックを持った構造を作るもの

住み分けがしっかりしてるから、オブジェクト指向+関数型で
プログラミングするのが今のトレンド
2017/04/21(金) 21:58:57.35ID:TFy/T03e0
>>37
> ただ単に既存のthisを利用したクラスベースもどきクラスシステムと相性悪いというだけで、

それは違う。逆にクラスベースのJavaScriptと相性がいい。

例えばこんな感じな

class Foo {
  func() {
    lib.sort(function() { thisはなんになる? })
    lib.sort(() => { thisは当然Fooのインスタンス })
  }
}

今まではthisが何になるかは、lib.sort() の仕様によって決まるから、
他の言語のように
「クラスの中のコードでthisといったらインスタンス自身に決まってるだろJK」
と言うことができなかった。

アロー関数を使って(言い換えるとfunctionキーワードなしで)JavaScriptをかけば
クラスの中でthisを使えば、どこで使ってもそのクラスのインスタンスとなり、
他の言語と同じように考えることができる。
2017/04/21(金) 22:51:06.77ID:36WFQ6u4a
ラムダ式に引数を与えないなんてとんでもない!
2017/04/21(金) 23:22:22.43ID:TFy/T03e0
>>40
そこは本質的なところじゃない自分でかってに補完しろ
2017/04/24(月) 05:00:01.27ID:UsTW2ezt0
>>39
屁理屈だな
メソッドにできないということが表の相性とすればそれは裏の相性だよ
2017/04/24(月) 23:04:59.41ID:39Q41QHF0
>>42
それは↓に言うべきことだね

>>37
> ただ単に既存のthisを利用したクラスベースもどきクラスシステムと相性悪いというだけで、

相性悪いが裏の相性(?)ということなら、>>39が書いたとおり相性が良いってことだろう。

それにそういうどうでもいいことしか言えないってことは、
>>39の内容には何も意見できないってみなすしかないねw
2017/04/24(月) 23:16:12.81ID:F4BuIEVAa
JS使いには性格悪い人しかいないんですかね?
2017/04/24(月) 23:17:09.83ID:39Q41QHF0
>>44
お前性格悪いなw
2017/04/25(火) 06:10:59.30ID:X14wy5zca
ブラウザさえあれば入門出来るから、いろんな人はいるだろね。
2017/04/25(火) 08:59:18.77ID:VRx9SYaG0
>>43
だからさあ、本当に言わないと分かんない?
コンテキストが違うでしょ?
そこまでずっとアロー関数を通常の関数のようにメソッドとして使えないという話をしてて、
その流れでの相性の話題なのよ

そしてそこでは君の言ったことは、(もっと広い視野で見て)「オブジェクト指向とは相性悪くない」
に含まれるのよ
君は数レスどころか1レスもまともに読めてない
あまりに視野が狭すぎだよ
2017/04/25(火) 09:57:49.62ID:t+yXw+A30
>>47
頭悪いぞお前、コンテキストは>>36のアウアウな発言

>アローは関数型プログラミングの流れを汲んでるから今回みたくオブジェクト指向で使おうとすると相性悪い

functionはOOスタイルプログラミングでクソって書いてあるのに
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/Arrow_functions

Until arrow functions, every new function defined its own this value (a new object in the case of a constructor,
undefined in strict mode function calls, the context object if the function is called as an "object method", etc.).
This proved to be annoying with an object-oriented style of programming.
2017/04/25(火) 14:18:09.68ID:VRx9SYaG0
>>48
だからそれに君と同じように批判してるのが>>37だっていう話をしてるんだが
オブジェクト指向とは相性悪くないってはっきり言ってるでしょ
頭大丈夫か?
2017/04/25(火) 16:19:31.03ID:x5rQ36LO0
オブジェクトを理解できていないのがドヤ顔でなんか言ってるわw
2017/04/25(火) 18:42:15.58ID:zu/PEsNlH
constとfreezeがデフォルトになる時代を待ってます
2020くらいまでにおねしゃす
2017/04/25(火) 23:00:57.97ID:dVF0/yIG0
>>47
お前が言ってるのは、オブジェクト指向との相性じゃなくて、
古いやり方、prototypeを使ってメソッドを追加する時限定の話じゃん。

オブジェクト指向の話でいうならば、お前が狭いんだよ。
2017/04/26(水) 10:54:04.97ID:AO7c3nBd0
>>52
だから最初からその狭い範囲限定で話をしてるでしょ
で、広い範囲では違うよと書いてるでしょ
レスをちゃんと読めって言ってるのよ……
まだ分かんない?
2017/04/26(水) 12:16:56.72ID:bDIzZfBu0
>>53

>アローは関数型プログラミングの流れを汲んでるから今回みたくオブジェクト指向で使おうとすると相性悪い

これは狭い範囲に限定した発言じゃ無いと思うが
そんな必死になってこのアウアウを擁護する理由は?
2017/04/26(水) 21:05:53.95ID:d/1p1duw0
>>53
だからこうですよね?

限定した狭い意味
「アローはprotptypeを使ってメソッドを作成するときには使えない」

大幅に範囲拡大した場合
「アローはオブジェクト指向で使おうとすると相性が悪い」
※注意 オブジェクト指向でアロー関数が相性がいい理由は上で説明済みです
2017/05/04(木) 14:53:39.23ID:hUmLVofu0
メソッドを作成するときに直接使えないよりも
メソッド中で別の関数を定義するときに便利な時があるという方が
よっぽど視野が狭いんだよなぁ
オブジェクト指向と相性が良い!とか笑える
2017/05/04(木) 18:20:15.83ID:fttt3bQF0
視野が狭い 笑い
>>56
> This proved to be annoying with an object-oriented style of programming.
こう言ってアロー関数の動作を変更した奴に言え
2017/05/04(木) 18:56:55.88ID:K3H/sXb3a
javascriptの勉強する時ってフロントエンドやるよりnodeから始めた方が良いの?
2017/05/04(木) 19:05:34.12ID:WT3deWtz0
今時はフロントエンドでもnpm使うから明確な区切りはないかと。
いきなりtypescriptオススメ。
補完効くからめっちゃ捗る。
2017/05/04(木) 21:01:14.87ID:K3H/sXb3a
>>59
そうですか:-)
61デフォルトの名無しさん (エーイモ SEab-pbrx)
垢版 |
2017/05/05(金) 12:57:26.72ID:3EPl9jlWE
typescriptの補完はjavascriptの補完として使うことも出来ますか?
ternjsでライブラリなどの補完がしたいんですが対応してないみたいで
2017/05/05(金) 21:24:46.13ID:af5cZQ8Za
javascriptでaddEventListenerによりイベント登録したときって実際どこに登録されてるの?

例えばpにclickを登録してconsole.dirしてみてもどこにも何か登録されたような状況が見当たりません・・・
2017/05/05(金) 22:27:05.74ID:cBR5XKLX0
参照する手段がないだけでP要素自身に紐付けられてる
EventEmitterだと登録済みのリスナー関数を取得できたりする
2017/05/05(金) 23:23:40.21ID:af5cZQ8Za
イベントリスナ関数に適当な引数セットして関数内で引数をdirしてみたら
なんとなくイベントオブジェクト?的なものを見られましたわ

>>63
ありがうございました
2017/05/05(金) 23:26:56.16ID:TDjvniVu0
Firefox
https://developer.mozilla.org/en-US/docs/Tools/Page_Inspector/How_to/Examine_event_listeners

Chrome
https://developers.google.com/web/tools/chrome-devtools/console/command-line-reference#geteventlistenersobject
2017/05/05(金) 23:39:07.79ID:af5cZQ8Za
>>65
なにこれすごい便利
ありがとうございます!
67デフォルトの名無しさん (ワッチョイ 7bfc-xh+C)
垢版 |
2017/05/05(金) 23:50:55.73ID:N/fwwBaZ0
<form name="form_gp">
<input type="text" name="form_name">
</form>

document.forms["form_gp"].elements["form_name"]という書き方で
フォームが存在しているかどうかを調べることはできますか?
IDをつけてgetelementbyIDとかいうのを使わないとダメですか?
できたらそうやればいいんですか?
2017/05/06(土) 02:31:13.69ID:feNHzNcv0
プログラム板のこのスレよりも、
web制作管理板の、JavaScriptのスレに書き込んだ方がいい

あっちの方が、人が多い
2017/05/06(土) 04:02:27.19ID:CFxIJcFza
>>67
<form name="form_gp"> が増えないのなら、そのコードは期待通りに動作するが、増えることも考慮すると、for文で繰り返し処理する方が安全
idなら <form id="form_gp"> が増やせない(一応、増えても期待通りに動作する)
というわけで役割が違うので、比較対象にならない

とはいえ、id, class があれば、nameを積極的に使う理由がないのも確か
古いAPIなので、今では(初心者を除いて)ほとんど見ない書き方だな
古いAPIだからいけないわけでもないし、「新しいAPIだから」とか「トレンドだから」等の非合理的な理由で決めるべきものでもないが
2017/05/06(土) 10:24:39.94ID:CFxIJcFza
すまん、>>69は忘れてくれ。
仕様では form[name] は「formsコレクションのform要素の中で一意でなければならない」とあるので、getElementByIdと同じ感覚で扱えるようだ。
https://momdo.github.io/html/forms.html#attr-form-name
idが良く推奨されるのはフラグメント識別子としても扱える利便性にあると思われる。
2017/05/06(土) 10:37:34.28ID:CFxIJcFza
HTML4.01ではname属性は後方互換性のために規定とあり、id属性を推奨されているな。
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/interact/forms.html#adef-name-FORM
XHTML1.0ではname属性が廃止されている。
http://www.y-adagio.com/public/standards/tr_xhtml_mod/abstract_modules.html#s_forms
HTML5では逆行しているが、この辺りがid属性が推奨される理由なのだろう。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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