+ JavaScript(ECMAScript)質問用スレッド vol.123 + [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2016/12/21(水) 21:56:53.30ID:xYX0mlO/
プログラマ板の趣旨にあわせてブラウザ限定ではなくサーバーサイドJavaScriptや
トランスパイラなどの関連技術の話題も取り扱うように変わりました。
ECMAScriptの言語仕様の話題。最新ECMAScriptによるモダンな書き方、Promiseやasync/awaitを
使った非同期プログラミング。ES2015、2016、2017等の最新ECMAScriptをブラウザで今すぐ使う方法、
ビルド環境やbowerやnodeのパッケージを使う方法等、モダンなJavaScript環境についての幅広い話をしましょう。

ECMAScript対応実行環境一覧(ブラウザやbabelを含む)
http://kangax.github.io/compat-table/es5/
http://kangax.github.io/compat-table/es6/ (= es2015)
http://kangax.github.io/compat-table/es2016plus/
http://kangax.github.io/compat-table/esnext/

JavaScriptとは?
もともとMozillaの前身のNetscapeが作った言語であり本来のJavaScriptはFirefoxの実装のみです。
JavaScriptの正式な仕様名はECMAScriptです。ですが一般に使われているとおり
ChromeやEdgeで使う言語もJavaScriptとしてこのスレでは扱います。
Firefox等のJavaScript実装は最新のECMAScriptに準拠しています。

※DOMはブラウザが提供しているものでありJavaScript(ECMAScript)の範囲外です。
なのでDOMを使ったプログラミングは原則としてこのスレの対象外です。
DOMはwindowオブジェクト(ブラウザのホストオブジェクト)経由で
参照するもので、window自体、window.document、window.Workerなどです。
これに関する話題はWeb制作板の下記のスレに移動してください。

+ JavaScript & jQuery 質問用スレッド vol.7 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/hp/1467906819/
jQuery 質問スレッド vol.7
http://echo.2ch.net/test/read.cgi/hp/1478055094/
+ JavaScript の質問用スレッド vol.131 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/hp/1478053599
前スレ + JavaScript(ECMAScript)質問用スレッド vol.122 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1472401404
2022/09/16(金) 13:37:36.12ID:G8bkDvWT
スマホのタッチ操作でmouse系イベントが反応するのがおかしいって
言ってるなら歴史的経緯からしょうがないんじゃないの?としか
そうでないならもう少し詳しく説明してくれないと
2022/09/16(金) 14:54:53.25ID:OHD9WqSY
>>420
toutchendとmouseupそれぞれのリスナーの登録先要素は同一ってこと?
2022/09/17(土) 17:40:09.60ID:KeOmbx+c
結局なんでバグだと思ったのか分からずじまいか
2022/09/17(土) 18:45:19.49ID:KtpACeiA
>>421
しました
>>423
event_list = ["mouseup","touchend"];
for(let n=1;n<=event_list.length;n++){
element.addEventListener(
event_list[n-1],
function(e){
alert(event_list[n-1])
}
);
}
のようにやりました
2022/09/17(土) 18:53:13.89ID:hgMFE00Z
>>425
nousedownが発火したならmouseupも発火するのが当然だと思うけど
mousedownが発火したのもバグだと思ってるの?
2022/09/17(土) 21:37:01.55ID:Rws9F9Uc
ブラウザ上で音を合成するのに Web Audio を試してるところなんだけど、AudioContext の createBuffer で取得したバッファに波形を作り出して再生することはできた。
ただこれだと最初にバッファ長を決めないといけなくて、音の長さが有限になっちゃう。
途切れることなく延々と波形合成と出力をしたいんだけど、どうやればいい?
出力バッファの残りが少なくなったらコールバックで追加データを補充するような作りにできると都合がいいけど、とりあえずヒントになりそうなメソッド名だけでも助かる。
2022/09/17(土) 22:15:56.60ID:sjslDz3b
ググったらそれっぽいデモが出てきたけど参考にならないだろうか
https://weblike-curtaincall.ssl-lolipop.jp/portfolio-web-sounder/webaudioapi-basic/demos/demo-08
解説はこっち
https://weblike-curtaincall.ssl-lolipop.jp/portfolio-web-sounder/webaudioapi-basic/audio

そしてデモの一番最後にmouse系イベントとtouch系イベントをUAによって切り替えてる処理が書いてあって
バグかどうかはともかく同時にリスナー登録するべきではないのだろうということで>>420の件も片付きそう
2022/09/17(土) 22:33:23.87ID:KtpACeiA
>>426
タッチのときは
event_list = ["mousedown","touchstart"];で登録して
スマホだとtouchstartのみ発火でmousedownは発火しませんでした。
PCのクロームでF12キー押してスマホモードで確認しました
>>428
同時にやらない方がいいのですか
2022/09/17(土) 23:30:53.36ID:sjslDz3b
>>429
サンプル作ってみた
https://jsfiddle.net/ju1af0zk/
PCだとmousedownとmouseupのみが発火
Chromeのスマホモードとスマホ実機はそれに加えてtouchstartとtouchendも発火したけど
君の方でも試してもらえる?
2022/09/18(日) 12:49:02.81ID:KvWBek5z
>>430
スマホモードでタッチして1秒以内に指を離すと
mousedown,touchistart,mouseup,touchend全て発火ししましたが、
タッチしてから1秒以上経って指を離すとtouchstartとtouchendのみ発火でした。
2022/09/18(日) 13:29:46.60ID:LU3Ach7F
>>431
1秒以上押下でmouse系が反応しないのはタッチとマウスの操作性の違いを考慮しての挙動と思われる

>>429でmousedownが発火しなかったのはおそらくalertを使用していたのが原因
マウスやキーボードのイベントハンドラのデバッグでalertを使用すると後続のイベントに影響が出るので
consoleなどに置き換えた方がいいと思う

で、>>420のスマホでもmouseupイベントが反応するのはバグか?という問いに対しては
スマホがtouchイベントにしか反応しないとmouseイベントで書かれたページを操作できなくて困る
そのことに対する救済措置でありバグではないと推測するがどうだろうか
2022/09/18(日) 14:53:23.29ID:/WFyUhKA
そう短タップをクリックとみなすためのものだよ
ただし短タップ判定のためmousedown/mouseup/clickはtouchstart/touchendより若干ラグがある
touchstart/touchendで処理した際にマウスイベント発火させたくないならpreventDefaultする方法がある
2022/09/18(日) 19:49:26.31ID:KvWBek5z
>>432-433
なるほど、そういうことですね
ありがとうございました
2022/09/19(月) 10:20:03.23ID:e358EEgk
そもそもそんなメジャーなプロダクトをちょっと触っただけで発生するような現象を
バグだと疑ってかかるのはいかがなものかという話
436427
垢版 |
2022/09/20(火) 01:26:00.73ID:bmdVYeZu
>>428
うまくいった!
BufferSource.start には再生開始時刻を指定できるから、適当な時間で分割したバッファを開始時刻をずらして start しておくことと、
BufferSource 再生終了時イベント onended で新たなバッファを追加していけばいい。
2022/09/20(火) 07:14:05.18ID:U+nxunP6
触ったことない領域だったから的外れなものを紹介しちゃったかなと思ってたけど
役に立ったようなら何より
2022/09/25(日) 18:19:36.24ID:NBkQ89dh
#test{
width:80%;
heigh:auto;
}

