X



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

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001Name_Not_Found
垢版 |
2019/05/19(日) 16:07:12.99ID:2J4OYdDV
JavaScript を自ら学ぶ人のための質問スレッドです。
次スレは>>950が(本スレで改善案があれば考慮して)立ててください

■規則/推奨ルール
・メール欄を空欄にし、名前にレス番を入れることを強く推奨(なりすまし防止)
・質問内容は具体的に。言葉だけでなく、出来る限り再現性を確認したサンプルコードの掲示。
・質問テンプレートの利用推奨。
・質問への「答え」から解離した議論はよそでやること。
■禁止行為
・丸投げ質問
・迷惑スクリプトの質問
・オレオレ用語の使用(一般的な用語を使用する事)
・煽り、批判等の他人を不快にさせる行為
■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。
【条件】期待する回答の条件を書いてください。
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
 1レスに収まらないならコード投稿サイトを利用してください。
 http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/
■回答者へ
・回答には多様性があります。他人の回答を尊重してください
・動作ブラウザや環境が限られる場合は、それを明記してください
・他人の回答を批判する代わりに、自分ならこう書くという例を示してください
・質問者がJavaScriptでなければ実現できないと勘違いしてるなら、その否定としてHTMLとCSSで実装しても良い
・他人の回答を見たくないのであれば、文句をつける代わりにNGにして見えないようにしてください。文句をつける=荒らしです

■前スレ
+ JavaScript の質問用スレッド vol.139 +
https://mevius.5ch.net/test/read.cgi/hp/1555750241/
0851Name_Not_Found
垢版 |
2019/06/28(金) 23:59:45.90ID:???
>>845
そのとおり
理解しててもしてなくても、セミコロン付けると発生率が下がるのよ
0852Name_Not_Found
垢版 |
2019/06/29(土) 00:00:58.88ID:???
結論:
 絶対にミスしないウソつき以外にはセミコロン省略は使えない
