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

レス数が1000を超えています。これ以上書き込みはできません。
2018/04/16(月) 00:09:43.45ID:???
JavaScript を自ら学ぶ人のための質問スレッドです。
次スレは>>950が(本スレで改善案があれば考慮して)立ててください

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

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

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

■回答者へ
・回答には多様性があります。他人の回答を尊重してください
・動作ブラウザや環境が限られる場合は、それを明記してください
・他人の回答を批判する代わりに、自分ならこう書くという例を示してください
・質問者がJavaScriptでなければ実現できないと勘違いしてるなら、その否定としてHTMLとCSSで実装しても良い
・他人の回答を見たくないのであれば、文句をつける代わりにNGにして見えないようにしてください。文句をつける=荒らしです
2018/06/03(日) 17:48:25.73ID:???
> また画像と違ってasyncをつけられなければブロックする。

</body>直前に読み込めばいいだけでは?
2018/06/03(日) 17:53:46.96ID:???
body直前で問題ないならそれが一番いいよ。
moment.jsロードして使わないなんて何してるのか分からんが。
2018/06/03(日) 17:55:13.13ID:???
>>915
asyncだって読み込み終わらなければ使えないぞ?
同じことだろう
2018/06/03(日) 18:00:19.42ID:???
てかjQueryなんかと同じで被依存ライブラリなんだから事実上asyncなんか付けられるわけないし/body直前もあり得ないだろ
2018/06/03(日) 18:04:13.29ID:???
へ? 使う前に読み込んでいればいいんだから
asyncも</body>直前でもできるけど?

例えば、clickイベントの中で使うなら、
クリックする前に読み込んでいればいい
2018/06/03(日) 18:04:20.93ID:???
そのためのdeferじゃないの?
2018/06/03(日) 18:05:59.90ID:???
イベントハンドラは当たり前じゃん
2018/06/03(日) 18:07:21.46ID:???
だから当たり前のことを言っただけなんだが。
ありえない?当たり前の事を知っていれば、
ありえないが間違いだってわかるよね?
2018/06/03(日) 20:59:33.02ID:???
今からはimportで読み込んで使うものだけど
2018/06/03(日) 21:27:37.16ID:???
qiitaって宣伝とかアフィとかになるんか?
2018/06/03(日) 21:59:14.24ID:???
>>913
出来ることも同じなんですか?
だとしたらなんでそんなにサイズが違うんですか?
2018/06/03(日) 22:12:11.90ID:???
素のjsのDateを使おう。サイズは驚異のゼロbyte。速度はmoment.jsの20倍速い。
moment.jsは便利だがAPIがイケてないということでdate-fnsに追い捲られてるはず。
このようにライブラリには流行り廃りがあるのだ。
素のjsのDateのAPIもイケてないが、moment.jsとは違う点がある。それは決して廃れないことだ。
じゃあもう覚えちゃえばいいんじゃん?
2018/06/03(日) 22:13:46.50ID:???
> 素のjsのDateを使おう。
めんどくせぇ、俺の仕事はDateを使いこなすことじゃないんだよ
2018/06/03(日) 23:21:46.39ID:???
別に使いこなさなくても時刻0埋めはIntlAPIで簡単にできる

date = new Date('2018/06/01 01:02:03')

date.toLocaleTimeString( 'en', { hour12: false } )
// "01:02:03"

date.toLocaleTimeString( 'en', { minute: '2-digit', second: '2-digit', hour12: false } )
// "02:03"
2018/06/03(日) 23:41:25.02ID:???
>>927
こんなんじゃ使い物にならないな

date = new Date('2018/06/01 01:02:03')

date.toLocaleTimeString( 'en', { hour12: false } )
// "?1?:?02?:?03"

date.toLocaleTimeString( 'en', { minute: '2-digit', second: '2-digit', hour12: false } )
// "?6?/?1?/?2018? ?1?:?02?:?03? ?AM"
2018/06/03(日) 23:45:35.74ID:???
何故いきなり自己紹介を!?
2018/06/03(日) 23:53:34.58ID:???
しかも文字化けwww
IntlAPIでできるとか、こいつ実際に使ってるのか?
どうせ使ってねーんだろうな
2018/06/03(日) 23:55:37.26ID:???
JavaScript(?)のAPI設計してるやつって
センスないのか?