このような記述のcssがあった場合cssからwidthやheightを取得したいです
この場合widthが80%、heightっがautoと表示されればOKです
2022/09/25(日) 18:37:13.46ID:6wI0gbs/
getComputedStyle()使えば良いのでは?
2022/09/25(日) 20:48:47.27ID:NBkQ89dh
>>439
それだとpx値に変換されてしまいました。
cssに書いてあるそのまんまの値を取得したいんです。
2022/09/25(日) 20:54:57.74ID:j4a4hJHC
element.getAttribute(style)とか?
442デフォルトの名無しさん
垢版 |
2022/09/25(日) 21:56:43.82ID:NBkQ89dh
>>441
それでやっても取得できませんでした
2022/09/25(日) 22:13:33.47ID:uX8AJ42Y
>>442
ちなみに、それができたとして何をしようとしてるの?
2022/09/25(日) 22:34:13.70ID:EaCGv7B5
CSS ファイルを読み込んで、パースするのは?
2022/09/25(日) 22:55:14.37ID:zdaeP7pS
>>438
適当だけどこんな感じで
https://jsfiddle.net/fk9wvacy/
2022/09/25(日) 23:38:35.06ID:NBkQ89dh
>>443
widthが固定値か相対値かで処理を分けたいからです
>>444-445
それで取得できました
447デフォルトの名無しさん
垢版 |
2022/09/26(月) 17:39:21.17ID:8Mkqo2SQ
>>445
同じファイルにある場合はそれでcssRulesを取得できたんですけど
外部ファイルに置いたcssをlinkタグで読み込んだ場合は
cssRulesが取得できませんでした。
外部ファイルのcssのcssRulesを取得するのは無理なんでしょうか?
2022/09/26(月) 18:32:01.21ID:0IZVhPem
どういう環境でどういうコードを実行してどういう現象が発生したのかが分からないと適切なレスを返すのは難しいよ

おそらくは↓にあるようなコードからCSSにアクセスする際の制限ではないかと思うけど
https://qiita.com/querykuma/items/930b20758b06c31d2af5
449デフォルトの名無しさん
垢版 |
2022/09/26(月) 21:43:25.19ID:8Mkqo2SQ
>>448
それでした
ありがとうございました
2022/09/26(月) 23:37:36.30ID:tIU7Oyti
VSCode の拡張機能では、