0853Name_Not_Found
垢版 |
2019/06/29(土) 00:02:10.45ID:???
>>851
セミコロン必須にすると、タイプミスや修正漏れが減る根拠を教えて下さい!
0855Name_Not_Found
垢版 |
2019/06/29(土) 00:04:32.18ID:???
>>849
関係あるよ
var a = []
(function () {})() ←タイプミス
0856Name_Not_Found
垢版 |
2019/06/29(土) 00:05:33.37ID:???
セミコロン関係ない、「ミスをしないからミスしにくい手法など気にする必要はない」理論に持っていったのはセミコロン省略おじさんのほう
0857Name_Not_Found
垢版 |
2019/06/29(土) 00:07:26.78ID:???
下手なminifierだとASIを認識しなくてバグるよ
0859Name_Not_Found
垢版 |
2019/06/29(土) 00:19:17.58ID:???
>>853
ごめん発生率はASIによるバグの発生率だったわw
0860Name_Not_Found
垢版 |
2019/06/29(土) 00:20:42.89ID:???
セミコロン必須派の意見がgdgd過ぎ
0861Name_Not_Found
垢版 |
2019/06/29(土) 00:22:22.05ID:???
対してセミコロン省略派の詭弁テクはなかなかのものがある。
いつも屁理屈言い訳ばかりしてるから上達したのだろう。
0862Name_Not_Found
垢版 |
2019/06/29(土) 00:23:13.25ID:???
セミコロン付けときゃ余計なバグの心配もないのに
なんでそんな拘るかね┐(´-`)┌ヤレヤレ
0863Name_Not_Found
垢版 |
2019/06/29(土) 00:24:19.09ID:???
必須派の根拠が弱すぎるからだろうね
0864Name_Not_Found
垢版 |
2019/06/29(土) 00:26:29.40ID:???
総括すると、こういうことらしい

理解した「つもり」になってる奴はセミコロン必須にしろ
0865Name_Not_Found
垢版 |
2019/06/29(土) 00:27:07.72ID:???
var a = []
(function(a){
console.log(a)
})(1)
//=> [] is not a function
0866Name_Not_Found
垢版 |
2019/06/29(土) 00:27:44.95ID:???
なし派はメリット一つも言わないんだよなー
理解しろ理解しろ理解したらバグは起こらない!
いやそれでメリットは?
0867Name_Not_Found
垢版 |
2019/06/29(土) 00:28:28.72ID:???
>>865
セミコロンなくてスッキリしてていいな!
今度からそう書くわ!
0869Name_Not_Found
垢版 |
2019/06/29(土) 00:35:00.75ID:???
結論
ASIの仕様に詳しくなりたい人は、セミコロンを省略しよう!
理解が浅いとバグっちゃうから、スリル満点だぞ!
0870Name_Not_Found
垢版 |
2019/06/29(土) 00:35:20.57ID:???
文頭セミコロンなんて初めて見た
0871Name_Not_Found
垢版 |
2019/06/29(土) 00:35:27.29ID:???
>>866
>>666
理解しろ派は省略派ではなかったろ
読解力を身に着けた方がいい
0872Name_Not_Found
垢版 |
2019/06/29(土) 00:37:05.61ID:???
セミコロン必須派ってなんでこんなに気持ち悪いんだろ
jQuery房と同質のものを感じるわ
0873Name_Not_Found
垢版 |
2019/06/29(土) 00:38:09.55ID:???
いや理解する必要があるのは省略派だろ
頭沸いてんのか
0874Name_Not_Found
垢版 |
2019/06/29(土) 00:39:32.34ID:???
内容に反論できなくて結局人格否定に走るしかないのねw
哀れみw
0875Name_Not_Found
垢版 |
2019/06/29(土) 00:40:27.71ID:???
めりっと
・ASIの仕様に詳しくなれる
デメリット
・意図しない関数呼び出し
var a = []
(function () {})() //=> [] is not a function
・意図しないreturn文
return
a + b
・ダサいスタイル
;(function () {...})()
![1,2,3].map(...)
0877Name_Not_Found
垢版 |
2019/06/29(土) 00:41:47.53ID:???
ASIの仕様を実践できるのはセミコロン省略派だけ!
君もセミコロン省略派になって、セミコロン省略スタイルでしか役に立たない知識を身に付けよう!
0878Name_Not_Found
垢版 |
2019/06/29(土) 00:42:22.77ID:???
むしろ、セミコロン必須のメリットが突っ込みどころ多すぎた
0879Name_Not_Found
垢版 |
2019/06/29(土) 00:43:41.27ID:???
![1,2,3].map(...)
これ全然直感的じゃないよなw
もうセミコロンさえなければ何でもいいという執念を感じるw
0880Name_Not_Found
垢版 |
2019/06/29(土) 00:44:21.22ID:???
今度はショートコーディングに論点をずらし始めた
0881Name_Not_Found
垢版 |
2019/06/29(土) 00:44:56.49ID:???
つける派のメリット
>>796で書かれているとおり
デメリット
つけない派の根拠0の執拗な攻撃に遭う
0882Name_Not_Found
垢版 |
2019/06/29(土) 00:45:45.42ID:+30BoMTG
>>879
というか、SyntaxErrorだし
0883Name_Not_Found
垢版 |
2019/06/29(土) 00:47:31.38ID:???
借り物の言葉で満足するのが必須派か
0884Name_Not_Found
垢版 |
2019/06/29(土) 00:47:58.88ID:???
「文末にセミコロンなんて付けたくない! 死んでも付けないぞ!」

>>865

「ぶ、文頭ならおk」

なんでや…
0885Name_Not_Found
垢版 |
2019/06/29(土) 00:49:24.86ID:???
>>883
そりゃ俺らの言葉なんかより権威ある出所からのお言葉なら大満足でしょ
0886Name_Not_Found
垢版 |
2019/06/29(土) 00:50:57.45ID:???
☆セミコロン占い☆
セミコロンを省略しちゃうあなたは見た目に騙され本質が見えないタイプ。
プログラミング言語はRubyがお似合いかも!?
0887Name_Not_Found
垢版 |
2019/06/29(土) 00:51:08.15ID:???
>>885
そして、別の権威者が反対の事を言い出したら、意見を100%反転させるのだな
0888Name_Not_Found
垢版 |
2019/06/29(土) 00:52:38.45ID:???
>>887
話そらしてばかりだね。どこに行くの?
0889Name_Not_Found
垢版 |
2019/06/29(土) 00:53:35.71ID:???
今時、コーディング規約を思考停止で守ってる奴は珍しくない
意味を分かってないから、タイプミスや修正漏れは日常茶飯事
0891Name_Not_Found
垢版 |
2019/06/29(土) 00:55:29.80ID:???
必須派ワー必須派ワー
相手にケチつけてばかりで何もメリットを語れない省略派w
大脳新皮質も省略してしまったのだろうか?w
0893Name_Not_Found
垢版 |
2019/06/29(土) 00:57:08.55ID:???
そうか?
必須派もケチつけてばかりじゃあないか
0894Name_Not_Found
垢版 |
2019/06/29(土) 01:05:00.08ID:???
let i = 10
do
console.log(--
i
)
while (i)

こんなのアリなのか
初めて知った
0895Name_Not_Found
垢版 |
2019/06/29(土) 01:09:22.03ID:???
■セミコロン必須派の主張
- 同じ文章を何度もコピペ
- 「つもり」を後付け
- 誤認によるセミコロン省略は「タイプミス」
- 作業工程を理解しても「タイプミス」「修正漏れ」「minifyによる圧縮」のミスは起きる
- セミコロン必須でも「タイプミス」「修正漏れ」「minifyによる圧縮」のミスは減る
- 作業工程も仕様も理解していてもミスるからセミコロンはつけよう
- 立証責任を放棄して相手に説明要求
- 答えを何度もはぐらかす
- ID:lh1CUoFSと省略派の区別がつかない
0896Name_Not_Found
垢版 |
2019/06/29(土) 01:11:11.28ID:???
元々セミコロンがある前提でスタートしたJavaScript
ASIはつけ忘れた時の補完用でしかないとは作者の言葉だ
セミコロンが嫌なら別の言語に行くべきだ
0897Name_Not_Found
垢版 |
2019/06/29(土) 01:18:07.59ID:???
i = 10; do console.log(--i); while (i)
i = 10; do console.log(--i); while (i) i = 10; do console.log(--i); while (i)
はokで
i = 10 do console.log(--i) while (i)
はエラー、なのか
0898Name_Not_Found
垢版 |
2019/06/29(土) 01:22:04.34ID:???
const f1 = function () { console.log(1) } const f2 = function () { console.log(2) }

f1() f2()
もエラー、と
0899Name_Not_Found
垢版 |
2019/06/29(土) 01:29:49.12ID:???
const a = 1
2
console.log(a)
はokで

const a = 1 2
とか
const a = 1
2 console.log(a)
とか
const a = 1 console.log(a)
とかはエラー、か
0900Name_Not_Found
垢版 |
2019/06/29(土) 01:30:31.45ID:???
このようにセミコロンを付けるとこんな気持ち悪い書き方ができます。
0902Name_Not_Found
垢版 |
2019/06/29(土) 01:48:43.84ID:???
minification 絶対にしないことが保証されているなら
セミコロンは省略しまくって良いんだろうね
0903Name_Not_Found
垢版 |
2019/06/29(土) 01:59:53.60ID:???
minificationは関係ない。なりすまし工作乙。
0904Name_Not_Found
垢版 |
2019/06/29(土) 05:29:01.38ID:???
ES6ってみんな使ってる?
0905Name_Not_Found
垢版 |
2019/06/29(土) 06:45:26.25ID:???
実際はセミコロン省略向けLintの設定もあるんだし
省略したからと言ってなにか問題になることはないよね
0906Name_Not_Found
垢版 |
2019/06/29(土) 07:05:49.89ID:???
これもう宗教論争だからね
善悪二元論でやりあってるうちは永遠に決着しないよ
0907Name_Not_Found
垢版 |
2019/06/29(土) 07:10:23.85ID:???
ifとかの{}も省略したらあかんのかな
0908Name_Not_Found
垢版 |
2019/06/29(土) 08:52:35.75ID:???
セミコロンね
もうすぐ暑い夏か
0909Name_Not_Found (ワッチョイ 138f-QRBW)
垢版 |
2019/06/29(土) 09:34:29.64ID:OPCKDJxz0
>>907
if ( condition )
// do something

なら問題ないよー
セミコロンの有無での差は、これから確認してみるね
0910Name_Not_Found
垢版 |
2019/06/29(土) 09:46:42.70ID:???
有名どころだとBootstrapがセミコロン省略派
よって、省略しても大規模プロジェクトできるのは証明済
好きにすりゃいいと思う
0911Name_Not_Found (ワッチョイ 138f-QRBW)
垢版 |
2019/06/29(土) 09:47:01.04ID:OPCKDJxz0
>>905
一部の mifniiier だとエラーになる可能性があったようだけど
今は全然問題ないの?
0912Name_Not_Found
垢版 |
2019/06/29(土) 09:53:47.40ID:???
セミコロンはPrettierがつけるもの
0913Name_Not_Found
垢版 |
2019/06/29(土) 09:57:21.06ID:???
Bootstrapを大規模っていうのはちょっと違うかな?
まあいいや、とにかくminifyも問題ないので
宗教論争してもしょうがないね

自分はセミコロンなんて基本prettierに打ってもらえばいいじゃん派です
0914Name_Not_Found (ワッチョイ 138f-QRBW)
垢版 |
2019/06/29(土) 10:01:51.78ID:OPCKDJxz0


先日の integer 問題ですが
console.log(Number.MAX_SAFE_INTEGER)
とかが参考になって、整数どうしの演算でも相応の範囲で誤差がでないっぽい…?

「拡張倍精度浮動小数点数」とか「四倍精度浮動小数点数」だと話が変わるっぽい…?


正確な所は今から調べるんで、妙なことを書いてたらごめんなさい
0915Name_Not_Found (ワッチョイ 138f-QRBW)
垢版 |
2019/06/29(土) 10:16:21.73ID:OPCKDJxz0
>>904
"ES6" が何を指すかによるんじゃないかなあ…?
「どういう機能を使い、どういうモノは避ける」みたいなのが示されれば、具体的な話も出来るかも

極論 IE11 でも「ES6 の範囲のだけど IE11 で問題ない」モノなら…
0916Name_Not_Found
垢版 |
2019/06/29(土) 11:02:11.44ID:Idr4GD0T
あるテキストをテキストエリアに入力
それを.element1.value で取得して整形
整形したテキストを element2.textContent で別のテキストエリアに出力
てのをやってる。
ここまではうまく出来た。

で、出力用のテキストエリアのテキストを、JSからじゃなくて、キーボードとか普通の方法で一度変更したりすると
その後JSから .textContentを使って出力ができなくなる。

これどうして?回避方法ある?
0918Name_Not_Found
垢版 |
2019/06/29(土) 12:19:05.04ID:Idr4GD0T
>>917
value でできました。
最初 value でやってたけど出来ないからtextContentにしたんだけど
なんでだろう…。
最初はボックス一つでインプットボックスにアウトプットしてたからなのかな?
0919Name_Not_Found
垢版 |
2019/06/29(土) 12:45:07.21ID:???
>>914
JSのNumber基本数値はDoubleなんだから
Doubleで整数が1刻みで表せる値の間に計算結果が収まる限り誤差は出ない
それかNumberの代わりにBignumを使うと良い
0920Name_Not_Found (ワッチョイ 138f-QRBW)
垢版 |
2019/06/29(土) 13:18:53.54ID:OPCKDJxz0
>>919
御返答、ありがとうございます。

Chrome 75 系では
console.log(typeof 1152921504606846976n)
は bigint でした。



MDN では Firefox 68系で BigInt のサポートが始まる予定と書かれていますが
ベータ版で確認してみるのも手…なのでしょうか

なにぶん今 Windows8.1 なので、カナリア EDGE は…他に影響ないなら使ってみても良い…?
0921Name_Not_Found
垢版 |
2019/06/29(土) 18:11:31.50ID:???
必要なら躊躇せず使えばいい
もしくはwith-proxyでも実装は大変だがスマートにかける
それか面倒くさいbigint系ライブラリで妥協するか
0922642
垢版 |
2019/06/29(土) 18:17:03.19ID:???
(*´艸`*)
0923Name_Not_Found
垢版 |
2019/06/29(土) 20:10:44.38ID:Idr4GD0T
ぐぐるとjsfiddleをvimモードで操作できるってかいてるけど
vimなんて選択肢keymapにないけどどういうこと?
0924Name_Not_Found
垢版 |
2019/06/29(土) 20:15:20.16ID:Idr4GD0T
自己解決
vimはなくしたようですね。
0925Name_Not_Found
垢版 |
2019/06/30(日) 18:01:04.75ID:5hpWwe94
DOMSubtreeModifiedが非推奨とのことですがどのように書き換えたら良いでしょうか?