なぜ短く書く方法が他にもいくらでも見つかるのに
それを無視して冗長なやり方をするんだ?
2018/06/04(月) 00:24:32.07ID:???
オプションオブジェクトのこと?
昔のAPIはフラットに引数足してったけどそのやりかたは拡張性・互換性に乏しいということで最近のAPIは基本引数の後ろでオプションオブジェクトとるようになったんだよ。
センスは良くなったの。冗長だけど。
2018/06/04(月) 00:30:51.46ID:???
素のJSがイケてないからライブラリが出来たのに
素のJSを使おうとは・・
そもそもSPAならパースは始めだけなので大して問題にならないですよね?
軽いに越したことはないですが・・
2018/06/04(月) 00:56:48.16ID:???
「SPA」の「始め」ってメガトン級じゃん。そこにさらに50KB積むのか…
まぁせめてSSRはしとけよ?
2018/06/04(月) 01:00:11.53ID:???
SSRとかもはやレアってなに?ってレベルだな
2018/06/04(月) 01:10:24.63ID:???
URとかLRとかまであるんやで…
2018/06/04(月) 06:25:58.02ID:???
>>928
君の壊れたブラウザじゃ使いものにならないのだろうね
2018/06/04(月) 10:18:12.72ID:???
Edgeが壊れたブラウザで、動かなくて平気っていう人は楽だねw
でも仕事じゃそうはいかないんだよ
2018/06/04(月) 10:54:25.18ID:???
>>938
壊れたブラウザの為に変に小細工するからつけあげる
放置することが賢明
やる気がなければ何れ消滅する
2018/06/04(月) 10:57:29.14ID:???
>>938
重要なことを忘れていた
余計な仕事が増えるだけ
2018/06/04(月) 11:23:34.48ID:???
シンプルに'0'つけて1回変数に入れてからsubstringすりゃいい
と言ってはいけない雰囲気
2018/06/04(月) 11:26:52.13ID:???
>>940
重要な仕事をお前の気分で余計な仕事に変えるな
重要かどうかはお前が決めるのではない
世界が決めるのだ。
2018/06/04(月) 11:58:55.94ID:???
ライブラリは必要だから作られたものなのですから
それが必要でなくなるのは、ブラウザの標準化がめざましく進むなどの前提条件の変化があった場合か
それよりもいい代替が現れた場合だけです。
前提条件はたいして変わっていないのですから
ライブラリいらないガーという主張には頷けませんね
2018/06/04(月) 12:31:09.87ID:???
githubではスター数ゼロの誰からも必要とされないライブラリが量産され続けています。
ライブラリは必要だから作られる、の反例として。
2018/06/04(月) 12:36:51.43ID:???
そのライブラリを作った人には少なくとも必要だったのでしょう
その必要性が広い潜在的需要に応えたものもあり、そうでもないものもあります
当たり前の話です
ここでは広く受け入れられたライブラリの話をしてるのですから、反例というかただのトンチンカンです
2018/06/04(月) 12:37:53.68ID:???
>>938
Edgeでもきちんと動くけど
君のPCが壊れてるみたいだよ
2018/06/04(月) 12:58:14.48ID:???
中国語環境とかだったりして
2018/06/04(月) 15:22:24.29ID:???
>>942
その前にどのブラウザを使かは自由
それは仕事ではなく奉仕というんだよ
2018/06/04(月) 15:41:01.51ID:???
古い初期バージョンのEdge使ってるから、だったりして
2018/06/04(月) 16:20:45.26ID:???
IE6を使うのも自由!
2018/06/04(月) 16:23:28.45ID:???
立てたで。
+ JavaScript の質問用スレッド vol.134 +
http://mevius.5ch.net/test/read.cgi/hp/1528096978/
2018/06/04(月) 16:54:27.87ID:???
どのブラウザを使っても自由
lynxでアクセスしたら逮捕された事件があったな
2018/06/04(月) 18:27:57.12ID:???
文字列の複数選択には、現状Firefoxだけが対応しているようです(Ctrlを押しながら選択)
JavaScriptで、SelectionオブジェクトにaddRangeするという形なら
ユーザ操作による複数選択に非対応のブラウザでも複数選択させることができるのでしょうか?
2018/06/04(月) 18:33:04.62ID:???
またエディタ君か
2018/06/04(月) 18:51:08.86ID:???
もうatomかvscodeのコントリビュータに聞けや
いい加減うっとおしい
2018/06/04(月) 19:46:57.50ID:???
は??
あなたのうっとうしさなんて鼻くそ以上の意味すらないのですが?
JavaScriptの質問スレでJavaScriptの質問をしているだけです
うっとうしいと思うのならあなたが去ればいいだけの話です
分かりますね?
2018/06/04(月) 20:36:37.21ID:???
>>953
すぐ試せるでしょ
2018/06/04(月) 21:39:21.37ID:???
もう来ませんつったんだからもう来んなよ
2018/06/04(月) 21:41:57.73ID:???
|∧_∧
|・ω・* <来てないよ
| っ 9
|―u’
2018/06/04(月) 22:04:26.69ID:???
関数の引数のデフォルト値の設定についてなんですが。
デフォルト値は関数内部で定義した変数は使えないんですか?

