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

1Name_Not_Found2019/01/06(日) 20:11:13.75ID:???
JavaScript を自ら学ぶ人のための質問スレッドです。
次スレは>>950が(本スレで改善案があれば考慮して)立ててください

■規則/推奨ルール
・メール欄を空欄にし、名前にレス番を入れることを強く推奨(なりすまし防止)
・質問内容は具体的に。言葉だけでなく、出来る限り再現性を確認したサンプルコードの掲示。
・質問テンプレートの利用推奨。
・質問への「答え」から解離した議論はよそでやること。

■禁止行為
・丸投げ質問
・迷惑スクリプトの質問
・オレオレ用語の使用(一般的な用語を使用する事)
・煽り、批判等の他人を不快にさせる行為(批判の代わりに「AよりBが良い」のような代案を出す事)

■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。
【条件】期待する回答の条件を書いてください。
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
 1レスに収まらないならコード投稿サイトを利用してください。
 http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/

※前スレ
+ JavaScript の質問用スレッド vol.136 +
http://mevius.5ch.net/test/read.cgi/hp/1542707959/

192Name_Not_Found2019/01/21(月) 01:16:22.39ID:???
>>178
☓ `${ dt.getFullYear( ) }年${ dt.getMonth( ) + 1 }月${ dt.getDate( ) }日`
○ dt.toLocaleDateString('ja',{year:'numeric',month:'long',day:'numeric'})

193Name_Not_Found2019/01/21(月) 12:30:52.67ID:???
>>191
babelはconstもletもvarに変換されるんだが?

194Name_Not_Found2019/01/21(月) 12:50:12.43ID:???
>>193
本人ではないが、>191の2行を読むべし

195Name_Not_Found2019/01/21(月) 12:51:10.15ID:???
>>194
えとさぁ、変換後のコードは増えないって意味なのわからない?

196Name_Not_Found2019/01/21(月) 13:02:38.39ID:???
>>195
あのさぁ…

197Name_Not_Found2019/01/21(月) 13:13:59.52ID:???
変換してからレスしようね
ほんとくだらない

198Name_Not_Found2019/01/21(月) 13:22:28.57ID:???
そもそもvarもletもよっぽど使わないでしょ
変数なんてなるべく変更しないものであるべきで、それならconst使うわけだし
変更しない変数にlet?
後から他人が読むこと考えろとしか

199Name_Not_Found2019/01/21(月) 13:32:19.80ID:???
>変数なんてなるべく変更しないものであるべき
そうなのか???
初めて聞いたぞ

200Name_Not_Found2019/01/21(月) 13:39:45.35ID:???
全部letでかまわんよ

201Name_Not_Found2019/01/21(月) 13:55:45.61ID:???
全部constを使うよ

202Name_Not_Found2019/01/21(月) 14:11:38.83ID:???
>>201
さすがにそれは無理だろう

203Name_Not_Found2019/01/21(月) 14:24:52.08ID:???
できるよ

204Name_Not_Found2019/01/21(月) 14:39:32.10ID:???
マジっすか
forループ回してインデックスとかプロパティ名とか取得するときどうやんの?

205Name_Not_Found2019/01/21(月) 15:08:30.34ID:???
map使えばいいだけだろ

206Name_Not_Found2019/01/21(月) 15:11:14.31ID:???
まあ遅延Streamも末尾再帰最適化もない以上、foループがなくなることはないさ

207Name_Not_Found2019/01/21(月) 15:23:10.19ID:???
constのために人が束縛されにゃならんのかw

208Name_Not_Found2019/01/21(月) 15:43:02.00ID:???
逆だな。速度のためにforループを使わないと束縛されてることがいやだ
速度のことさえなければconstだけで十分

だからlodashを使う。内部ではforループを使っているだろうが
俺自身はconstだけで生きてられる
バグを少なくするコーディングができる

209Name_Not_Found2019/01/21(月) 15:47:35.99ID:???
プログラマの思考なんて縛ってなんぼや
縛るどころかゆるゆるガバガバのJSがカオスってることからもわかるじゃないか

210Name_Not_Found2019/01/21(月) 15:54:05.31ID:???
jsってもう生で書く言語じゃなくなったの?

211Name_Not_Found2019/01/21(月) 15:57:13.14ID:???
特殊なスコープで人生送ってくださいね

212Name_Not_Found2019/01/21(月) 16:07:35.93ID:???
>>205
エ〜、forの代わりにmap使うのー、バカじゃないのー

213Name_Not_Found2019/01/21(月) 16:09:17.98ID:???
普通の事だけど、何をもって馬鹿と言ってるのか
お前の考えを言えるかい?

214Name_Not_Found2019/01/21(月) 16:27:20.27ID:???
私男だけど単なる関数スコープのことを特殊なスコープとか言っちゃう男の人はNG

215Name_Not_Found2019/01/21(月) 16:37:01.90ID:???
let,constはブロックスコープで関数スコープじゃないよ

216Name_Not_Found2019/01/21(月) 16:40:45.31ID:???
>>214
constu君の脳内スコープを想像して言っただけだから気にしないでくださいね

217Name_Not_Found2019/01/21(月) 16:41:39.89ID:???
>>216
どういうこと?スコープの話なんかしてないけど