<div contenteditable></div>
<div contenteditable></div>

document.querySelectorAll( "[contenteditable]" ).forEach( function( value ) {
value.addEventListener( "DOMSubtreeModified", function( event ) {
console.log( value.innerText )
});
});
0926Name_Not_Found
垢版 |
2019/06/30(日) 18:13:26.97ID:???
残しといていいんじゃない?
MutationObserver使えるブラウザの時だけ使うようにすれば
0927Name_Not_Found
垢版 |
2019/06/30(日) 18:44:01.25ID:???
document.querySelectorAll("[contenteditable]").forEach(node => {
new MutationObserver(records => {
console.log(node.innerText);
}).observe(node, { childList: true, subtree: true });
});
0929Name_Not_Found
垢版 |
2019/07/02(火) 01:38:44.20ID:???
質問です
同一平面上に散るn個の点の
他の点との距離を全て計算したいんですが
どうすると計算回数少なくなりますかね?
0930Name_Not_Found
垢版 |
2019/07/02(火) 06:01:37.29ID:???
プログラム板のアルゴリズムのスレで、聞けば?
0931Name_Not_Found
垢版 |
2019/07/02(火) 07:12:15.30ID:???
WebGLを利用してマトリックス演算するのが最も速い
0932Name_Not_Found
垢版 |
2019/07/02(火) 09:36:14.53ID:???
誘導されて来ました。
JavascriptでDataTablesが使われているときに
左上のselectをTampermonkeyから自動でselectedにしても
表が更新されません。
どうすればいいのでしょうか。
0933Name_Not_Found
垢版 |
2019/07/02(火) 19:12:57.71ID:???
・特定のイベントを起こす
・スクリプトに介入して関数を実行する
・今ある表は消して自分で表を作る
0934Name_Not_Found
垢版 |
2019/07/03(水) 17:35:35.77ID:???
初心者の質問ですみません
スクリプト側から「今ブラウザが(どの程度)アイドル状態か」を知る方法ってどんな手があるでしょうか?
タブを開いている最中(読み込んでいる最中)だとか、CPU負荷だとか色んな指標がありますが、
少なくとも今時分のタブだけじゃなく、ブラウザ全体での負荷量や作業量が知りたいのですが。
0935Name_Not_Found
垢版 |
2019/07/03(水) 18:03:50.92ID:???
いちサイトのスクリプト風情が、ユーザー様のブラウザのリソース情報をぶっこ抜きたいという話?
0936Name_Not_Found
垢版 |
2019/07/03(水) 18:11:10.87ID:???
>>934
スクリプトからは自分の情報しか見れません。
他の情報は見れたら困る。絶対禁止。
0937Name_Not_Found
垢版 |
2019/07/03(水) 18:45:59.62ID:???
へー、どうやってスクリプトから自分の情報見んだよ。書いてみろよ。
0938Name_Not_Found
垢版 |
2019/07/03(水) 19:43:32.92ID:???
>>934