例えば
var f = (n = x) => {
var x = "korehoshii";
return n
}
でkorehoshii
を返すようにするのはむりなんでしょうか?
2018/06/04(月) 22:24:25.13ID:???
むり
2018/06/04(月) 22:27:46.01ID:???
そうですか。
カリー化したらやりたいことできそうなのでそれでやります。
2018/06/04(月) 23:17:14.16ID:???
ターミナル上でnode起動してから
var f = (n=1) => {
return n
}

って打ってエンターおしても入力が終わらないのなんでなんでしょう?
クロムのコンソール上だとちゃんと出来るのに。
2018/06/05(火) 06:32:04.54ID:???
終わるけど?
2018/06/05(火) 11:11:53.14ID:???
javascriptが?
2018/06/05(火) 17:03:37.44ID:???
http://pix.toile-libre.org/upload/original/1528185632.jpg
何度エンターおしても改行されて「...」がひょうじされるだけでプロンプト「>」が出てこないです。
v5.6.0
2018/06/05(火) 17:34:56.46ID:???
おう、ちょっと俺の話を聞いてくれよ
こないだほんとにあったことなんだ
2018/06/05(火) 17:38:29.50ID:???
朝起きたらよ、パンツの部分が濡れてるんだ
2018/06/05(火) 18:41:57.75ID:???
>>966
そりゃv5系じゃ対応していない(要フラグ)から当たり前だろ
デフォルトで対応はv6系からってのは公式をちょっと調べたら分かること
つうかもうv8系かv10系使おうや
2018/06/05(火) 19:12:20.52ID:???
あ、そうなんですか。
最近node.jsはじめたっばかりだから
当然最新のものインストールしてると思ってたのですが、
古いの入れたようですね。
ありがとうございます。
2018/06/06(水) 11:49:23.05ID:???
contenteditableな要素に書式付きのいわゆるリッチテキストをペーストしたら、
書式も一緒にペーストされることに気づきました
以前contenteditableを使った時には、CTRL+Vの動作を上書きして
スクリプトで素のテキストとして追加していましたが、
これだとブラウザのundo機能の対象外になります
undoも可能な書式なしコピーを実現するにはどうすればいいでしょうか?
2018/06/06(水) 11:58:06.97ID:???
仕様化されておらずブラウザの実装依存なのでは?ブラウザベンダーにメールでもして聞けば?
2018/06/06(水) 12:23:58.63ID:???
>>972
知らないなら答えなくていいですよ
何かコメントしなければいけないとでも思い込んでるんですか?
2018/06/06(水) 12:34:14.11ID:???
そもそもブラウザの歴史は独自実装から標準化への過程そのもので
かつての方がずっとブラウザの独自性は激しく、不可解な動作だらけでしたが
その荒れ地を舗装する過程で「ブラウザベンダーに理由を聞いてみよう」なんていう技術者は一人もいませんでした
実際に一人もいなかったのか知りませんが、いなかったはずです、少なくともマトモな技術者には。
何故なら意味がないからです
分かりますね?
2018/06/06(水) 12:34:42.63ID:???
ごめん。黙ってるべきだった。
2018/06/06(水) 13:11:57.12ID:???
無名関数が分かりにくい。
即時関数や入れ子・引数に関数を渡すなど。
その辺の記述の仕方を、
かみくだいて分かりやすく説明してくれてるサイトか書籍はありますでしょうか?
2018/06/06(水) 13:26:54.67ID:???
いい加減、できる会社に金払って委託しろよとは思う
2018/06/06(水) 13:58:10.84ID:???
いたくしないで
2018/06/06(水) 20:22:57.52ID:???
色んな情報を見て試して分かるまで使ってみて慣れればいいだけ
2018/06/06(水) 22:09:33.09ID:???
「理由を聞く」じゃなくて「動作仕様を聞く」だろ
昔も今もそれなりに居たはずと思うが