open in browser では、ローカルファイルアクセスになる。
この場合、CORS など、ブラウザの色々な制限がある

file:///C:/Users/Owner/Documents/test/index.html

一方、Live Server では、
自分のPC 内にサーバーを立ててから、そこから配信されるので、テストしやすい

http://127.0.0.1:5500/test/index.html
2022/10/12(水) 22:10:27.46ID:Olp59nr8
var str = "calc((100% - 50px) / 2)";

calc()で囲まれた部分を取り出すにはどうやったらいいですか?
(100% - 50px) / 2と表示されればOKです
2022/10/12(水) 23:59:28.98ID:MgHyirKs
>>451
// calc()で囲まれた文字列(マッチしなかった場合はnull)
console.log((str.match(/(?<=calc\().+(?=¥))/) ?? [])[0]);
2022/10/13(木) 12:45:47.55ID:+qrD4OAj
>>452
ありがとうございます
2022/10/17(月) 11:14:15.53ID:qbmXO5vw
「初めてのJavaScript 第3版」 を読んでます
訳者コメントで日本語識別子について触れてます
let 現在の温度 = 16;
let 目標温度, 部屋1 = "会議室A", 部屋2 = "ロビー";

こういうのです。日本語話者には分かりやすくていいんじゃないかと好意的な感じですが...

> let 渡辺 = { age: 25 } ;
> 渡邊.age
Uncaught ReferenceError: 渡邊 is not defined
こんなん混乱の元だと思うんですがどうなんでしょうね?
日本限定のサービスなら結構使われてたりするんでしょうか
2022/10/17(月) 13:25:44.34ID:L3ubOKNv
なんでもかんでも日本語識別子にはせんよ
業務専門用語満載のエンティティを相手にしなきゃいけなくて
いちいちそれっぽい英訳やローマ字にするよりは日本語そのままの方がマシって状況で
仕方なく使うぐらい
2022/10/17(月) 13:34:49.01ID:wQvuqrt2
日本語の変数は流石に使わないw
2022/10/17(月) 13:50:05.73ID:qbmXO5vw
ありがとうございます、やっぱそうですよね
2022/10/17(月) 14:20:57.28ID:2lEXNwmX
>>454
それ、今 ID にマルチバイト使用したいって案件で泣いてるw
正規化が糞めんどくさい
2022/10/17(月) 18:34:01.49ID:TyaUmXE3
cssのtransform:scaleで縮小した場合にできる余白を削除してくれる
フレームワークやライブラリってありますか?
なかったら独自で余白の削除しなければならないですか?
2022/10/17(月) 21:07:02.94ID:+L7TALMm
>>458
何のIDか分からんけど値がマルチバイトになるだけならこの話題と関係ないような気がするが
2022/10/17(月) 21:59:29.32ID:2lEXNwmX
>>460
識別子として渡邊を渡辺と正規化するかどうかって話だよ
アルファベットですらユニコード対応しようとすると糞めんどくさい
2022/10/17(月) 22:25:07.48ID:2bAT3HZB
つまり値としての"渡辺"と"渡邉"を別のものとするのか同じものとしてどちらかに寄せるかみたいな話?
確かに>>454は例として渡辺を出したけどもあくまで変数名やプロパティ名として
日本語を使用する際の問題点の一例として挙げただけであって
本質的には別の問題だと思うぞ
2022/10/20(木) 19:32:12.82ID:1MY58TDp
let a1 = []; // new Array()
a1.push("A","B","C");

let a2 = {}; // new Object()
Object.defineProperty(a2, "length",{ value: 0, writable: true, enumerable: false, configurable: false });
Object.setPrototypeOf(a2, Array.prototype);
a2.push("A","B","C");

console.log(a1.toString() == a2.toString()); // "A,B,C"
//→ true

console.log(a1.constructor.name == a1.constructor.name); // "Array"
//→ true

console.log((a1 instanceof Array) && (a2 instanceof Array));
//→ true

console.log(JSON.stringify(a1) + " is " + JSON.parse(JSON.stringify(a1)).constructor.name);
//→ ["A","B","C"] is Array

console.log(JSON.stringify(a2) + " is " + JSON.parse(JSON.stringify(a2)).constructor.name);
//→ {"0":"A","1":"B","2":"C"} is Object


Arrayインスタンス(a1)なのか 本当はObjectインスタンス(a2)だったのをArrayに偽装(※)したのか
なんらかの違いがあるから JSON.stringify は表示を変えているはずです (chrome, firefox, deno で確認)
この場合どこで区別がつくのでしょうか?

※コレで完全にArrayインスタンスになれるものと思っていました
2022/10/20(木) 22:22:36.37ID:Qviq37oM
>>463
JSON.stringifyはArray.isArrayで配列かどうかのチェックをして、それによって挙動を変えている。
で、Array.isArrayはそのオブジェクトがエキゾチックオブジェクトかどうかを判定基準のひとつにしている。
エキゾチックオブジェクトは内部仕様でArray.constructorからしか作れない。