タブ割当メモリを見る(他のタブにも影響される)
performance.memory (.measureMemory策定中)

CPUの稼働状況を測る
performance.profile()

表示負荷を書けたくない描画は
requestPostAnimationFrame

アイドル中に処理がしたければ
requestIdleCallback

システムがロックされていたり、ユーザーのアイドル状態を検知するには
IdleDetector
0939Name_Not_Found
垢版 |
2019/07/03(水) 20:35:09.81ID:???
>>938
ありがとうございます
まさにrequestIdleCallback が目的のことに使えそうでした
急ぎではない処理を、ブラウザの他の重い作業(他のタブの作業やブラウザアドオン等)の邪魔をせずに始めたい
(そうしないとブラウザが果てしなく重くなり自分にとっても操作が緩慢になるだけなので)という要求があったのですが
こういう機能がついたということは他の人にとってもこれが欲しい状況はあるあるだったのでしょうね。
それにしてもこういう便利な機能を網羅的につらつら読んで知っていける本ってあるのでしょうか
0940Name_Not_Found
垢版 |
2019/07/03(水) 20:58:00.20ID:???
>>939
とりあえずここでも見たら?
https://www.chromestatus.com/features
HTML5ムーブメント時代からの重要点が1500項目くらいにまとまってるので
HTML、HTML5の基本を勉強してこれを全部読み、さらに興味があるものを深掘りするのが良いと思う
0941Name_Not_Found
垢版 |
2019/07/04(木) 12:00:10.54ID:???
質問です(初心者です)

