+ JavaScript の質問用スレッド vol.124 +
■ このスレッドは過去ログ倉庫に格納されています
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.123 +
https://mevius.5ch.net/test/read.cgi/tech/1491143438/
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:: EXT was configured HTML/CSSと勉強してきて、JavaScriptの勉強を始めました。
if文やfor文が出てくると一気にプログラミングを勉強してるって感じになりますね。 自分が「プログラミングできます」と言われたいだけがために
HTML/CSSをプログラミング言語の仲間にしたい。 HTML/CSSのプログラマですが質問ありますか? プログラミング言語の定義は知らないが
コンピュータに命令する言語とすれば、HTML/CSSも立派なプログラミン言語だよ。
JavaScriptより高水準のね。 >>725
きみは低悩
>>726
きみも低悩
これはわたしだけでなくプログラマー99.9999999%のみんなの認識だ。 低脳ザルたちは頭が悪いからそれを良く見せようと必死。 私プログラミングが趣味なんです
へえ、どの言語やってるんですか?
HTMLです HTML/CSSプログラマは
XMLやJSONもプログラミング言語だと思ってるの? おれトップレベルのhtml css使いだぞ
年収はお前らの5倍くらいある RPGツクールはプログラミング言語ですか?
マインクラフトはプログラミング言語ですか?
ポケモンピカチュウをバグらせるのはプログラミング言語ですか? 英語の動画見てるとhtmlをプログラミング言語と呼んでるな 「HTML CSS チューリング完全」と検索してみるが良い。
我々がなぜこ奴らをプログラミング言語とみなしているか理解できるであろう。
そして、プログラミング言語であることを理解せずに使えば、セキュリティ穴になるのだ。 >>731
あなた低脳ザル
>>733
You are another tiny-brain monkey. 74 デフォルトの名無しさん (ワッチョイ 372f-IS5D [218.220.251.107]) 2021/11/20(土) 20:02:17.98 ID:4VXr5Xxs0
仕事で使ってるサイトをJavascriptで自動化できませんか?
たとえば出勤と退勤のときの時間を管理するのに「勤次郎」というサイトを使ってるんだけど
毎回ログインしたあといちいち入力するのが面倒くさい。 プログラム中でs=文字列という形でsに文字列を格納しました
これをクリップボードにコピーするにはどうしたらいいでしょうか?
ちょっと調べるとselectしてcopyするようなのが出てきたのですが、
変数だけで具体的に文字列をselectできるわけではないのでうまくいきませんでした 218.220.251.107は半年の間にずいぶん偉くなったもんだな >>737
半年前な上、スレチだけど
そういうのを自動化したいならRPA使った方が早いって今更だけどアドバイスしたい……
UiPathとか使えばわりとサクッと実装できる タコペッティのユーチューブチャンネルより
・週4日勤務の導入て゛、従業員の生産性も、幸福度も、お客さんの満足度も、全てが向上するという事実ww
・【朗報】日本企業、めちゃめちゃ働きやすくなっているw
・職務範囲も勤務地も不明確な正社員ってオワコンし゛ゃね?受け持つ仕事が辞令
ひとつで変更になり、勤務地も会社都合で決まるって冷静に考えてヤバすぎだろ...
・1つの会社に長く勤めるのはもう辞めませんか?勤続年数が増えるほど、生産性は下がります...
・リモートワークとかもう古いからw これからは働く場所も時間も自由に選べる「ABW」の時代です
・【悲報】上場大企業の年収、スタートアップ企業とほぼ同じであることが判明w
え?大企業に行く意味ある...?
・【悲報】有名大学を出て大企業に入るという勝ち組ロード、完全にオワコン... >>727
それを成立させるために何億人いるんだよ、プログラマ constだとあとで再代入可の変数にしたい場合letに書き直すのがめんどくさいから
最初からconst使わずに全部letにした方がいいのではないでしょうか? 俺も全てlet使ってる
流石にvarは使わない
何がおかしいのかさっぱりわからない 【渡辺裕之(66)】 ワクチン鬱? 【上島竜兵(61)】
://egg.5ch.net/test/read.cgi/cafe60/1652426631/l50
質問です。
予め指定したフォルダ内にある全てのファイル名を読み取るにはどうするといいでしょうか? >>754
サーバのフォルダならサーバサイドスクリプトで読み取る >>755
ありがとうございます。
やってみます。 ちゃんとした他のプログラミング言語と足並みを揃えるべくES6でスコープを考慮した結果がletのはず
最近出版された本でもvarを使っているのはなんなのか… どう覚えているのか知らないが、varは禁止されていない
var,let const,関数宣言を全て使いこなすのがベスト 関数コードを巨大にしなければ、関数スコープで十分な局面は多い
パフォーマンスへの影響を踏まえて使い分けてるな バベルからトランスコンパイルしたらvarって出てくる 再宣言と巻き上げに関するバグを生むリスクを取ってまでvarを使う場面があるのかね varは初期の数ヶ月から数年の期間Netscapeでは
function F() {var v = 'v';} ;alert(F.v);// v
だった。これは今でいう
class C {static s = 's'} C.s// s
constはmozillaで99年から00年に普通にみんなに使われるようになった。ただし細部で約20年後(というか約15年後かな)の今の仕様とは違う。
あと JScript .netでもconstは使えたから、複数のプラットフォームで20年選手ということになる。
letも今のものとは細部で違うが、私は2007年初期にJS1.7で使っている。
この時期のpython化は黒歴史になっているから、comprehensionは完全に消されたな。
当初は[for (i in [0, 1, 2]) i]と書けた。これは[i for i in range(3)]のこと。
inじゃなくofになって、今はそれも消されたな。
しかし残っているものの方がむしろ多くて、let以外にも分割代入なんかもこの15年前から10年前くらいまでの黒歴史期間で導入されていた。
で、何が言いたいかというと、let要らないんだよな。だって、comprehensionでlet/const無しでレキシカルスコープ実現できてたじゃん。
だから、レキシカルで初登場時に暗黙のletでいいじゃんって思う。 javascript → varを非推奨
c# → varを推奨
これだから動的言語は欠陥なんだよな 話の腰を折って知識の開陳したいだけならよそでやってくれるかな 最近勉強を始めた初学者です
参考書には基本的にletで記述されています
varはこんなのもあるよって感じで紹介だけだなあ 日本国内でjavascriptのプログラマは何人いるのでしょうか? >>771
ええーーーーーーーーーーーーーーーーー。
そんなにいるの? javascriptは初心者向けだから半日もあればマスターできるぞ >>776
未だにthree.jsすら使えこなせない俺って…。
で、javascriptのプログラマーは日本国内でどれ位いる? プログラマーであればjavascript使えるからほぼプログラマー人口と同じくらい >>779
https://hrzine.jp/article/detail/2123
日本人プログラマーは約100万人。
でもjavascriptを使いこなせている人はそんなにたくさんいるかな? >>781
そもそもその統計はおかしい
一人でいくつも言語を使うのが当たり前
4.4%ってのはjavascript「しか」使えない人口だろう
ということはやはりjavascriptを使える人口は100万人に近くなる >>782
アンケートでは、現在使っているプログラミング言語を3つまで挙げてもらった。
JavaScriptは2位。
最も使っている言語を1つだけ挙げてもらった。
上位3位で43.2%を占める。
100万人?43.2%で約4万3千人位がJavaScriptを使えるかと。 >>785
すごい
43万人がjavascriptのスペシャリストプログラマー
残りの57万人もほぼ使えるのだろうが初心者向け言語だから重視していないんだろうな element.animate(
{
left:["100px","200px","300px","400px","500px"]
},
{duration:6000}
);
というアニメーションの場合で
leftが100px,200px・・・500pxになった毎にalert表示したいんだけどどうやればできますか?
各位置に達したら発生するイベントはないんでしょうか? for(const left of ["100px","200px","300px","400px","500px"]){
await element.animate({left}, {duration:1200, fill:'forwards'}).finished
alert(left)
}
こんな感じだろうが、うちのブラウザではalertと非同期処理の相性が悪くて
期待通りには動かんな >>789d
どうもっす
awaitっていうのは何ですか?あと1200という数字はどこから来たんですか? >>790
横からだけど、awaitはpromiseオブジェクトの解決(成功・失敗)まで待機する構文
1200は6000(6秒)をキーフレームの数(ループ回数=5)で割ったもの >>789
理屈は分からんけどダミーのアニメーションか何かを挟むと上手くいくっぽい
https://jsfiddle.net/0c3hmbok/ >>793
>>789の書き方だとプロミスチェーンされないからだと思います
await element.animate({left}, {duration:1200, fill:'forwards'}).finished
await alert(left)
でいけました
await element.animate({left}, {duration:1200, fill:'forwards'}).finished.then( () => { alert(left) } )
でもOK >>794
うちの環境だとalertにawait付けただけでは上手くいかなかったのよ
http://jsfiddle.net/m3pq6djw/
ダイアログでOK押したときに●がワープしない? >>795
確認しました
朝はSafariだったので
SafariとFirefoxではそもそもawaitつけなくても>>789で問題なく動く
Chromeはawaitあるなし関係なくダメ、全体をthenに書き換えてもダメ
ちなみに全てMac版です
色々試してみた感じ
Chromeはalert()のダイアログを出したタイミングで次のPromiseを実行する
画面は止まってるが計算は実行されているので、OKでダイアログ閉じた時に辻褄合わせでワープする
SafariとFirefoxはダイアログのOKボタンを押したタイミングで次のPromiseを実行する
それまで画面も計算も止まってるのでダイアログ閉じてからアニメーションが始まる
かなあと思ったりしましたが、実際のところはわからないです
まあでもChromeで動かないならダメですね 戻り値のある confirm() や prompt() ならイケそうな気がするけど、どうだろう >>795をawait confirmに変えてみたけど挙動は変化なし そりゃPromise返さないやつにawait付けたところで変わるわけないわな
chromiumのモダールダイアログの処理に問題あるんだろうね awaitの後の式の値がPromiseでない場合はPromise.resolve()に変換されるってことなので
最初はそこかと思ったんですよね
>>793がどうしてChromeでちゃんと動くのかを考えたんだけど
おそらくChromeはダイアログ出した段階でPromisebフ中身を実行しbトるけど
OKを押すまでPromiseの状態は変えないんだと思います
つまりダミーのアニメーションはすぐ実行完了するけどOKを押すまではPendingなので次に行かない
なのでPendingで返却してすぐにFulfilledになるPromiseにすりゃいいのではと思って試したら多分できた
https://jsfiddle.net/v2c7baL3/ ようやく大手を振ってIEサポート拒否出来るわ
IEモードなんて知らん クラス内のコンストラクタについてこの認識で合ってますか?
constructor(引数){this.プロパティ名 = 値;}
1.受け取った引数は値に格納され
2.インスタンス生成することで値が「this.プロパティ名」に代入され
3.同時に「this.プロパティ名」はインスタンスに渡される。
ググれどググれどページによってニュアンスが違くて混乱しております。 setInterval内でループ毎に変化するelementがあってそのelementに対してのaddEventListenerを使う場合は
イベントが蓄積されていくからremoveEventListenerでループ毎に削除する必要があるけど
プロミスは1回のイベントが実行されれば蓄積されないので削除しなくていいって聞いたけど正しいんですか? >>796
animateを関数で囲ってanimation.finished.then毎にその関数を再起呼び出しでできました これだと、単に変数に文字列 "a" を代入しただけに思えるけど
どうしてobjのプロパティが代入されるんですか?
const obj = {a: 10, b:20};
const num = 'a';
console.log(obj[num]); // 10 >>805
下記は共にオブジェクトのaプロパティを参照する式で、結果としてaプロパティの値が得られる
obj.a
obj['a'] >>805
console.log(obj['a']) で同じ動作になるから obj[num]のnumが評価されてobj[‘a’]になる
さらにobj[‘a’]が評価されて10になる varだとこのように書けるけど
if(a > 1){var b = 0;}
else{var b = 1;}
alert(b);
letだと
if(a > 1){let b = 0;}
else{let b = 1;}
alert(b);
のようには書けないので
let b;
if(a > 1){b = 0;}
else{b = 1;}
alert(b);
と書くしかないので行数が多くなるのでvarの方が使える場面もあるってこと? >>809
varは「既存コードとの互換性目的で残されているだけ」であって、利用禁止が大前提
無意味にletを使うのもやめた方がいい
例1 - 名付けあり
> const b = a > 1 ? 0 : 1;
> alert(b);
例2 - 名付けなし
> alert(a > 1 ? 0 : 1); >>809
あなたにとってはそうなんだろうが、letの方が宣言か一箇所で済む分、わかりやすく感じる
最も、そのコードは三項演算子で1行に出来るから比較する必要はないが とりあえず、[180.12.82.129]は何か反応したら? iPadでJavaScriptの勉強したいんやけど可能?
一応外付けのマウスキーボードはあって、OracleのJava bronzeを取りたいんたけど。 var は使っちゃいけない。
スコープとか、色々とややこしいから、バグるだけ
そういうのを研究していない人には分からないし、
研究するだけ時間の無駄
varを使うな、という結論だけを使えばよい >>817
結局、何を知りたかったのか
さっぱり、わからないな >>816
JavaかJavaScriptかはっきりしてくれ javascriptでフォーム作ってます。
java scriptからメールを送る方法ってどんなのがありますでしょうか? ■ このスレッドは過去ログ倉庫に格納されています