というのがおそらく理由。
Array.isArray(a1)===Array.isArray(a2)の結果はfalseになる。
2022/10/20(木) 22:30:08.59ID:1MY58TDp
>>464
ありがとうございます。スッキリしました。
2022/10/27(木) 16:40:09.53ID:xPm8XhU2
let a = "0px";
let b = "1000px";
let animation = element.animate(
{
left:[a,b]
}
,
{
iterations:1,
direction:"normal",
easing:"ease",
fill:"forwards",
duration:1000
}
このアニメーションのleftを変数とするにはどうやればいいんですか?
2022/10/27(木) 18:15:16.28ID:66hPsSBQ
let name = "left";
let animation = element.animate( { [name] : [a,b] } , ...

こういうコト? 仕様のどこに書かれてるか知らんけどたぶんどの環境でもいけるはず
468デフォルトの名無しさん
垢版 |
2022/10/27(木) 18:20:15.80ID:xPm8XhU2
>>467
はい、ありがとうございます
2022/10/27(木) 20:04:48.47ID:29cHmaRp
const left = [a, b];
const animation = element.animate({left}, ...

一般的には上記のように渡す(変数名がそのままkeyになる)ことが多いけど、そういうことではなくて?
2022/10/28(金) 00:15:16.96ID:Rl5QKwW8
>>463
基本的なことだけど、

初心者は、あいまい等価演算子== を使わず、
厳密等価演算子=== だけを使うこと

型違いでバグるから、使ってはいけない。
ここは他の言語と違う
2022/10/28(金) 02:45:12.29ID:/a+XWn5x
と説教するやつがいるが、型をあいまいに扱えるのが良いところなのに。
2022/10/28(金) 09:33:25.27ID:qOB8x2Tq
特徴ではあるが単純に良いところと言い切るのには賛同できんな
2022/10/28(金) 11:45:54.02ID:s+7tvTuw
ウェブブラウザで動かすには実質 JavaScript しか無いから当たらないけど、例えばサーバサイドなんかでわざわざ PHP 使って型を厳密化するのはアホらしいと思うわ。
型に拘りたいなら JAVA でも使ってろよと。
474デフォルトの名無しさん
垢版 |
2022/10/28(金) 12:52:33.08ID:nPTtcj4U
厳格にしたくなったらtypescript使うしか無い
2022/11/25(金) 18:03:09.14ID:ZxlNEfue
ちょっとJavaScriptでも学ぼうかなと思って
「確かな力が身につくJavaScript「超」入門 第2版」
この本買ったんだけど、次におすすめの本ありますか?
将来的にはReact使いたいなぁと思ってる。

ちなみにC#が使える。
書くスレ違ったらごめん。
2022/11/25(金) 19:08:01.30ID:W2LSjUqV
C#が使えるならさくっとTypeScriptの本に進んでもいいんじゃないかな
2022/12/02(金) 20:10:41.79ID:gLaIiOiZ
>>475
C#使えるのなら本なんて読まずに書けばいいと思うが。
分からないことはMDN見ればいいし。

C#の方が仕様は大きい。
C#になくてJSにあるのはプロトタイプくらいだが、(俺は便利に使ってるが)
多くの連中は使わずにクラスで済ませてるから、多分何とかなるはず。
2022/12/10(土) 21:47:30.61ID:KkZaOQAz
animateでopacityを0から1.0まで1秒間で変化させる場合はopacity:[0,1.0]でduration:1000に設定すればいいけど
ただのaという変数を1秒間で0から1.0まで変化させるのはanimateではできないんでしょうか?
setIntervalしかないんでしょうか?
2022/12/14(水) 18:42:18.97ID:LMJXQuUu
JS変数のaならJSでやらないと無理。
animateはCSS。
480デフォルトの名無しさん
垢版 |
2023/01/15(日) 23:42:31.69ID:d0O5uYu1
どなたか教えてください。
document.getElementById("hoge").value = "fuga"
とか、JQueryで
$("#hoge").val("fuga")
とかで設定された値の変更を検知するにはどうすればいいのでしょうか?
changeイベントとmutation observerを試してみましたが、どちらも検知できませんでした……。
2023/01/16(月) 02:00:11.79ID:J/kqHiDI
自分で変えたなら
$("#hoge").val("fuga").change()
とでもすれば?
2023/01/16(月) 03:10:53.27ID:z00K4ENY
>>475
モダンJavaScriptの基本から始める React実践の教科書 (最新ReactHooks対応)、
じゃけぇ(岡田 拓巳)、2021

Udemy の人気講師。
仕組みに、重点を置いた本
2023/01/16(月) 03:14:40.59ID:z00K4ENY
その要素のvalue の変化をキャッチする、イベントは無いの?
2023/01/16(月) 03:43:59.55ID:O4/VkLb3
タイマー仕掛けて目的の値を監視するのが確実なんじゃないかね
更新前の値を適当なコレクションに保存しといて
俺はブラウザのイベント発火は基本信用してないからそうやってる
485デフォルトの名無しさん
垢版 |
2023/01/16(月) 09:45:36.03ID:OQ88hI+k
みなさんありがとうございます。
>>481
ライブラリからの変更を検知したいんです。それと要件に開発者ツールのコンソールとかから値変更されたのを検知するってのがあるので困ってます。
>>483
そのイベントがchangeイベントだと思ってましたが、スクリプトでの変更は検知してくれませんでした。
>>484
それしかないんですかね……。大掛かりな変更になりそうだ。
2023/01/16(月) 10:59:57.65ID:okTxFCHT
>>485
valueのgetter/setterをフックする
const target = document.getElementById("hoge");
const origHTMLInputElementValue = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, "value");
Object.defineProperty(target, "value", {
get: function() { return origHTMLInputElementValue.get.call(this) },
set: function(value) {
origHTMLInputElementValue.set.call(this, value);
console.log(value, this);
}
});
2023/01/16(月) 15:36:49.57ID:/gnOaT/k
>>480
>changeイベントとmutation observerを試してみましたが、どちらも検知できませんでした……。
書き方の問題かブラウザが古いかどっちかじゃないの?
特にmutation observerはきちんと設定してないと動かない
2023/01/16(月) 16:09:07.89ID:Zh/KqfQw
強いてイベント発火で値変化見るならonblur
489デフォルトの名無しさん
垢版 |
2023/01/16(月) 16:10:05.71ID:OQ88hI+k
>>486
ありがとうございます、この方法で解決できました!
inputエレメントが持っているvalueプロパティのsetメソッドを書き換えている、という理解でよろしいでしょうか?こんな方法があったなんて。
こちらは通常入力の変更は検知できないようなので、changeイベントと併用することになりそうです。
>>487
もう一度見直してみようと思います。inner HTMLは検知できたんですがoption周りをいろいろ試してみます。
ひょっとして、mutation observerで検知できるのはarrributeなのでvalueプロパティの変更は検知できないのかと思いました。開発者ツールで見てると、スクリプトから値変更するとブラウザ上は値が変わっているのにinputタグのvalueは変わっていなかったので。
2023/01/16(月) 16:32:10.86ID:/gnOaT/k
>>489
>mutation observerで検知できるのはarrributeなのでvalueプロパティの変更は検知できないのかと思いました。
これっぽいね
俺が検知してたのはsetAttributeしてたわ

あとはinputイベントを試してみるとか
2023/01/16(月) 21:23:27.64ID:/UXB7bFt
>>489
横だが486は個人的にはオススメしない。
ネイティブオブジェクトの拡張は大体ろくに動かない。
おま環だけで使うならご自由にだが、大体嵌ることになる。(から俺だったらやらない)
意味は486の通りフックだが、本来はデイジーチェインすべきなのでHTMLInputElement.prototypeのところはtargetが正しい。
(ただしプロトタイプを自前で辿る必要があるが)

が、問題は
> こちらは通常入力の変更は検知できないようなので
つまりGUIから変更した場合、setterを呼ばずに直接変更されるわけだが、
ネイティブの場合は大体これで、拡張される可能性を考慮されてないから、setterがそもそも探索されない。
オブジェクト指向の実装としては間違っているが、現行のブラウザがそうなってるのだから致し方なし。
結果、それは偶々動いているだけで、今後何らかの最適化が為された場合、
或いは現行でもJITの最適化の状況によって動作の違いがあり得る。

と言っても意味不明だろうが、要は、安定したものを作りたければ止めとけ。
2023/01/16(月) 21:24:34.09ID:/UXB7bFt
多分そもそも論、
> ライブラリからの変更を検知したいんです。それと要件に開発者ツールのコンソールとかから値変更されたのを検知する
が間違っている。
> changeイベントだと思ってましたが、スクリプトでの変更は検知してくれません
はJSの仕様だから、そのライブラリが実際に使えているのなら、
ただ単にDOMに対してvalueの変更だけでいけるはずであり、このためには

・jQueryみたいに毎回毎回DOMから値を引っ張ってくる
・shadowDOMみたいに元々getter/setterを挿入出来る構造になってる
・ライブラリ内でdispatchEventしてくれてる(この場合はユーザーはvalueの変更だけすればいい)

のどれかが必要で、そのライブラリの方針に合わせてきちんとやるべき。
また、後者(要件に…以降)はそんなの必要ないから用意されてないのであって、
JSは現在GUIのデファクトスタンダードになりつつあり、必要な物は全部一通り揃ってるから、
一通りも分かってない君みたいな奴が普通の人がやらないことをやろうとしてる時点で、
大体やり方を間違ってる。初心者あるあるだが。
要件定義した奴もJSの使い方を分かってないはずだから、完全に例の「顧客が本当に欲しかったもの」状態になってるはず。
もう一度仕様/要件を詰めた方がいいと思うよ。

と言ってもこちらも意味不明だろうが、要は、要求仕様をもう一度詰め直すべきだよ。
このままだと多分、使い物にならない何かが出来るだけ。
2023/01/16(月) 22:57:18.94ID:hEqhXl46
>>480
>$("#hoge").val("fuga")
の場合、val()関数を弄るという手法も無くはないかも
お仕事では勝手に使ってはいけない、モンキーパッチ
あくまでも参考として書いて置く

var orgFnVal = $.fn.val;
$.fn.val = function(...args) {
var result = orgFnVal.apply(this, args);
if($(this).is('#hoge'))
console.log('val() しました',this, args);
return result;
}
2023/01/16(月) 23:29:59.94ID:/UXB7bFt
それは意味的にはjQuery経由だけに効くprototype拡張であって、
なら480には生JSもあるのだから
直接 Object.defineProperty(HTMLInputElement.prototype,'value', ...) の方がマシだと思うけど。

ただこれらは禁じ手だし、そもそも何故禁じ手なのか理解出来ない奴に教えるべきものでもない。
親切のフリして余計に遠回りさせるのはどうかと思うけどね。
俺は知ってるアピールなら、競プロとかの馬鹿界隈でやれって話でさ。
2023/01/16(月) 23:58:14.87ID:hEqhXl46
知ったり試したりした上で取捨選択することで
各人の技術が洗練され、成長できる
2023/01/17(火) 00:20:02.34ID:JEqr52RV
input要素のvalue属性は、input要素の値を指定する属性

テキスト入力欄などにおいては初期入力値、
チェックボックスやラジオボタンにおいては選択した時にだけ送信する値、
送信ボタンなどにおいてはボタン名を表す

change イベントは <input>, <select>, <textarea> 要素において、
ユーザーによる要素の値の変更が確定したときに発行されます

input イベントとは異なり、
change イベントは要素の値 (value) が変更されるたびに発生するとは限りません

value属性、changeイベントを勘違いしているのでは?
初心者あるある

仮想DOM のVue.js みたいなReactive を使うか、
Ruby on Rails の作者DHH の会社・Basecamp 社製の、規約ベースの実DOM のStimulus を使うとか

Rails 7 からはHotwire(HTML over-the-wire)で、JavaScript を使わずに、Reactive になったけど
2023/01/17(火) 00:31:52.31ID:6Mcvdaqj
>>495
俺はそうとは全く思わないけど。
お前ら今でもIEデハーとかやる気なのか?

一通りも知らない初心者は、まず一通りオーソドックスにやる方法を学ぶべきで、
既に「やるべきではない」と(大多数にとって)結論が出ているものは学ぶ必要すらない。時間の無駄だ。
これに同意しないのも自由だが、それにしても、
まずは一般的手法で一通り出来るようになってからにするべきだよ。

とはいえ平行線だろうからこの話は終わりでいいが、
普通は必要もないことを初心者に実装させる事自体がかなり間違ってて、
それはそもそも発注元がJSに対して理解が全くなく、要求仕様自体がおかしいからだというのが俺の見立て。
初心者はこの辺の相場が分からないから、そこをサポートすべきであって、
余計な迷路を提示するのはどうかと思うけどね。


ついでに言っておくと、496も無視しとけ。
496はこの板ならどこにでも現れるRubyカスで、言ってることはデタラメばかりだから。
てゆうかさ、プロパティか属性かを区別してるときに、それは喧嘩売ってるだけだよな。
2023/01/17(火) 10:28:52.70ID:EvOewZJz
大山鳴動して鼠一匹
2023/01/17(火) 11:03:18.91ID:8cHzsSIh
上から目線長文のなんと醜いことよ
2023/01/17(火) 11:05:57.32ID:LsdbO2vC
長文と言うより分節区切りの問題みたいだな、中学の現国
2023/01/17(火) 21:33:20.67ID:6Mcvdaqj
ゆとりがゆとりをみちびく、だな。
(英訳:the blind leading the blind)

ゆとりは経験に学び、賢者は歴史に学ぶ。
ゆとりは既に老害だから、気を付けたほうがいい。
今更ドタバタの追体験+禁止の最発明なんて意味がない。
何故そうなったのかを学べば十分だ。
2023/01/17(火) 22:06:05.97ID:u6feWYF1
あまり強い言葉を使うなよ 弱く見えるぞ
を地で行ってるな
2023/01/18(水) 13:37:12.59ID:ywkFz3rg
黙っておいてやれよ…発狂して荒らされても知らんぞ
2023/01/18(水) 23:44:15.55ID:YB7E+1gX
>>503
ぼくがきにいらないひとはみんなあらし!!!
まあ予想通りではあるが、ゆとりは相変わらず人の言うことを全く聞かないよな。

冷静に考えてみろ、お前らが何か質問したとして、
ネイティブ拡張やプロトタイプ拡張を回答されて、お前らは嬉しいのか?

自分にされたくないことは他人にもしないのは、人間関係構築の基本中の基本だ。
満面の笑顔で遠回りを教え、教えられた方はそうとは知らないから感謝してて、
おいおいそれでいいのかよ?というのが俺のツッコミだよ。

リアルでやったらその後は二度と相手にされないことを、お前らは平気でやってる。
そりゃゆとりだけだと全然回らないだろうよ。コミュ障とかではなく、人間性の問題だ。
とはいえ散見されるのも事実なので、ゆとり的にはこれでも全然OKなのだろう。
俺ら世代でもリアル比でのネットのコミュ障とアスペっぷりには驚いたが、
当然ゆとりの方がネット寄りなので、酷さに拍車がかかってる。

お前ら、自分がしたい回答をしてるだけで、本当に相手に役立つ回答をしようとはしてないよね。
ただまあ、ネットなんてやったもん勝ちの奴が多いし、
そんなのばかり見てると人間性が崩壊していくのだろうが、
同様にそれを平然とやれる状態は、人間的にヤバイと認識するべきだよ。
ゆとりの場合はネット上ではモラルが完全に崩壊してる。さすがにそれは酷いだろ、が多すぎ。
とはいえ欧米デハー、観光客からはぼるのが当然だしそれを問題視もしてないので、
二度と会うこともない相手だと割り切った場合は自己満足の養分と化すのも自然な帰結かもしれんが、
そこで何とか踏みとどまるのがモラルだろ。
とか考えてると、ノブレス・オブリージュはモラルのない欧米連中の言い訳のように思えてきた。
2023/01/19(木) 00:15:30.42ID:yKIQo0Y8
ぼくはただしいことをいってる!おまえらはまちがってる!

こんな高圧的な長文垂れ流し誰も読まねーよ
2023/01/19(木) 23:45:50.16ID:xRL0DA+r
>>505
> ぼくはただしいことをいってる!おまえらはまちがってる!
これはお前らゆとりの方が酷い。自覚症状無いのはヤバイ。

> こんな高圧的な長文垂れ流し誰も読まねーよ
記録の意味もあるからいいし、お前が思っている以上に読まれてるよ。
2023/01/20(金) 00:03:18.44ID:iRDLQvZC
ちょっとしたことでこんな剣幕でまくしたてるやつがチームにいたら地獄やな
メンバーが萎縮するわ
2023/01/20(金) 00:28:32.40ID:ug0Vq2UM
馬鹿げた心配だよ
今どき即座に排除されるか周りが逃げ出すわな
2023/01/20(金) 09:26:34.95ID:kWSIgUgZ
>>506
おまえのゴミみたいな長文がブーメランしてるぞw
2023/01/21(土) 08:31:53.01ID:tPX67ut2
まあ実際ゆとりには、新人にネイティブ/プロトタイプ拡張をしれっと教えて
誰もそれを咎めず生暖かい目で見守るアットホーム()な職場!が大人気だしね。
だからこれは、次世代への注意喚起でもあるんだよ。ゆとりはこういう連中だというね。
2023/01/21(土) 08:47:16.51ID:bSb9HClO
しつこい
2023/01/21(土) 08:56:42.70ID:eqfJ/Cvo
ゆとり連呼のレッテル貼り人格攻撃
批判と中傷の区別もつかない幼稚性
やれやれ
2023/01/22(日) 00:30:09.43ID:ZRRM57Oq
>>511
んー、やっぱりゆとりは常に

ぜったいぼくがただしいんだ!!!ゆとりさまであるぼくにちゅういするなんてゆるせない!!!

なんだな。お前らが先に止めるという選択肢もあるんだぜ。
デジタルネイティブ()なゆとり様にはスルースキルは常識なんだろ?


>>512
典型的なゆとり仕草だな。

ぼくはぜったいせいぎだ!!!ちゅういやひはんはあってはならない!!!

と心底思ってるからそうなってしまう。
俺の指摘「このレベルの奴にネイティブ/プロトタイプ拡張を教えるな」
に反論なら分かるが、それができないときに、無理矢理自分が正しいことにする為に、

ちょうぶんがー
うえからめせんがー
じんかくこうげきがー

となるのはゆとりだけ。精神的に幼稚だからだ。
そもそも論点を逸らしたのはお前らゆとりが先だから、
俺はゆとり以外の人に失礼ないよう、それ以降は「ゆとり」を適切に使ってる。
振る舞いを見てる限り、ゆとりはRubyカスよりも知能が低い。
2023/01/22(日) 02:14:43.95ID:Z6TAWEeA
「ゆとり」を適切に使ってるとか詭弁でしかない
どんなに取り繕っても「ゆとり」は相手を攻撃する言葉であって批判の域を越えてる
それは理解しようよ
2023/01/22(日) 07:35:07.32ID:mMG5BSdR
>>513
スレチ
自爆ブーメランうざい
2023/01/23(月) 00:22:18.55ID:7BnjqKzm
>>514
>>515
またまた典型的なゆとりムーブだな。


> 相手を攻撃する言葉であって
勿論そうだ。既に言ったが、ゆとりがいつも通り

ちょうぶんがー
うえからめせんがー
じんかくこうげきがー

とか、本筋以外で攻撃してきたので、俺も本筋以外で反撃してるだけ。
結果的に、ゆとりは低脳すぎてこの流れも理解出来ないという記録を残している。
もう一度言うと、お前らゆとりが先に黙るという選択肢もあるんだぜ。
(或いは反論するにしても本筋で来い。
というかね、本筋での反論が十分に出来ない=相手の言い分にも一理ある、---(A)
として黙ってればいいものを、無理に

ぼくはぜったいだいせいぎだ!!!ぼくとちがういけんなんてぜったいにゆるさない!!!

となるからゆとりが存在するだけでおかしな事になるんだよ。
A地点で踏みとどまれてるRubyカスのほうが、ゆとりより明らかに知能が高い。
つかRubyカス、間違いだらけなのでボロカス言われてるが、
そういえばこの手の争いに参戦してるのを見たことがない)
2023/01/23(月) 01:27:01.99ID:voOB5WEP
本筋だの反論だのってまさか俺を>>489>>495だと思ってて>>497に反論してみろって言ってるのか?
だとしたら人違いだよ
俺は別に>>497に反論するつもりもないし何ならその主張には一理あると思ってるくらいだよ

で、俺が問題にしてるのは主張の方じゃなくてその文章の攻撃性の方
いくらお前さんの主張に理があるとしてもそれが>>504以降みたいな「ゆとり」「低能」と
レッテルを貼って攻撃するようなヒートアップぶりは
傍から見てても不快だと意見表明してるだけ
2023/01/24(火) 07:58:17.06ID:7O+cPsz9
>>517
やはり

ぼくはぜったいにわるくない!!!あいてが100%わるい!!!

という、典型的ゆとりムーブだな。


> 傍から見てても不快だと意見表明してるだけ
つまり、「おきもちひょうめい」なわけだが、なぜ、「黙っている」という選択肢をとれないのだ?
俺は513でこれを既に示唆している。
それ以降に参戦してきてるのだから、それは「敢えて」続ける為なんだろ?それは何故?
ここでは書いたレスを消すことは出来ない。よって終わらせる=それ以上の投稿を止める、でしかない。
それに一番適してるのは「黙る」だとゆとりみたいな低脳でも分かるように書いたつもりだが。

本筋以外の議論なんて、最初から不毛なんだよ。だからそもそもやるべきではない。
とはいえここはコロシアムでマイクパフォーマンスな状態だから、
攻撃したら反撃されても文句を言えない。ところがゆとりは、

ぼくはぜったいわるくない!!!
ぼくはあんぜんちたいからいっぽうてきにこうげきできるのがとうぜんで、はんげきなんてゆるせない!!!
ぼくのおきもちこそがぜったいせいぎだ!!!

と心底思ってて、ゆとりムーブぶちかますので、こうなる。これはお前もだ。
お前のお気持ち表明なんて要らないし何の価値もない。
2023/01/24(火) 07:58:34.22ID:7O+cPsz9
あと、スレの本筋は491と492だ。ここは質問スレなのだから。
494から突入した「何を回答すべきか」というメタ議論の本筋は494,497だが、
正直これは平行線だと分かってるので俺もそこで切ってるだろ。(それでも参戦するならどうぞだが)
ところがゆとりは、498以降で

ちょうぶんがきにいらない!!!
うえからめせんがきにいらない!!!

という、「ゆとりスクラム攻撃」を始めたので、同様の「ゆとり議論」で反撃してる。
ゆとりがいなければ、497で終わってただけの事だよ。

ゆとりはこれほどまでに酷い連中だ、
という記録を馬鹿でも分かるように明示的に残す為に、おれはつき合ってる。
お前が「おきもちひょうめい」までしてわざわざ参戦/継戦してきた理由は何?
もう一度言うが、それが「おわらせる」為の最適解ではないことは、
お前みたいな馬鹿ゆとりでも分かるように書いたつもりだが。
2023/01/24(火) 08:39:17.32ID:XNaW7Wqk
あらすな
うざい

スレタイ読めるようになるまで黙ってろ
2023/01/24(火) 12:55:26.36ID:StJtTbxs
>お前が「おきもちひょうめい」までしてわざわざ参戦/継戦してきた理由は何?
このスレにも不快なものを不快だと言う自由はあるだろう

にしてもやたら「ゆとり」連呼してるなーと思ってスレ内検索したら唖然とした
>>78-79あたりと全く同じ流れじゃん・・・
それ以降も偏執的なゆとり連呼長文のオンパレード

こんなのの相手を真面目にしようとしてた俺が間違ってたわ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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