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

レス数が950を超えています。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/05/31(木) 18:48:31.41ID:???
予めJSで持っておくとか言ってるやつが居るが
datalist要素の存在忘れちゃったの?
2018/05/31(木) 22:01:25.41ID:???
>>883
側というかインターフェースと言うか外観はどうしてるのでしょうか?
検索ボックスのしたにdivかなんかの要素をCSSでfloatしてJSで追加するのでしょうか?
めんどくさそうですね。
2018/05/31(木) 22:20:54.22ID:???
お前がめんどくさそう
2018/06/01(金) 09:19:26.03ID:???
https://trends.google.co.jp/trends/explore?date=all&;q=php,python,javascript
javascript終わったな
2018/06/01(金) 09:56:18.42ID:???
https://trends.google.co.jp/trends/explore?date=all&;q=javascrip,java,c%2B%2B
javasriptおわた
2018/06/01(金) 11:07:57.90ID:???
「c」ってめちゃくちゃ一般的な語、というか字だけど
その比較意味あんのかww
893Name_Not_Found
垢版 |
2018/06/01(金) 11:09:26.52ID:gyLOTEac
日本生まれのクソ言語Ruby『最も嫌われているプログラミング言語』堂々ランクイン!!
https://japan.zdnet.com/article/35109803/

おめでとうクソ言語!🎊
おめでとう日本の恥!!www
https://japan.zdnet.com/storage/2017/11/02/e28392adae17a191547db083133339eb/171106-zdnet-1-01-languages-1-900x675.png
2018/06/01(金) 11:11:00.17ID:???
どうせperlがダントツなんだろと思って確認してみた

まあわかってたさ
2018/06/01(金) 11:13:46.71ID:???
最も嫌いな言語はシェルスクリプトだろ普通
コマンドライン入力を使ってプログラミング言語を実現してるから無理矢理感ありすぎ
21世紀に書くものじゃないわ
2018/06/01(金) 11:17:53.89ID:???
公害言語perlがダントツ
delphi、vbaが二位争い
php、objactive-c、coffeescript、rubyといった技術負債言語が第三グループを形成
javascriptマジ高みの見物wwwww
2018/06/01(金) 11:20:28.81ID:???
嫌いな言語ってある程度触らんと嫌いにならないからな
2018/06/01(金) 11:24:33.61ID:???
delphiって使う機会あんのか
2018/06/01(金) 11:31:57.02ID:???
単体で使うというよりもいろんなところで見かけたって感じ
パッと思いつくところだとdigitallocaとか、確かコード部分はまんまdelphiだったはず
2018/06/01(金) 12:18:40.58ID:???
二位グループ嫌われてる理由違うだろ。
delphiは一昔前pcアプリにかなり使われてたから保守でいじらされるの嫌なんだろう。今さら覚えても潰し利かないし。つまり第三グループが嫌われてる理由と似てる。
vbaは頼まれる機会が多くてクソ言語書かなきゃいけないから苦痛ということだろう。
2018/06/01(金) 13:07:11.70ID:???
他人が書いたphpも他人が書いたjsも同じくらいゲロいと思うんだが
2018/06/01(金) 22:39:45.78ID:???
javascriptも順調に廃れてるなwwwwwwwww
2018/06/01(金) 23:00:16.90ID:???
嫌われクソ言語殿堂入りのるびぃ笑などと一緒にするなよwww
2018/06/01(金) 23:53:47.98ID:???
るびぃちゃんと比較しないといけないほどやばい言語になったのか
905Name_Not_Found
垢版 |
2018/06/02(土) 00:28:29.44ID:NAWqmrGL
るびぃちゃんと同じ嫌われ第三グループはphp、objactive-c、coffeescript(笑)wwwww
2018/06/02(土) 03:08:00.15ID:???
嫌いな理由というのも色々あるということだ
perlはガチ言語仕様がガチ
2018/06/03(日) 16:38:31.73ID:???
3項演算子をつかって時間がひと桁の時0を頭につけるコードをどっかで見たので
自分でやったけどできない
var sec = (((new Date()).getSeconds < 10 )? "0" : "a") + (new Date()).getSeconds()

なにがだめ?
検証のために"a"いれてます
2018/06/03(日) 16:51:40.38ID:???
最初の new Date() と
二回目の new Date() で
同じ時刻になるとは限らない
2018/06/03(日) 16:53:44.54ID:???
https://momentjs.com/

日付処理が楽になる!Moment.jsの使い方
https://qiita.com/kyota/items/806da61fb8fffa34b695
2018/06/03(日) 16:59:43.83ID:???
あ、getSecondsのあとに()がぬけてました。。。
2018/06/03(日) 17:27:37.11ID:???
moment.jsはapiが古くimmutableになっていない。(破壊操作ばかり)
date-fnsやday.jsがよい。
またライブラリ使う場合はパフォーマンス問題も考慮しろよ?
素のjsで十分な案件じゃないか?
https://medium.com/@jerrylowm/moment-js-vs-native-performance-issues-5b85d6518014
https://cdn-images-1.medium.com/max/2000/1*PsYHK6ETIceehiSJ31r7CQ.png
2018/06/03(日) 17:36:30.74ID:???
パフォーマンスと言われても1回あたり
1msでも20ms対して変わらん
2018/06/03(日) 17:45:28.14ID:???
moment.js 50000byte
day.js 2000byte
画像の50kBと違いjsはダウンロード時間よりもパース時間のほうが長い。
また画像と違ってasyncをつけられなければブロックする。
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
返信ありがとうございます。
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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