218Name_Not_Found2019/01/21(月) 16:42:37.98ID:???
「脳内スコープを想像して」ってかいてあるから
単なるこいつの勘違いかな

219Name_Not_Found2019/01/21(月) 17:58:49.39ID:???
お前らいつもケンカしてんな

220Name_Not_Found2019/01/21(月) 18:06:22.56ID:???
逆だよ
ケンカしている仕様をありがたく教授している

2211652019/01/21(月) 18:14:34.69ID:???
使い捨てコードは、VSCode のQuokka という拡張機能を使っている。
コードを書き換えると、即座に結果が表示されるので便利

ブラウザのコンソールは、使わない

>>192
format 関係の関数は、様々なブラウザでの互換性が不明

ライブラリでは、moment よりも、date-fns の方が良さそう

222Name_Not_Found2019/01/21(月) 18:26:01.74ID:???
脳内スコープw

223Name_Not_Found2019/01/21(月) 18:44:38.04ID:???
>>221
良く尻も竹刀でオワコンライブラリを進めてタコとを半生しろ

224Name_Not_Found2019/01/21(月) 18:59:59.02ID:???
>>223
酔っ払っているのか?

>良く尻も竹刀でオワコンライブラリを進めてタコとを半生しろ
もう少し日本語で頼む

225Name_Not_Found2019/01/21(月) 22:33:12.33ID:???
なんとなく読めるなw

226Name_Not_Found2019/01/21(月) 22:52:51.28ID:???
https://www.npmtrends.com/moment-vs-date-fns-vs-dayjs

dayjsはよく知らんがmomentとほぼ互換っぽいAPIで軽いのが売りなのか

227Name_Not_Found2019/01/21(月) 23:09:26.86ID:???
俺の経験上、軽いが売りの代替ライブラリは
結局本家を超えることはできないよ

ま、互換性があるならいつでも本家momentに
戻せるから使うのは構わないけどな

228Name_Not_Found2019/01/22(火) 05:15:01.46ID:ejHVceL4
div class ='tenpoList' onclick="list_click()">
<ul>
<li></li><li></li><li></li>
</ul>
</div>


function list_click() {
$('div.tenpoList ul li').click(function () {
var num = $(this).index() + 1;
alert(num);
});
}

liをクリック時、クリックしたliのインデックスを1回だけalert表示したいのですが、
これを実行すると、クリックするたびに、表示されるalert回数が増えてしまいます。
どうすればいいでしょうか?

229Name_Not_Found2019/01/22(火) 06:05:16.40ID:???
onclickで呼び出す必要ないんじゃない
クリックするたびにイベントが追加されてるんじゃないか

window.onload = list_click
で読み込み時に一回だけイベント設定したらいいんじゃない

230Name_Not_Found2019/01/22(火) 06:36:46.55ID:???
>>206
末尾再帰どころか末尾呼び出し最適化も
とうの昔に仕様に入ってるよ

231Name_Not_Found2019/01/22(火) 07:03:42.24ID:???
>>228
タグのonclick属性を使うのは時代遅れ
またwindow.onloadを使うのも時代遅れ

onclickを消して、JavaScriptのコードはこれだけでいい

$('div.tenpoList ul li').click(function () {
var num = $(this).index() + 1;
alert(num);
});

232Name_Not_Found2019/01/22(火) 07:06:53.68ID:???
時代遅れ
どうせ書き換えるのならObservableを使おう

233Name_Not_Found2019/01/22(火) 07:16:04.79ID:???
>>230
どの主要ブラウザにも実装されてないし、babelも標準ではサポートしてないんだよなあ

234Name_Not_Found2019/01/22(火) 07:27:40.44ID:???
でも仕様に入ってるってことは将来はforループ無くなりそうだね

235Name_Not_Found2019/01/22(火) 11:39:22.93ID:???
無くなるわけねーだろ

236Name_Not_Found2019/01/22(火) 12:51:33.14ID:???
>>231
ReactでもonClick使ってるんだが時代遅れなのかね?

237Name_Not_Found2019/01/22(火) 12:54:42.71ID:???
reactとバニラのonclickを一緒にするなよ

238Name_Not_Found2019/01/22(火) 15:10:35.22ID:???
Reactはこうした方が良いんだというモットーで
onClickを使っているが、やっぱり悪手だったと思う
HTML(JSX)が汚く見づらくなってしまってる

せめて値に入れられるのは関数名だけでJavaScriptコードは
入れられないようにするべきだっったね

まあHTML書く人との分業作業を断念して
JavaScriptを書くプログラマが全部やりますよっていう
驚きの方針を前提にするなら、それでもいいかぐらい

2391702019/01/22(火) 18:42:35.90ID:puXWH6Q8
>>178
やはり駄目でした。。。
ちなみにこれ、HTML上にあるJAVAスクリプトなんですが、それが原因でしょうか?

240Name_Not_Found2019/01/22(火) 18:45:12.22ID:???
ほんとに全部削除して<script>とかも削除したなんてオチだったりして

241Name_Not_Found2019/01/22(火) 19:10:43.42ID:???

242Name_Not_Found2019/01/22(火) 19:32:07.87ID:???
>>239
178はconsole.logで出力してるからコンテンツエリアではなく開発ツールのコンソールに表示されるんだよ?

新着レスの表示
レスを投稿する