自前で追いかけundoを実装すればいいじゃん
2018/06/06(水) 22:20:24.22ID:???
unkoを実装しよう
2018/06/07(木) 00:05:06.98ID:???
この前のとこもう一回いいですか?
2018/06/07(木) 03:56:48.74ID:???
だめ
2018/06/07(木) 08:07:55.02ID:???
これは関数宣言。function 文。式ではなく文!
function f(){ }

文では巻き上げできる。
上で関数を呼び出して、下で定義できる
f();
function f(){ }

下は関数式。文ではなく式!
下の無名関数をよく使う。
var f = function f(){ };
var f = function(){ };

式にすると、関数の引数・戻り値として渡せる。
第一級関数だから、関数もオブジェクトとして扱える

() を付けると、即時実行。
IIFE (Immediately Invoked Function Expression; 即時実行関数式)

下のように、()で囲むと式になるので、即時実行できる。
文は即時実行できない
var f = function(){ }();
(function(){ })();
2018/06/07(木) 08:58:52.18ID:???
(function(g){return g;})(f)();
function f(){console.log(`
>>584
> 式にすると、関数の引数・戻り値として渡せる。
文でも渡せるじゃん。
`);}
2018/06/07(木) 08:59:16.28ID:???
>>984
返信ありがとうございます。
2018/06/07(木) 09:03:40.78ID:???
仮面ライダー「どういたしまして」
2018/06/07(木) 13:16:06.35ID:???
式は文だからね
「魚を食べます。」は文だが
「魚。」も文だ
2018/06/07(木) 13:54:55.80ID:???
>>984
> これは関数宣言。function 文。式ではなく文!
「function 文」なるものは定義されてないぞ、と一応いっておく
990Name_Not_Found
垢版 |
2018/06/07(木) 15:10:35.57ID:AkfvPQ78
Google maps APIの、Markerのlabelの表示/非表示をズームレベルによって切り替えるにはどうしたらいいでしょうか?
2018/06/07(木) 17:47:51.62ID:???
ズームが変更された時のリスナー関数でズームレベル見てそれによってマーカークリックのイベントを切り替える
2018/06/07(木) 21:26:25.72ID:???
>>976
なれだよ。
あなたが知りたいことの解説本ではないが、
関数型プログラミングにはそういうのがオンパレードだから
そっち系の本読むと慣れてくるかも。
基本の型が自然と身につく。
2018/06/07(木) 21:33:56.31ID:???
>>984
アロー関数も巻き上げできるやろ。
できないと思ってたけどできてびっくり。
俺が勘違いしてなければだけど
2018/06/07(木) 21:36:58.02ID:???
http://mevius.5ch.net/test/read.cgi/hp/1528096978/
2018/06/07(木) 21:37:17.66ID:???
うめ
2018/06/07(木) 21:37:32.91ID:???
おいしいー
2018/06/07(木) 22:02:37.02ID:???
文を文というには最小の構成要素が必要な。

愛。

は文とはいわん。
あとは検索しろ。
2018/06/07(木) 23:08:43.55ID:???
式(Expression)は単体でも文(Statement)になれる。式文(Expression statement)と言う。
以下参照のこと。
https://asciidwango.github.io/js-primer/basic/statement-expression/#expression-statement
2018/06/07(木) 23:14:44.85ID:???
してやられた
2018/06/07(木) 23:29:22.48ID:???
>>998
大体、合ってるけど、ECMAScript2017を持ち出している割には、微妙に説明が間違っているのが気になるねえ
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 52日 23時間 19分 39秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。