{(ストレージなど)を読み、加工して、書き込む}、という一連の処理部分があるとします、
そこを実行してる時に他の同類の処理が並行して走ると、ストレージの加工の前後関係が崩れてしまうという時に
{}内の動作だけは他の(タブやスレッドの?)処理を止めたい、割り込まれたくない、という時はどうしたらいいんでしょうか?
0942Name_Not_Found
垢版 |
2019/07/04(木) 12:36:44.39ID:???
>>941
一連だけど同期的じゃないんだよね
ほぼ同期的ならIDBでwriteモードで開けば
その間は他はwriteモードで開けない
汎用的にやるならLock APIを使って皆で管理する
0943Name_Not_Found
垢版 |
2019/07/04(木) 16:11:12.75ID:???
DBで制御するという手は打てない?
0944Name_Not_Found
垢版 |
2019/07/05(金) 07:07:43.26ID:???
DBに制御する機能が無いなら
皆でルールを守って使うということになる
0945Name_Not_Found
垢版 |
2019/07/05(金) 13:01:21.41ID:???
ユーザからの入力文字数を一定以内に制限する必要があるのですが、
CSSで使える色名は何文字にするのが良いでしょうか?
rebeccapurpleのようにいきなり色んな理由で長名の色が入る事があるのではないかと危惧しています。
かと言って合理的で最小限の数値としてその数字を選んだ根拠を示さないと行けないので十分余裕を持って50文字とか、ちょっとキリ良く20文字位にする的な決定はできません。
0946Name_Not_Found (ワッチョイ 238f-26dl)
垢版 |
2019/07/05(金) 13:58:08.51ID:yJLLMlRM0
>>945
LineモバイルのID入力欄はこんなかんじ

<input type="text" name="loginAccount" class="md01InputTxt FnRequired FnOneByteAlphabetNumeric FnMin FnAllowEnterToGo"
maxlength="20" minlength="6" placeholder="ログインID" value="" />
0947Name_Not_Found (ワッチョイ 238f-26dl)
垢版 |
2019/07/05(金) 13:59:47.06ID:yJLLMlRM0
>>945
> CSSで使える色名

hex強制で6文字とか
0948Name_Not_Found
垢版 |
2019/07/05(金) 14:00:18.21ID:???
<input type="color">じゃダメなんですか?
0949Name_Not_Found (ワッチョイ 238f-26dl)
垢版 |
2019/07/05(金) 14:01:49.05ID:yJLLMlRM0
hexだと "6" だな
16進数強制で最大6文字(だめか)
レス数が950を超えています。1000を超えると書き込みができなくなります。

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