[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 04/17 20:58 / Filesize : 270 KB / Number-of Response : 1014
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:Name_Not_Found [2018/06/04(月) 16:22:58.13 ID:aMAv4I5k.net]
JavaScript を自ら学ぶ人のための質問スレッドです。
次スレは>>950が(本スレで改善案があれば考慮して)立ててください

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

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

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

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

2 名前:Name_Not_Found mailto:sage [2018/06/07(木) 21:27:53.72 ID:???.net]
>>1
乙です

3 名前:Name_Not_Found mailto:sage [2018/06/07(木) 21:28:55.62 ID:???.net]
MySQLとMongDBならどっち?
このスレできく理由も勝手にエスパーして考慮に入れてお願いします。

4 名前:Name_Not_Found mailto:sage [2018/06/07(木) 21:58:02.88 ID:???.net]
そんな聞き方する奴にrdbは合わないに決まってるのでmongo。

5 名前:Name_Not_Found mailto:sage [2018/06/07(木) 23:15:04.02 ID:???.net]
うめ

6 名前:Name_Not_Found mailto:sage [2018/06/08(金) 00:59:57.44 ID:???.net]
>>4
「そんな」ききかたではありません!
回答者の経験と発想を最大限尊重した
自由意思にゆだねた回答を求めるとてもリスペクトフルな質問法です!!

7 名前:Name_Not_Found mailto:sage [2018/06/08(金) 01:24:05.63 ID:???.net]
テンプレ滅茶苦茶になった挙げ句ついにほぼカットされたか

8 名前:Name_Not_Found mailto:sage [2018/06/08(金) 06:39:51.84 ID:???.net]
とりあえず巻き上げに関して正しておく
宣言された変数が属するスコープ内全域に浸透するのは当たり前
JSの巻き上げとは、宣言ではなく初期化の話
varならundefinedで、関数宣言なら関数値で初期化されることを巻き上げと言う

勿論アロー関数は巻き上げされたりはしない
ただアロー関数には変数宣言文中に定義することで
その変数名の名前がつくという特殊挙動がある

9 名前:Name_Not_Found [2018/06/08(金) 07:02:20.40 ID:G7whztLr.net]
>>6
レスを最大限分析された的確な答えだと気づくべき

10 名前:Name_Not_Found mailto:sage [2018/06/08(金) 08:09:56.78 ID:???.net]
>>4
あのさー、お前がね、いちいち用語の定義をする必要はないんだわ
世間一般に知られたことは、世間一般的な用語の定義があるんだから
それを引用して書けばいいだけ


https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/var
> この動作は、変数の宣言が関数やグローバルのコードの先頭に移動したように見えるため、
> "巻き上げ (hoisting)" と呼ばれます。

変数の "宣言" が移動する。それが巻き上げ



11 名前:10 mailto:sage [2018/06/08(金) 08:10:27.64 ID:???.net]
>>4じゃなくて>>8宛ね

12 名前:Name_Not_Found mailto:sage [2018/06/08(金) 08:25:10.85 ID:???.net]
宣言とundefinedによる初期化は別々なのか?

var testvar; console.log(testvar); とだけ書くとundefinedが出力される

・元から先頭にあるのだから巻き上げは行われない、宣言が常にundefinedでの初期化を内包する
・元から先頭にあっても巻き上げが実施される、巻き上げにより宣言とundefinedでの初期化が行われる

どっちなのか判別が付かん

13 名前:Name_Not_Found mailto:sage [2018/06/08(金) 10:44:46.46 ID:???.net]
スッゲ曖昧な知識だが。
function命令は命令なので、ちょっと特殊で、最初に読み込まれる。だから巻き上げが出来る
変数は最初に名前だけ収集解析だけされて、値の入ってない変数のリストだけが作られ構造化される。
だったような。

アロー関数がなぜ変数にいれているのに、巻き上げ?がおこるのかはしらない。

14 名前:Name_Not_Found mailto:sage [2018/06/08(金) 11:01:32.95 ID:???.net]
概念についてあーだこーだ言われても確認できるコードがないとわからん

15 名前:Name_Not_Found mailto:sage [2018/06/08(金) 11:18:35.65 ID:???.net]
これは知識不足というか、経験的に浅いと言った方がいいのか
巻き上げというものがあるんだ、そうなんだね!
ぐらいにしか考えてなさそう

なんで巻き上げという機能を実装したのかまで
考えられてない。C言語をしらないからか、
いや昔のC言語と言ったほうがいいのか
C言語に対するJavaの特徴といったほうが良いのか

なんでこうなってるかの、基本がないのは
時代の流れの方が理由大きいのかねぇ

16 名前:Name_Not_Found mailto:sage [2018/06/08(金) 11:25:46.46 ID:???.net]
今のC言語はちょっと違うが、昔のC言語っていうのは、
関数は宣言してからじゃないと使えなくて、
変数の宣言は関数の頭の方に書くしかなかったんだよ

void foo() {
 int i; // OK
 int j; // OK
 bar(); // NG 先に宣言されてない = この時点では知らないので使えない
 int k; // NG 関数の頭じゃないからここで宣言できない
}

foo(); // OK 先に宣言されてるから使える

void bar() {
 return 0;
}

それを他の言語は、先に宣言されて無くても
スコープ内で宣言されていればOKにしたほうが
いいんじゃねという考えで改良したんだよ。
Javaはそれを特徴の一つにもしていた

17 名前:Name_Not_Found mailto:sage [2018/06/08(金) 11:26:59.18 ID:???.net]
ちなみに当時はコンパイラの時代で、主にコンパイルする時点で
先に宣言されて無くてもOKという機能だった

18 名前:Name_Not_Found mailto:sage [2018/06/08(金) 11:34:23.93 ID:???.net]
なんで先に宣言されてないといけないのかというと
関数に関しては、ファイルの頭からコンパイルするときに、
いきなり知らない名前がでてきたらどう処理したら良いかわからんし

変数というのは、関数内で一時的に(スタックに)メモリを確保して
関数が終わったら解放しなきゃいけないから。
頭にまとまってりゃ関数の最初でその処理をやって
関数終了に解放するだけで簡単

主にコンパイラの実装が簡単だからそうなってたんだよ。

これはインタプリタのJavaScriptでも同じ
だが、先に宣言されて無くてもOKにしたほうが便利だろう?

だから、先に宣言されているかのように
内部的に順番を入れ替えるのが、巻き上げの機能の本質

19 名前:Name_Not_Found mailto:sage [2018/06/08(金) 11:34:39.70 ID:???.net]
文法の見てくれが似てるからと言ってjavascriptの動作をjavaやcなどのいわゆるc系言語の動作から読み解こうとしても無駄だよ。
なぜならjavascriptはc系言語の皮を被ったlispだから。
https://www.crockford.com/javascript/javascript.html
raganwald.com/2013/07/19/javascript-is-a-lisp.html
https://qiita.com/derui@github/items/6e8de68cc1b7295de3a6

20 名前:Name_Not_Found mailto:sage [2018/06/08(金) 11:39:23.25 ID:???.net]
あとC言語はみ初期化の変数は中になにが入っているか不定
>>16のi,j変数はなにが入っているか決まってない
その時にメモリ(スタック)に入ってるゴミデータになる

実行速度重視のC言語ではそれもやむなしだったが、
決まってない値がなにか入っているのは分かりづらいバグの原因になるので
これが他の多くの言語では、0やNULLや未初期化を表す値になることを
保証している。それがJavaScriptではundefined

宣言したときに、undefinedに初期化するのではなく
初期化されてない変数は、undefinedになると考えたほうが良い



21 名前:Name_Not_Found mailto:sage [2018/06/08(金) 11:49:27.70 ID:???.net]
チューリングマシンの構造によるものだときいたことがるようないような。
チューリングマシンだと最初に命令をよみこんでおかないとだめだとかなんとか。

22 名前:Name_Not_Found mailto:sage [2018/06/08(金) 11:50:26.31 ID:???.net]
ここまで言えばわかったと思うが、
JavaScriptでは宣言前でも関数や変数を使えるようにするために

var i = 1 の var i の部分に相当する宣言と、function hoge() {} の宣言の
二種類の宣言が内部的に頭の方に集められる。そういう機能でしかない。

アロー関数( 例 (param) => value) は、function hoge() {} という形ではなく
名前がないため、後で宣言したアロー関数を宣言前に呼び出すなんてことは
ありえないので上の方に集める必要はない

だが var f = (param) => value と書いた場合の、変数fに関しては
その宣言である var f の部分だけが、その他の変数と同じように
関数の頭の方に集められる(アロー関数が集められるわけではない)

23 名前:Name_Not_Found mailto:sage [2018/06/08(金) 12:00:31.41 ID:???.net]
もっと簡単に言えば、

関数は先に宣言されて無くても使えるようしたい
変数はスタックからのメモリの確保と解放を楽にしたい

という異なる二つの目的を叶えるために
巻き上げという名前で表現されるような
処理が行われるということ

ただ変数の方は、内部的にメモリを確保すればいいだけの話なんだから
宣言前に使えなくてもいいと思うんだが
内部的に関数の頭にまとめてメモリ確保するという実装が
仕様になってしまった感じがするな。

24 名前:Name_Not_Found mailto:sage [2018/06/08(金) 12:26:11.76 ID:???.net]
>>19
はえ〜

25 名前:Name_Not_Found mailto:sage [2018/06/08(金) 12:40:19.30 ID:???.net]
>>20
それは違うな。
JSでは未初期化の変数にアクセスすると例外になる仕様がきちんとある。
letやconstで宣言された変数は実行がその文に達するまでは未初期化の状態になる
その未初期化の区間がTDZと言われる。
未初期化と未宣言とundefinedで初期化済は皆違う。

26 名前:Name_Not_Found mailto:sage [2018/06/08(金) 12:46:08.72 ID:???.net]
>>22
あと、アロー関数は名前がある。
var f = ( ) => { }
のように変数宣言と一緒にアロー関数が定義される場合は
特別に解釈されてf.nameがきちんと"f"になる。

27 名前:Name_Not_Found mailto:sage [2018/06/08(金) 12:46:32.11 ID:???.net]
バカものどもがホイスト嫌ったせいでTDZなんていう化け物を産み出してしまった

28 名前:Name_Not_Found mailto:sage [2018/06/08(金) 12:50:47.50 ID:???.net]
>>26
それ最初はchromeの独自実装だったよね?
今は仕様化されたの?

29 名前:Name_Not_Found mailto:sage [2018/06/08(金) 12:51:33.45 ID:???.net]
言われてみれば確かにTDZってもんがあったな

どんな仕様にしても、自分は最初にまとめて宣言・初期化書いておくが

30 名前:Name_Not_Found mailto:sage [2018/06/08(金) 12:53:18.97 ID:???.net]
>>28
ES2015仕様だよ



31 名前:Name_Not_Found mailto:sage [2018/06/08(金) 12:56:05.04 ID:???.net]
>>26
あ、そういう意味じゃないんだわw
宣言時の話
代入すると名前が付きまーすって話じゃない

32 名前:Name_Not_Found mailto:sage [2018/06/08(金) 13:00:41.05 ID:???.net]
アロー関数として定義された関数が巻き上げられているかどうか
って確認する方法あるのか?

33 名前:Name_Not_Found mailto:sage [2018/06/08(金) 13:03:29.74 ID:???.net]
var f; // 宣言時
console.log(f.name) // undefined
f = () => {} // 代入
console.log(f.name) // f つまり代入によって名前がつく。f宣言時ではない

34 名前:Name_Not_Found mailto:sage [2018/06/08(金) 13:16:03.50 ID:???.net]
それだと、
var f = function (){} では関数オブジェクトへのポインタ代入のみであるところ
f = () => {} では関数オブジェクトへのポインタ代入と変数 fへの.nameプロパティ付加の2つを行う
というだけである、とも解釈できるのでは

アロー関数そのものが巻き上げられていて、3行目でf.nameだけ後から処理されているのか
アロー関数そのものは巻き上げられず、3行目で関数の評価とともにf.nameが処理されているのか
どっちなのかわからないように見える

35 名前:Name_Not_Found mailto:sage [2018/06/08(金) 13:17:33.65 ID:???.net]
console.log(f) // undefined
var f = () => {}
console.log(f.name) // f

console.log(g) // ? g() {}
function g() {}
console.log(g.name) // g

関数gは宣言なので当然巻き上げられるが
アロー関数(?)fは巻き上げられない
fはただの変数であり、変数宣言のみが巻き上げられる

アロー関数 () => {} に名前がつくのは代入した時なので
function g() とは違い記述よりも先に呼び出すことはできない

36 名前:Name_Not_Found mailto:sage [2018/06/08(金) 13:20:05.69 ID:???.net]
アロー関数は関数というより値とみなしたほうが良い

37 名前:34 mailto:sage [2018/06/08(金) 13:33:17.77 ID:???.net]
>>35

console.log(f); // null
var f = () => {}
f=null;
console.log( f ); // null

console.log(g); // null
var g = function (){}
g=null;
console.log( g ); // null

console.log(h); // function h()
function h(){}
h=null;
console.log( h ); // null

console.log(i); // null
var i = 1;
i=null;
console.log(i); // null

なんで1, 5, 7番目のconsole.log();がundefinedでなくnullになるのかは知らんけど
ともかく
function h(){}ではなくvar g = function (){}と書いたときの挙動とvar f = () => {}と書いたときの挙動
どういうことだろうか

38 名前:Name_Not_Found mailto:sage [2018/06/08(金) 13:35:44.15 ID:???.net]
一言でいうと、ホイスティングにおいてほんとにアロー関数は特別なのか?ということ

39 名前:Name_Not_Found mailto:sage [2018/06/08(金) 13:57:45.93 ID:???.net]
> 一言でいうと、ホイスティングにおいてほんとにアロー関数は特別なのか?ということ
全然特別じゃない。

アロー関数は、関数宣言じゃないので当然巻き上げられないし
アロー関数を、変数の宣言と同時に変数に代入する場合は、変数宣言のみ巻き上げられる

今までとなにも変わってない

40 名前:Name_Not_Found mailto:sage [2018/06/08(金) 13:59:21.52 ID:???.net]
>>39
端的回答サンキュー



41 名前:Name_Not_Found mailto:sage [2018/06/08(金) 14:01:45.36 ID:???.net]
>>37
> なんで1, 5, 7番目のconsole.log();がundefinedでなくnullになるのかは知らんけど

だから、宣言(関数の宣言 と 変数の宣言)のみが巻き上げられるんだって
わからなかったら、var文とfunction文が一番上にくると思えばいい

var f;
console.log(f); // null
f = () => {}
f=null;
console.log( f ); // null

var g;
console.log(g); // null
g = function (){} // ※これは文ではないので関数宣言ではない
g=null;
console.log( g ); // null

function h(){}
console.log(h); // function h()
h=null;
console.log( h ); // null

var i
console.log(i); // null
i = 1;
i=null;
console.log(i); // null

42 名前:Name_Not_Found mailto:sage [2018/06/08(金) 14:04:30.16 ID:???.net]
console.log(v); // undefined
// console.log(f); // referenceError

var v=function f(){console.log(f.name)}
v(); // f

こうだもんな
変数に関数ぶっこんだときと何ら変わらん

43 名前:Name_Not_Found [2018/06/08(金) 14:13:59.38 ID:86T0W8kr.net]
>>39
それおかしくね?
変数の巻き上げは宣言だけで中身までは巻き上げられないでしょ

44 名前:Name_Not_Found mailto:sage [2018/06/08(金) 14:19:27.97 ID:???.net]
即時関数も変数に入れる関数もアロー関数も、前後を問わず、その場所や格納された変数以外から呼べない
呼べないだけで、中身が本当に巻き上げられていないのかどうかは、誰にもわからない

45 名前:Name_Not_Found mailto:sage [2018/06/08(金) 14:22:51.06 ID:???.net]
>>43
だれが中身が巻き上げられるなんて言ったんだ?
そもそも宣言に中身は存在しない

こういう名前の変数 or 関数を使いますよーって言うだけ
だから宣言

46 名前:Name_Not_Found [2018/06/08(金) 14:25:09.08 ID:86T0W8kr.net]
>>45
だけどアロー関数だと

f()
var f = () => {}

とあとに定義しててもf()で定義より先に呼び出して実行出来るという話でしょ?

47 名前:Name_Not_Found mailto:sage [2018/06/08(金) 14:26:33.85 ID:???.net]
ずれてるやつの原因はこれか?

var f = () => {}

fはアロー関数ではない
() => {} がアロー関数

fはアロー関数を入れている変数

48 名前:Name_Not_Found mailto:sage [2018/06/08(金) 14:29:17.26 ID:???.net]
>>46
> とあとに定義しててもf()で定義より先に呼び出して実行出来るという話でしょ?

実行できるわけがない
>>41でどう解釈されるか書いてやったろ


f()
var f = () => {}

↑は↓のように解釈される

var f
f()
f = () => {}

当然undefinedになってるんだから呼び出せない
(蛇足だが、アロー関数 () => {} に fという名前がつくのは
三行目の f = () => {} を実行した時)

49 名前:Name_Not_Found [2018/06/08(金) 14:32:47.86 ID:86T0W8kr.net]
>>48
できるよ。
試してみたら。
自分も最初できないと思ってたけどできたから意外だったと話をしたんだけど。

50 名前:Name_Not_Found mailto:sage [2018/06/08(金) 14:37:30.11 ID:???.net]
>>49
できませんでしたwww
試してから言えや


もう一つ

function foo() { console.log(1) }
foo()
function foo() { console.log(2) }
↑は関数宣言が巻き上げられて↓と解釈される
function foo() { console.log(1) }
function foo() { console.log(2) }
foo()
だから2と表示される


var foo = () => console.log(1)
foo()
var foo = () => console.log(2)
↑は変数宣言が巻き上げられて↓と解釈される
var foo
foo = () => console.log(1)
foo()
foo = () => console.log(2)
だから1と表示される



51 名前:Name_Not_Found mailto:sage [2018/06/08(金) 15:04:14.53 ID:???.net]
どんな環境(※さすがにIE/Edgeは除外)でも挙動変わらないのか?

52 名前:Name_Not_Found mailto:sage [2018/06/08(金) 15:11:49.09 ID:???.net]
IE / Edge 含めて変わるわけないね

53 名前:Name_Not_Found mailto:sage [2018/06/08(金) 15:14:28.46 ID:???.net]
>>30
いやアロー関数自体の話じゃなくて変数に束縛したアロー関数の.name。
初期はchrome以外空白じゃなかったっけ?

54 名前:Name_Not_Found mailto:sage [2018/06/08(金) 15:15:47.72 ID:???.net]
>>31
いや、意味は勿論分かってるがちょっと関連することとして思い出したので
補足的に書いただけだよ

55 名前:Name_Not_Found mailto:sage [2018/06/08(金) 15:18:25.96 ID:???.net]
>>53
それも含めてES2015仕様のはずだよ
あまり重要でない機能だから実装が遅かっただけでは?

56 名前:Name_Not_Found mailto:sage [2018/06/08(金) 15:19:03.58 ID:???.net]
実際にfirefox52ESRではアローのf.nameは何も出てこないな

57 名前:Name_Not_Found mailto:sage [2018/06/08(金) 15:34:32.92 ID:???.net]
というかだなfunctionの名前のように
関数名がその関数オブジェクトの.nameになるってのは思いつくけど、
関数を入れた変数名が、関数名になるなんて仕様普通思いつかないよ

匿名関数はデバッグが面倒になるので
どうにかして名前をつけられないか?という
方針で考えてやっと思いつけるってもんだ

仕様になるのが遅れるのも当然

58 名前:Name_Not_Found mailto:sage [2018/06/08(金) 20:41:47.10 ID:???.net]
仕様は遅れては居ないが実装が遅れてるのかもな
仕様の該当箇所はここか
www.ecma-international.org/ecma-262/6.0/#sec-assignment-operators-runtime-semantics-evaluation
e. If IsAnonymousFunctionDefinition ~~

59 名前:Name_Not_Found mailto:sage [2018/06/08(金) 21:48:42.42 ID:???.net]
firefoxってアホみたいに(褒め言葉)早く正確に仕様通りに実装するUAじゃなかったっけ

60 名前:Name_Not_Found mailto:sage [2018/06/09(土) 07:40:37.68 ID:???.net]
contenteditableな要素にクリップボードをペーストする前に
リッチテキストをプレーンなテキストに変換しようと思い、
onPasteイベントの中でclipboardDataにsetDataしたのですが、反映しません
ペースト時にclipboardDataに書き込むことは出来ないのでしょうか?



61 名前:Name_Not_Found mailto:sage [2018/06/09(土) 10:05:45.85 ID:???.net]
https://teratail.com/questions/88915
これを思い出した。

関数宣言→「変数の実体化」で変数定義が巻き上げられる
変数宣言(var)→「変数の実体化」で巻き上げられる
let,const→「変数の実体化」で巻き上げられるが、TDZでは参照不可
アロー関数→即時呼び出しor変数宣言に含めることしかできない
関数式→即時呼び出しor変数宣言に含めることしかできない

「変数の実体化」はES3当時の表現だが、分かりやすいのでつい使ってしまう。
ES2017ではこの文言はどう変わってるんだったか。

62 名前:Name_Not_Found mailto:sage [2018/06/09(土) 19:40:55.00 ID:???.net]
>>59
いや、JS2.0とかやってた名残で当初は早いようにも見えたけど
実際は独自実装の非互換性問題とかもあったし、ここ2年くらいはChromeの方が実装早いよ

>>61
難しく考えずとも、変数とはスコープオブジェクトのプロパティのようなものだ
そのスコープにぶら下がる変数はスコープに入る時に全て作られる
そういうことをしなければ。スコープ外でlet aと定義していてスコープ内で同じくlet aと定義している場合、
スコープ内のlet aに達するまでにaを参照した場合スコープ外のaを参照する挙動になってしまう

あるいはそういう挙動でも良かったのかもしれないが、JSではその挙動を是としていないため、
スコープ内で作られる変数はそのスコープに入った段階で作られることになる
仕様での用語としては「CreateBinding」で、スコープ(Environment Record)に対して値を紐付けるための名前を作る作業がある
そしてその変数宣言文に実行が達したら「InitializeBinding」で、値が初期化される
それまでに変数を利用しようとした場合は例外となる

要するに変数の状態としては「created」かどうかと、「initialized」かどうかの2つを考えればいいだけ
関数宣言に関してはブロックが評価される時に、通常の宣言であればcreateされるだけのところを追加でinitializeされるというだけ

63 名前:Name_Not_Found mailto:sage [2018/06/09(土) 20:42:00.96 ID:???.net]
>>60の件ですが
clipboardDataの実体はドラッグ&ドロップで使われているDataTransferオブジェクトのようです
JavaScriptリファレンス第六版には、
DataTransferオブジェクトのsetDataメソッドの説明として

ドラッグアンドドロップ操作の最初の dragstart イベントに応答して
ドラッグ元がこのメソッドを呼び出します。
このメソッドはその他のイベントハンドラからは呼び出せません。

とあり、DataTransferオブジェクトというのは自由に読み書きできるようなものでもないようです
ペースト前にデータをJavaScriptでフィルタするのは機構的に不可能なのでしょうか?

64 名前:61 [2018/06/09(土) 21:56:44.42 ID:rjw/LaIP.net]
>>62
変数の挙動は理解しているし、詳細な説明が欲しかったわけではない
「仕様上の文言がどうなっているか」が気になっただけ

65 名前:Name_Not_Found mailto:sage [2018/06/09(土) 23:59:05.12 ID:???.net]
Reactを勉強しているものですが、Reactのスレが見つかりませんでした。日本ではマイナーなのでしょうか?

66 名前:Name_Not_Found mailto:sage [2018/06/10(日) 00:54:36.18 ID:???.net]
>>64
だからそれも書いてるじゃん
変数周りの仕様としては「created」と「initialized」しか無いって
関数宣言は「Hoistable」に含まれるわけだけど、それは「created」されて「initialized」されるということでしかない
「実体化」などという表現や概念は存在しない

67 名前:61 [2018/06/10(日) 01:57:27.73 ID:AOyPV8Fv.net]
>>66
> 変数周りの仕様としては「created」と「initialized」しか無いって
あなたの解釈はどうでもいいのだよ
知りたいのは一次情報源だけ

> 「実体化」などという表現や概念は存在しない
そんなことはない
www2u.biglobe.ne.jp/~oz-07ams/2002/ecma262r3/10_Execution_Contexts.html#section-10.1.3

68 名前:Name_Not_Found mailto:sage [2018/06/10(日) 02:57:42.92 ID:???.net]
React Angular Polymer Vueなんかのフレームワークと
jQueryって同じフレームワークでもなんか別物のような気がするんですが
これらは出来ることは同じなのでしょうか?

69 名前:Name_Not_Found mailto:sage [2018/06/10(日) 11:32:11.73 ID:???.net]
>>67
一時情報源だけ知りたいのなら自分で仕様を読めばいいじゃない
https://tc39.github.io/ecma262/
俺もあんたのためにきちんと仕様を読みながら噛み砕いて説明したんだからさ
それをそんな言い方されちゃもうどうしようもないね

70 名前:Name_Not_Found mailto:sage [2018/06/10(日) 11:39:33.94 ID:???.net]
>>67
と言うかそこでいう実体化っていうのは、「コンテキストの実体化」だからね
静的なコードという型からその時に使う生きた状態を生成する
つまりインスタンス化するというニュアンスだから
「実行コンテキスト」の項にあるでしょ?
その「変数の実体化」っていうのは今話してる変数の状態や「有効化」の話とは軸がずれている
静的な定義らから生きた変数インスタンスを作るというニュアンスの話
そしてやっぱりちょっと妙な表現でもあるから今の仕様では使われてないよ



71 名前:Name_Not_Found mailto:sage [2018/06/10(日) 12:19:29.70 ID:???.net]
>>68
jQueryはライブラリであってフレームワークではありませんよ
それを使っているプログラマが、それを呼び出すコードを書くのがライブラリ
呼び出されるコードを書くのがフレームワークだと誰かが言っていました

72 名前:Name_Not_Found mailto:sage [2018/06/10(日) 14:34:15.01 ID:???.net]
>>69
> 俺もあんたのためにきちんと仕様を読みながら噛み砕いて説明したんだからさ
尋ねてもいない事をあなたが勝手に誤解してお節介しただけだろう
「ES2017ではこの文言はどう変わってるんだったか」とちょっとした疑問を口にしただけで、なぜそこまで絡んでくるのか
しかも、なぜか「あなたの言葉」で返ってくる始末

73 名前:61 [2018/06/10(日) 14:57:34.96 ID:Q6IKpI1g.net]
>>72も自分なので、念のため

>>70
> その「変数の実体化」っていうのは今話してる変数の状態や「有効化」の話とは軸がずれている

俺からすれば、俺が書いた「独り言(>>61)」にあなたが勝手に絡んできただけなんだがな
で、俺の趣旨は「宣言が巻き上げされるのではなく、宣言した結果、実体化される変数初期化処理が巻き上がる」
変数宣言も関数宣言も巻き上げなんて発生していない
関数スコープにある変数は、実行コンテキストに入る段階で「変数が実体化」されるだけだ

「変数の実体化」がES3の用語である事は61で書いた通り
で、俺は「ES2017ではこの文言はどう変わってるんだったか」と書いた
詳しくは読んでいないが、おそらく関係するにはこの辺りで、俺が欲しいのは「ES2017の文言」
www.ecma-international.org/ecma-262/8.0/#sec-executable-code-and-execution-contexts
あなたはなぜか「あなたの言葉」で説明してきた
そして、一時情報源を求めたら、なぜか ES2019 https://tc39.github.io/ecma262/ を持ち出してきた

仕様書は必要になれば読むが、今の時点でそこまで切羽詰まって読む必要性はない
ただの独り言で誰かに答えてもらう事を期待していたわけでもない
答えてくれるのは有り難いが、俺への返信は全てピントがずれているんだよ

74 名前:Name_Not_Found [2018/06/10(日) 15:28:19.00 ID:SGg1sNhW.net]
まだやっとるのか巻き上げの話w
そんな話時間の無駄のような気がするわ
物理の真理でもあるまいし
時間の無駄

プログラミングなんて使えりゃ良いんだよ
JSの仕様策定にかんよしてるのでないなら
もっと別のこと勉強しろ

75 名前:Name_Not_Found mailto:sage [2018/06/10(日) 15:53:33.14 ID:???.net]
仕様を読まなければ、無駄にクロスブラウザする事もあるから時間の無駄ではないけど、否定から前向きな結論は出ないだろうね
独り言に絡まれたのは同情するわ

76 名前:Name_Not_Found mailto:sage [2018/06/10(日) 16:05:06.46 ID:???.net]
というか、絡まれて火の粉を払っている方はともかく、絡んでいる方が望む終着点が読めん

77 名前:Name_Not_Found mailto:sage [2018/06/10(日) 16:06:05.78 ID:???.net]
用語は根拠をもって統一すべきとは確かに思う

そしてもし詳しいなら実務に影響あるところを書いてくれるとうれしいんだが
宣言と初期化の違いが、実際のコーディングにどう影響するのか

アローを含む変数格納の関数と巻き上げの話にしても
その変数を介さずに中身を直接呼ぶ方法がないんだし
「巻き上げなんて無かった」と考えてコード書いていけばそれで良い話にも思える

78 名前:Name_Not_Found mailto:sage [2018/06/10(日) 16:13:57.91 ID:???.net]
>>76
絡んでいる方は「一つの論題」に皆が参画している感覚なんじゃない?
>>70の下記一文は「一人一人にスレッドがある」と考えていない節があって、そこで61と齟齬が発生している印象

> その「変数の実体化」っていうのは今話してる変数の状態や「有効化」の話とは軸がずれている

79 名前:Name_Not_Found mailto:sage [2018/06/10(日) 16:27:21.22 ID:???.net]
>>78
なるほど、確かにそういう人は少なからずいるな…

80 名前:61 [2018/06/10(日) 16:51:48.21 ID:Q6IKpI1g.net]
>>77
> 「巻き上げなんて無かった」と考えてコード書いていけばそれで良い話にも思える

それで良いと思う
元々、ECMAScript には「巻き上げ」という概念はなく、誰かが hoisting と言い出したのが始まり
今では仕様上に hoisting も出てきてはいるけど、本質ではないと思う
実践的な部分では変数初期化のタイミングさえ覚えれば良い
基本的な部分だけまとめると、

- 「関数呼び出しされるタイミング」で関数宣言/変数宣言(var)の変数が初期化される
- let,const変数も同様に初期化されるが、TDZでは RefarenceError (TDZは仕様外の用語)
- グローバルコードでは先頭で関数宣言/変数宣言(var)の変数が初期化される

「関数式」「アロ



81 名前:ー関数」は単体で宣言する機構がないので、他のスコープから呼び出すなら変数宣言/引数などに絡めて使う []
[ここ壊れてます]

82 名前:Name_Not_Found mailto:sage [2018/06/10(日) 17:07:16.04 ID:???.net]
>実践的な部分では変数初期化のタイミングさえ覚えれば良い

覚える必要あんのか?
変数は「初期化するコード」より前のタイミングで使うな、なんならブロック先頭で網羅的に初期化しろ、で済む話では?

83 名前:Name_Not_Found mailto:sage [2018/06/10(日) 21:03:36.41 ID:???.net]
>>73
俺からすれば最初>>62は君に対する返答でもたしかにあったけど、
君だけへの返答ではなくそれまでの流れを含めた視聴者に対するまとめを書いただけで
別に君に変数の仕組みを解説したつもりはない

そこに君が>>64で突っ込んできたから、それ「も」書いてると言った
君は「自分の言葉」と思ったかもしれないが、仕様書のURLは、「あえて」記載しなかった
ただ俺はきちんと必要ならすぐ調べられるように仕様上の用語は含ませた
そこは確かに君を強く意識して行ったことだけど
先にも言ったとおり全体としては君の質問へのど直球の回答ではないので
君の期待通りの返信では無いのは悪しからず

そして>>78の言う通り、俺が>>62などで書いた文章は以前の話を含めて書いているため
その後のそれらに対するレスは、>>61だけではない流れ上で考えさせて貰っている
君がやけに>>61に拘ってたことには失礼ながら今気づいたが、俺はそんなちっぽけなところなんて見続けていない

84 名前:Name_Not_Found mailto:sage [2018/06/10(日) 21:14:46.91 ID:???.net]
>>73
あとこれは完全に別件として問いたいことだが、
なぜES2017に拘る?
俺はES2017というのは最新仕様の言い換えだろうなと思ったから
より適切な最新のドラフトを案内した

今回の件でES2017に拘る理由がわからない
ES3,5や、letやconstが入ってその辺りに変更が入った2015を見てみるというのはまだ分かる
でもES2017なんて中途半端なところを拘って見たがる理由って一体全体なんだ?
今を知りたいのなら最新のドラフトの方がいいぞ、多少読みやすくもされてるし

85 名前:Name_Not_Found mailto:sage [2018/06/10(日) 22:36:17.46 ID:???.net]
一次情報云々の話ならそもそも実体化とかいう訳語が怪しいんだが
誰かがそう決めたの?

86 名前:Name_Not_Found mailto:sage [2018/06/11(月) 08:47:51.79 ID:???.net]
>>81
それはポリシーの問題
それでいい人もいれば、良くない人もいる
const房と根本的に同じ問題

87 名前:Name_Not_Found mailto:sage [2018/06/11(月) 09:52:34.11 ID:???.net]
>>85
ちょっとおかしくね
>>80を理解したところで初期化jsコードより先に使っちゃダメなのは確かで
初期化jsコードより後に使うなら>>80は無意味では
問題おきてデバッグする時にもまず役に立たない知識

88 名前:Name_Not_Found mailto:sage [2018/06/11(月) 10:06:20.55 ID:???.net]
知っていると実益があるかどうか
var,let,constはそれぞれ性質が違いしかも一方だけでコードを書くことができる
選択の余地ひいては実益があり、実益をどう判断するかのポリシー問題

変数の巻き上げやTDZや宣言・初期化とか用語・説明の話は実益あるのか

89 名前:Name_Not_Found mailto:sage [2018/06/11(月) 11:12:20.90 ID:???.net]
俺様が満足していればどうでも良いんだよ

90 名前:Name_Not_Found [2018/06/11(月) 12:13:44.14 ID:VhNszVLU.net]
ekaz4.xyz/1



91 名前:Name_Not_Found mailto:sage [2018/06/11(月) 12:40:18.54 ID:???.net]
実益があるのかって、単純に何事も内部構造をできるだけ分かって使う方がより良いと思うけど。
クラッチやエンジンの仕組みを何も知らないで感覚だけで覚えるのと、理屈で理解してるのとでは違いがあると思う

92 名前:Name_Not_Found mailto:sage [2018/06/11(月) 13:18:48.10 ID:???.net]
巻き上げ周りの知識があったら書き方がどう変わるのかってやつだな
自動車の例でいえば、仕組みを知ってれば効率良い運転に繋がる可能性もあろう

93 名前:Name_Not_Found mailto:sage [2018/06/11(月) 15:55:56.82 ID:???.net]
ジェネレーター関数って使い道ありますか・・?

94 名前:Name_Not_Found mailto:sage [2018/06/11(月) 15:57:10.40 ID:???.net]
フレームワーク作者とかは使うんじゃない?

95 名前:Name_Not_Found mailto:sage [2018/06/11(月) 18:37:23.63 ID:???.net]
通常のジェネレータはあんまり使い道はないが
asyncになるとイベント的なことに使えるのでかなり重要な存在
これがあれば、whileループみたいに描くしか無いところをfor awaitで書ける

96 名前:Name_Not_Found mailto:sage [2018/06/11(月) 19:18:59.97 ID:???.net]
でもそれwhileループで書けば良いんですよね?

97 名前:Name_Not_Found mailto:sage [2018/06/11(月) 22:32:05.39 ID:???.net]
そうでもないと思う
ジェネレータの良いところは、継続状態と返り値が同時に抽象化されてることだから
for awaitならそれを抽象化されたまま自然と扱えるが、
whileを使った場合その抽象化システムを丁寧に自分で組み立てるか、
その場その場で適応的に書くか、もしくは妥協しないといけない

98 名前:Name_Not_Found [2018/06/11(月) 23:47:57.05 ID:FHvAGVIA.net]
ftp%3A//ftp2.shuwasystem.co.jp/pub/book/javascpermas/chap09.zip
これのsec04/dragdrop.htmlの26,36行のpreventDefault()ってなにを取り消してるの??

99 名前:Name_Not_Found mailto:sage [2018/06/12(火) 00:18:43.22 ID:???.net]
あ、ちなみに、ページ内の「ドラッグできます」というのを上の四角の領域にドロップすると要素が移動するというコードです。


それから34行のcurrentTargetとtargetと違いもわからないです。
targetに書き換えるとドラッグしても何も起こらなくなるのはなぜだろう

100 名前:Name_Not_Found mailto:sage [2018/06/12(火) 01:33:58.85 ID:???.net]
んなURL持ってくんなよ
しかも度々書籍ステマ・書籍アフィが出てるスレで「コンピュータ、パソコン書籍の出版社」が
アクセス統計でも得たいのか



101 名前:Name_Not_Found mailto:sage [2018/06/12(火) 06:26:12.22 ID:???.net]
本買うと特典でサンプルDLできるとかのあれか

本買ってないやつがDLするわけにはいかないし
本買ったやつならURLなんて出さなくてもわかるだろうし
何より本書いたやつか出版社に聞け

102 名前:Name_Not_Found mailto:sage [2018/06/12(火) 12:39:51.08 ID:???.net]
>>98
どなたかお願いします

103 名前:Name_Not_Found mailto:sage [2018/06/12(火) 12:54:37.96 ID:???.net]
>>92
データのID作るときとか便利
ループだとそのループ中でしかできないが
ループ以外でも簡単に連番等つけれる

同じ理屈で数列つくるときに便利。
遅延評価で無限数列つくるときとか。
ま、あんま使わんと思うが。

104 名前:Name_Not_Found mailto:sage [2018/06/12(火) 12:55:33.83 ID:???.net]
調べるべき用語が分かってるんだからググった方が絶対いい結果を得られるよ

105 名前:Name_Not_Found mailto:sage [2018/06/12(火) 12:58:21.53 ID:???.net]
>>97
$('a').click(function(e){ e.preventDefault(); });

例えばこれなら、a タグによるページ遷移という、デフォルトの動作が取り消される

jQuery のイベントバブリング、preventDefault()・stopPropagation() を参照

106 名前:Name_Not_Found mailto:sage [2018/06/12(火) 13:35:41.02 ID:???.net]
('q')

107 名前:Name_Not_Found mailto:sage [2018/06/12(火) 16:23:25.80 ID:???.net]
>>97-98
jqueryui.com/droppable/

jQueryUI の、Draggable, Droppable のソースコードを見れば?

108 名前:Name_Not_Found [2018/06/15(金) 05:12:24.54 ID:OkF/hEF8.net]
JS違法だって
おまえら逮捕だね

【ウイルス】WebサイトでJavaScriptでPCに負荷をかける行為は違法 警察が検挙
asahi.5ch.net/test/read.cgi/newsplus/1528979221/

109 名前:Name_Not_Found mailto:sage [2018/06/15(金) 05:40:24.41 ID:???.net]
jkなら大丈夫だから

110 名前:Name_Not_Found mailto:sage [2018/06/15(金) 12:42:58.55 ID:???.net]
ひまつぶしにどうぞ
+ JavaScript のお題用スレッド +
https://mevius.5ch.net/test/read.cgi/hp/1526666703



111 名前:/ []
[ここ壊れてます]

112 名前:Name_Not_Found mailto:sage [2018/06/15(金) 15:06:38.85 ID:???.net]
パターンマッチ関数って何のためにやるのですか?
回りくどいな、という印象しかなかったのですが

113 名前:Name_Not_Found mailto:sage [2018/06/15(金) 16:35:12.09 ID:???.net]
パターンマッチ関数??
それだけ言われても…

114 名前:Name_Not_Found mailto:sage [2018/06/15(金) 17:28:44.15 ID:???.net]
>>110
すべてモジュール化するため

115 名前:Name_Not_Found mailto:sage [2018/06/15(金) 17:41:20.29 ID:???.net]
処理のメイン部分の記述が簡素になる。

116 名前:Name_Not_Found mailto:sage [2018/06/17(日) 09:54:02.75 ID:???.net]
JavaScriptで配列をすごい勢いでループしてる時に
緊急停止ボタンが押されたらブレーキをかけることはできますか

117 名前:Name_Not_Found mailto:sage [2018/06/17(日) 10:02:59.78 ID:???.net]
>>114
再帰なら可

118 名前:Name_Not_Found mailto:sage [2018/06/17(日) 10:24:28.66 ID:???.net]
>>115
質問者じゃないけど興味があるので理由を詳しく聞かせてもらいたい

119 名前:Name_Not_Found mailto:sage [2018/06/17(日) 12:03:06.04 ID:???.net]
嘘だから気にすんな

120 名前:Name_Not_Found mailto:sage [2018/06/17(日) 12:33:49.85 ID:???.net]
なんだうそか



121 名前:Name_Not_Found mailto:sage [2018/06/17(日) 12:35:22.12 ID:???.net]
setTimeoutやsetIntervalで再帰させてれば緊急停止できるのでは

概念的にはもはやループじゃなくてタスク管理だけど

122 名前:Name_Not_Found mailto:sage [2018/06/17(日) 14:34:27.38 ID:???.net]
> setTimeoutやsetIntervalで再帰させてれば
再起である必要はないね

123 名前:Name_Not_Found mailto:sage [2018/06/17(日) 14:57:27.97 ID:???.net]
緊急停止ボタンのクリックイベントでkinkyubrake = trueしておく。
ループではkinkyubrakeがtrueのときはbreakするようにしとけばいい。

124 名前:Name_Not_Found mailto:sage [2018/06/17(日) 16:18:01.04 ID:???.net]
再開どうすんの
あ、再開はないのか

125 名前:Name_Not_Found [2018/06/17(日) 17:49:51.65 ID:9b6f4Zt8.net]
緊急停止っていみわからんけど
再帰で無限数列とかつくるとオーバーフローでエラーでるが
それを回避するためにsetIntervalに入れるんだが。
そういうことじゃねぇのか?

126 名前:Name_Not_Found mailto:sage [2018/06/17(日) 17:58:49.16 ID:???.net]
そりゃ別の問題だろ
jsエンジンの保護機能があって、理解した上でそれを回避する手法を使う
そこにユーザの停止意思は関係ない

127 名前:Name_Not_Found mailto:sage [2018/06/17(日) 18:07:58.46 ID:???.net]
>>110
関数型プログラミングの質問か?

128 名前:Name_Not_Found mailto:114 [2018/06/17(日) 20:12:00.03 ID:???.net]
皆様ご回答有り難うございます
長い時間がかかる計算をさせているのですが
私のラスクトップはこの時期長時間動かすと熱で落ちてしまいます
その兆候が現れた時に、物理的なUSBボタンが押されたら
全タブの処理を抑えたいと思っています
完全に止まらなくとも構いません
再開はしたいです

129 名前:Name_Not_Found mailto:sage [2018/06/17(日) 20:13:14.81 ID:???.net]
なんかラスク食べたくなってきた。買ってこよう。

130 名前:Name_Not_Found mailto:sage [2018/06/17(日) 20:15:51.10 ID:???.net]
つまりオーバーフローによる問題を回避するためではなく
エアフローによる問題を回避したいわけですな

ドヤァ



131 名前:Name_Not_Found mailto:sage [2018/06/17(日) 20:18:15.35 ID:???.net]
ラスクトップってなんだデスクトップなのかラップトップなのかどっちだ

PCごとスリープさせたらダメなのかね

132 名前:Name_Not_Found mailto:sage [2018/06/17(日) 20:32:27.93 ID:???.net]
とりあえずJSの仕事では無さそう
プロセスごとのCPU使用率制御かなんかを調べた方が多分近道

133 名前:Name_Not_Found mailto:sage [2018/06/17(日) 23:23:03.78 ID:???.net]
>>116
厳密には同期的繰り返し処理では割り込み処理出来ない

134 名前:Name_Not_Found [2018/06/19(火) 09:33:33.46 ID:adLbUfl+.net]
オライリーのサイ本はもう新しいのは出ないんでしょーか?
7版待ってるんですが

135 名前:Name_Not_Found mailto:sage [2018/06/19(火) 12:29:07.22 ID:???.net]
一回読んだら次は仕様書見て理解すればいい

136 名前:Name_Not_Found mailto:sage [2018/06/19(火) 23:04:41.37 ID:???.net]
今までOOPでやっていた部分をFPで書いていてふと思ったのですが
FPって名前空間汚しまくりじゃないですか?
例えばOOPだと
hoge={sum:()=>{}}
みたいにhogeだけですみますがFPだと
hoge=()=>()=>{};
sum=()=>{};
みたいに延々増えていくような?気がします
そういうものなんでしょうか?

137 名前:Name_Not_Found mailto:sage [2018/06/19(火) 23:50:01.24 ID:???.net]
サイの絵の表紙のサイ本
JavaScript 第6版、2012、David Flanagan

初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017

Flanagan は、Java, Ruby など色々な言語の本を書いてる。
最近は、何をやってるのかね?

138 名前:Name_Not_Found mailto:sage [2018/06/20(水) 06:16:56.26 ID:???.net]
>>133
>>135
まだ持っていなくこれから学習始めるのに本が欲しかったんですが、第6版は古いから手が出しづらいです。
6版買うくらいならいっそのこと古本の5版でも構いませんか?

139 名前:Name_Not_Found mailto:sage [2018/06/20(水) 06:49:06.68 ID:???.net]
良いか悪いかで言ったら俺は悪いと思う
要するにJSの実際はそんなには難しくもないんだけど、
適切な解説が少ないプロトタイプチェーンやスコープチェーンだったり
多くのJSerが曖昧にしてきたであろう基礎的な仕組みに近いところを
まんべんなくそれなりに分かりやすい解説が載ってたっていうのが価値だった

だけどその他の部分のテクニックとかも肌感覚が古くなってきてるし、
今なら当然合わせて知っておきたいクラス構文やモジュールなんかも学べないしな
まあ物好きでお金と時間に余裕があるなら、
一旦ES5までの知識を付けて個別にアップデートしていってもいいとは思うが

140 名前:Name_Not_Found mailto:sage [2018/06/20(水) 07:35:11.72 ID:???.net]
>>137
ありがとうございます
第6版も古いからオライリーに拘らず他所の新しい本の方がよいでしょうか?



141 名前:Name_Not_Found mailto:sage [2018/06/20(水) 12:15:51.98 ID:???.net]
Javascriptで、生成されたオブジェクトを終了するために、
VBSで言うところのNothingを使いたいのだけれど、
どうも使わない感じみたいで、困ってます。

Javascriptでは、もしかしてnullとか使うでしょうか?
ヒントでもいいので教えてください。

142 名前:Name_Not_Found mailto:sage [2018/06/20(水) 12:20:28.72 ID:???.net]
変数にnull代入
参照してる変数が無くなればgcがいつか解放する

143 名前:Name_Not_Found mailto:sage [2018/06/20(水) 12:24:43.92 ID:???.net]
>>140
ありがとう、参考になりました。

144 名前:Name_Not_Found mailto:sage [2018/06/20(水) 12:33:17.45 ID:???.net]
>>138 わからん
サイ本のように一昔前は中級者や中級者になりたい人向けという幅広い括りで取り敢えず読んどけという本もいくつかあったが、
今の時代は難しい

145 名前:Name_Not_Found mailto:sage [2018/06/20(水) 13:13:57.05 ID:???.net]
大昔におけるオライリー本ですら有効性はクエスチョンマークだった

今や書籍の価値なんてGCに回収されてる

146 名前:Name_Not_Found mailto:sage [2018/06/20(水) 13:27:31.60 ID:???.net]
> 今や書籍の価値なんてGCに回収されてる

どういう意味?

147 名前:Name_Not_Found mailto:sage [2018/06/20(水) 17:15:47.10 ID:???.net]
>>142
どうもありがとうございます
参考になりました

148 名前:Name_Not_Found mailto:sage [2018/06/21(木) 16:52:49.08 ID:???.net]
Javapcriptのスリープ実装って永遠の課題なんか?
代替手段はどれも使いづらいし、
何でこんなことになっとんのや?

149 名前:Name_Not_Found mailto:sage [2018/06/21(木) 20:35:03.15 ID:???.net]
俺のスニペット帳より。元ネタは確かtry-puppeteerサイトのコード
なぜか5ちゃんのセキュリティゲートウェイに引っ掛かったので全角で貼る。
const sleep = ms => new Promise(resolve => setTimeout(resolve, ms));

await sleep(5000);

150 名前:Name_Not_Found mailto:sage [2018/06/21(木) 21:09:31.87 ID:???.net]
>>146
Atomics APIでできるよ
Atomics.wait()とすればそのまんまスリープする
ただメインスレッドでは禁止されてる場合が多い
メインで待機しちゃうとUIが止まっちゃうからね
でもWorkerなんかではSharedArrayBufferと組み合わせて効果的に使えるよ
ただ今は例のCPUサイドチャネル攻撃脆弱性問題のおかげで
情報が抜けてしまうのでデフォルト無効にされてるが



151 名前:Name_Not_Found mailto:sage [2018/06/21(木) 23:38:00.72 ID:???.net]
でもAtomics APIってJavaScriptじゃなくて
ブラウザのAPIですよね?
NodeJSでは使えませんよね?

152 名前:Name_Not_Found mailto:sage [2018/06/22(金) 12:49:32.69 ID:???.net]
>>149
違う。列記としたECMAScriptの仕様だからV8にも載ってるしNodeでも使える
ただマルチスレッド動作が上手く行くかはわからんが

153 名前:Name_Not_Found mailto:sage [2018/06/22(金) 12:52:44.08 ID:???.net]
>>149
https://www.ecma-international.org/ecma-262/8.0/#sec-atomics-object

154 名前:Name_Not_Found mailto:sage [2018/06/22(金) 13:10:01.25 ID:???.net]
chrome、firefox、edge、safari などメジャーブラウザ全てでメインスレッドでは使えない。ワーカー内でしか使えない。
実質役立たず。

155 名前:Name_Not_Found mailto:sage [2018/06/22(金) 14:09:38.16 ID:???.net]
つまり俺みたいな奴ってことだな

156 名前:Name_Not_Found mailto:sage [2018/06/22(金) 19:53:35.82 ID:???.net]
そもそもメインで待機なんてされたら迷惑も良いとこ

157 名前:Name_Not_Found mailto:sage [2018/06/22(金) 19:59:45.83 ID:???.net]
そういうruby信者みたいな情けない言い方はやめろ
やるやらないとできるできないは違う
できるけど理由があってやらない、が一番かっこいい

158 名前:Name_Not_Found mailto:sage [2018/06/22(金) 20:38:55.29 ID:???.net]
要素Aがあって
<div id="A"></div>
この要素Aに要素Bを動的に入れ子したとき
<div id="A"><div id="B"></div></div>
要素Aが膨らんだので
要素Aの大きさを取得したいのですがどうやってやりますか?
(そもそもAが膨らまないように、、みたいな話ではなく単純に、
予想外に膨らんでしまった要素のサイズを取得してみたい、という用途です)

159 名前:Name_Not_Found mailto:sage [2018/06/22(金) 20:59:14.80 ID:???.net]
scriptをbodyの末尾に置けばreadyハンドラを待つ必要ないと思いますが
このやり方に何か問題ありますか?

160 名前:Name_Not_Found mailto:sage [2018/06/22(金) 21:05:35.16 ID:???.net]
>>157
遅い



161 名前:Name_Not_Found mailto:sage [2018/06/22(金) 22:21:10.44 ID:???.net]
>>155
簡単にできるけど、理由があって禁止されたんだよ
最初期はそういう縛りなく実装されてた
理由があるなら最初からできないほうが良い
過剰に自由なことはデメリットのほうが大きい

162 名前:Name_Not_Found mailto:sage [2018/06/22(金) 22:27:28.54 ID:???.net]
>>157
要素にJSを適応したい場合はカスタムエレメントを使うこと
そうすれば要素が出現する前に定義できるし、
出現した瞬間に効果が適応される
コンポーネント化もしやすい

163 名前:Name_Not_Found mailto:sage [2018/06/22(金) 22:31:28.54 ID:???.net]
まず適用と適応の区別をつけろ

164 名前:Name_Not_Found mailto:sage [2018/06/23(土) 18:58:40.28 ID:???.net]
こういう人ってネット以外でも周りの人の会話に対して一々ケチをつけるのだろうか?

165 名前:Name_Not_Found [2018/06/23(土) 19:08:18.04 ID:+g3NNQ6c.net]
低脳くやしいのうwwwww

166 名前:Name_Not_Found mailto:sage [2018/06/23(土) 20:57:32.52 ID:???.net]
低能を悔しがらせようと思ってJS質問スレでそんなレスをしたのか

167 名前:Name_Not_Found mailto:sage [2018/06/23(土) 20:59:11.34 ID:???.net]
えマジで悔しかったのか

168 名前:Name_Not_Found mailto:sage [2018/06/23(土) 21:21:45.34 ID:???.net]
うん。マジで悔しかった

169 名前:Name_Not_Found mailto:sage [2018/06/23(土) 21:36:08.78 ID:???.net]
適応はadapt
適用はapplyとかadoptやな

170 名前:Name_Not_Found mailto:sage [2018/06/23(土) 21:51:33.46 ID:???.net]
効果が「適用」される
だとしてもおかしいがな
効果が反映される
とかだろ



171 名前:Name_Not_Found mailto:sage [2018/06/23(土) 22:37:00.39 ID:???.net]
効果を適用する↔効果が適用される
結果としてその効果が反映される
https://helpx.adobe.com/photoshop/using/layer-effects-styles.html#apply_preset_styles

172 名前:Name_Not_Found mailto:sage [2018/06/23(土) 23:43:14.39 ID:???.net]
いや違うだろ
言葉の組み立てとしては正しくともニュアンス的にな
「誰々が何々を適用する」は自然だが「誰々が何々を反映する」はより不自然
つまりは「反映」よりも「適用」と言ったほうが誰がそれをするのかイメージされやすいんだよ

そして今回のように「(自然と、勝手に)〜される」と言いたいのなら
「誰によってか」を意識させにくい「反映される」のほうが適切

173 名前:Name_Not_Found mailto:sage [2018/06/24(日) 00:05:37.04 ID:???.net]
>>158
ありがとうございます

>>160
カスタムエレメントというのは聞き慣れない言葉ですが
それは素のJavaScriptで出来るのでしょうか?
なんかフレームワークっぽい響きがありますが

174 名前:Name_Not_Found mailto:sage [2018/06/24(日) 00:11:00.59 ID:???.net]
日本語的には「効果が」に続く言葉としては「反映」「適用」どちらもおかしいんじゃないか

効果とは通常は一定の結果をあらわす言葉
何かに対して、規則・ルール・設定などを反映・適用した結果、あらわれるのが効果
一定イベントに特定の処理を当てはめる際も同様

逆に、設定画面で設定を変更したときに押すボタンが「適用」なのは正しい

175 名前:Name_Not_Found mailto:sage [2018/06/24(日) 04:24:09.05 ID:???.net]
いや、「適用」が使える場面は限られるよ
プロフィール画面で、公開ルールを設定する場合には使えるけれど
ニックネームなどを設定する場合には使えない
「適用」っていうのは値をそのまま当てはめるような場合ではなく
応用して使う場合にのみ使える言葉

例えば同じようなケースでも、マイプロフィール画面で
「プロフィールに『A』スタイルを適用する」とは言えるけれど
「プロフィールのスタイルを『A』で適応する」とは言えない
Aというスタイルは適用できても、スタイルの名前を指定する際は「適用」は使えない

176 名前:Name_Not_Found mailto:sage [2018/06/24(日) 05:04:49.53 ID:???.net]
>>173
ようするに「を」はOKだけど
「で」は適切じゃないって話?

○ プロフィールに『A』スタイルを適用する
× プロフィールに『A』スタイルで適用する

○ プロフィールのスタイルに『A』を適応する
× プロフィールのスタイルに『A』で適応する

177 名前:Name_Not_Found mailto:sage [2018/06/24(日) 05:54:28.06 ID:???.net]
>>174
厳密には違う
キャラクターメイキングで
「彼女」に「我慢強い性格」を適用する
に比べて
「彼女の性格」に「我慢強い」を適用する
は明らかに不自然だろう

後者はよく捉えたとしても結局
「彼女の性格」に「我慢強いという性格」を適応すると言ってるのと同じだ
そして先にも言ったようにただ固定値を貼り付けるだけであればあるほど「適用」というのは不適切

例えば、ゲーム開始以降に
「彼女の性格」に「より我慢強い」を適用する
なら
「彼女の性格」に「より我慢強い」を設定する
よりは適切だ

178 名前:Name_Not_Found mailto:sage [2018/06/24(日) 07:03:04.54 ID:???.net]
要するにAがBにただなるときはAにBを適用するというなということか

179 名前:Name_Not_Found mailto:sage [2018/06/24(日) 08:09:40.94 ID:???.net]
>>175
> キャラクターメイキングで
> 「彼女」に「我慢強い性格」を適用する
> に比べて
> 「彼女の性格」に「我慢強い」を適用する
> は明らかに不自然だろう

いやべつに?

だって、性格の他に髪型とか身長があるだろ?
「彼女の髪型」に「ショートヘア」を適用するは自然だけど、
「彼女」に「ショートヘアの髪型」を適用するとか
「彼女」に「150cmの身長」を適用するとか冗長じゃん

180 名前:Name_Not_Found mailto:sage [2018/06/24(日) 11:12:37.93 ID:???.net]
往生際が悪いぞ。いずれにせよ「適応」は間違いだ



181 名前:Name_Not_Found mailto:sage [2018/06/24(日) 11:21:56.62 ID:???.net]
「適応」あってるじゃんか
言い返せないから、往生際が悪いとか
意味不明なこと言って逃げたんでしょ?

182 名前:Name_Not_Found mailto:sage [2018/06/24(日) 11:22:45.57 ID:???.net]
適応障害
適用障害

183 名前:Name_Not_Found mailto:sage [2018/06/24(日) 11:43:03.57 ID:???.net]
>>173
>ニックネームなどを設定する場合には使えない
>「適用」っていうのは値をそのまま当てはめるような場合ではなく
>応用して使う場合にのみ使える言葉

・法令を適用する
・3秒ルールを適用する

応用じゃないんだが。辞書ひいてこい

「(入力した)ニックネーム(設定)を」「(今使っているソフトウェアに)適用する」
字面だけ見てもダメ

184 名前:Name_Not_Found mailto:sage [2018/06/24(日) 12:07:43.98 ID:???.net]
法令は遵守

185 名前:Name_Not_Found mailto:sage [2018/06/24(日) 12:12:38.85 ID:???.net]
いやなら法令を変えてみせろ

186 名前:Name_Not_Found mailto:sage [2018/06/24(日) 12:30:23.46 ID:???.net]
金も力もないでやんす

187 名前:Name_Not_Found mailto:sage [2018/06/24(日) 12:33:49.52 ID:???.net]
財布にお金を適用する

188 名前:Name_Not_Found mailto:sage [2018/06/24(日) 13:40:37.03 ID:???.net]
カードで

189 名前:Name_Not_Found mailto:sage [2018/06/24(日) 14:38:00.51 ID:???.net]
>>171
素のJavaScriptというと
https://developer.mozilla.org/en-US/docs/Web/API/CustomElementRegistry
のあたりとか

190 名前:Name_Not_Found mailto:sage [2018/06/24(日) 22:11:16.26 ID:???.net]
>>181
それを応用っていうんだよ
>>176の言う通り



191 名前:Name_Not_Found mailto:sage [2018/06/24(日) 22:22:03.01 ID:???.net]
Microsoftに喧嘩売ってるな
もっとやれ

192 名前:Name_Not_Found mailto:sage [2018/06/24(日) 23:30:02.76 ID:???.net]
しれっと応用にすり替えてんじゃねーよ適応は間違いだろうがw

193 名前:Name_Not_Found mailto:sage [2018/06/25(月) 00:29:29.06 ID:???.net]
>>188
>176は「適用」の話

194 名前:Name_Not_Found mailto:sage [2018/06/25(月) 00:51:38.93 ID:???.net]
「適用」が
>応用して使う場合にのみ使える言葉
かどうか、って話だろ?

195 名前:Name_Not_Found mailto:sage [2018/06/25(月) 03:20:49.95 ID:???.net]
substringとsubstrのメソッド名ってちょっと適当すぎるのでは?

196 名前:Name_Not_Found mailto:sage [2018/06/25(月) 04:59:47.75 ID:???.net]
初心者です。JavaScriptを簡単な電卓代わりに使おうと思うのですが
平方根などを知りたいときにMath.sqrt(5)などとやるのが面倒です。
この組み込みオブジェクトの宣言を取っ払って
sqrt(5)とやるだけでMath.sqrt(5)が実行されるようにするにはどうすればいいですかね。
というかそうでなくても例えばPythonのように
import math as m
とやれば
m.sqrt(5)
のようにタイプしやすくなりますがJavaScriptでもそのようなことがしたいです。

197 名前:Name_Not_Found mailto:sage [2018/06/25(月) 06:05:07.09 ID:???.net]
原点に戻ったほうが良いぞ
まず英語版Windowsはどうなっているか?
https://i-msdn.sec.s-msft.com/dynimg/IC8950.gif
↑この機能がapplyだ

俺に認識では
・設定を反映させて閉じるのが OK
・設定を反映させないで閉じるのが Cancel
・設定を反映させて閉じないのが Apply だ

OK、Cancel、Appyにダイアログを閉じる or 閉じない
という意味がないことは同意するよな?
で、閉じる閉じないを省略しつつ、簡潔に書くと

・この設定内容でOK
・この設定内容をCancel
・この設定内容でApply

あとは日本語の問題だ

この設定内容[で/を]応用・・・言わない
この設定内容[で/を]応用する・・・言わない
この設定内容で適用・・・ぎりぎり言う
この設定内容を適用・・・言う
この設定内容で適用する・・・言う
この設定内容を適用する・・・言う

これは翻訳の問題なので(意味はApplyが適切だと英語版Windowsで決定されてる)
応用という言葉は適切ではなく、適用がふさわしい

応用して使うとかいうのは意味不明。だって「テコの原理の応用」。とか
そういう使い方をする用語なんだから。設定内容を応用するとか言わないでしょ?

198 名前:194 mailto:sage [2018/06/25(月) 06:11:51.73 ID:???.net]
194ですが自己解決しました。すいません。
とりあえず
推奨案
 m=Math
 console.log(m.sqrt(5))
最適案
 with (Math) {
  console.log(sqrt(5))
 }
だったので後者を採用しました。

199 名前:Name_Not_Found mailto:sage [2018/06/25(月) 06:15:55.40 ID:???.net]
>>173がそもそも的はずれなのは、

「適用」がニックネームに対して行う操作ではなく
ダイアログに対して行う操作であることに気づいてないからだな

プロフィールという設定があるとして
「Aスタイル」というのは「プロフィール」の選択値
「適用」というのは「プロフィールの設定ダイアログ」に対する操作

「プロフィールにAスタイル」を「適用」するんじゃなくて、
「プロフィールとしてAスタイルを選択した設定内容」で「適用」するが正しい

そこがごっちゃになるから的はずれなことを言うわけさ

この設定内容で設定した値を使うわけだから「適用」
応用っていってしまうと、
(この設定内容は使わずに)この設定内容を応用して何かを作ってそれを使う
というニュアンスになってしまう


設定内容に対しての「適用」はどんな場面でも使えるよ。
そもそもOKしてダイアログを閉じないってだけなんだから
OKの代わりとし使える

200 名前:Name_Not_Found mailto:sage [2018/06/25(月) 06:16:40.58 ID:???.net]
>>196
withはなにがあっても使うなって言われてるだろ?



201 名前:Name_Not_Found mailto:sage [2018/06/25(月) 06:20:34.91 ID:???.net]
Math.sqrt(5) は Math.sqrt(5) と書くのが普通
どうしても sqrt ってしたいなら、
const sqrt = Math.sqrt.bind(Math)


const sqrt = Math.sqrt でも動くと思うが、sqrtメソッド内のthisが異なる
constが使えないブラウザの場合はvarで代用

202 名前:196 mailto:sage [2018/06/25(月) 06:30:00.42 ID:???.net]
>>199
ありがとうございます。
しかしそれだと
sinやlogやabsやら全てに対しその宣言をしないといけませんよね。
それはちょっと面倒です……。

それと、後出しのようになってしまいますが、完全に個人目的(ブックマークレット)なので
evalやwithなど危険性・脆弱性のある機能を使ってもいいかなと思っています。
他人が触らず、かつ入力されるものが完全に把握できている場合でもevalやwithの使用は控えるべきですか?

203 名前:Name_Not_Found mailto:sage [2018/06/25(月) 06:43:35.57 ID:???.net]
Microsoftって昔J-Scriptっていうのを作ったのにどうしてそれを放棄してAction Scriptを作ったん?

204 名前:Name_Not_Found mailto:sage [2018/06/25(月) 06:45:41.21 ID:???.net]
ActionScriptじゃなくてTypeScriptだった

205 名前:Name_Not_Found mailto:sage [2018/06/25(月) 06:53:43.91 ID:???.net]
Math.sqrtって打つのが面倒なら

m.sqrtって打っていって
最後にm\.sqrtをMath.sqrtに置換すりゃいいじゃん

206 名前:Name_Not_Found mailto:sage [2018/06/25(月) 07:04:57.51 ID:???.net]
>初心者です。JavaScriptを簡単な電卓代わりに使おうと思うのですが

JSを使って簡易電卓を作ってみたい
なら少しわかるが
初心者が、JSを電卓代わりに使う、とか意味わからん

207 名前:Name_Not_Found mailto:sage [2018/06/25(月) 07:11:11.56 ID:???.net]
>>201
JScriptは大人の事情で名前を変える必要があっただけで
実質はJavaScript。開発当時は標準仕様などなく
どのブラウザも好き勝手JavaScriptを発展させたので
互換性がない部分がたくさんあった

標準仕様が作られたが、いちばん重要な互換性を保つために
IEはJScriptの開発を続けていったが、ようやく互換性を切り捨て
標準仕様に準拠できるようになった。

TypeScriptはJavaScriptをもとに改良したもの
JavaScriptの標準仕様を満たしており、+αで機能強化されてる。
JScriptが標準仕様を満たしてないために切り捨てたものにたいして
TypeScriptは標準仕様を満たしてなおかつ拡張されているところが違う

208 名前:Name_Not_Found mailto:sage [2018/06/25(月) 08:08:38.93 ID:???.net]
>>205
なるほど
ありがとうございます

209 名前:Name_Not_Found mailto:sage [2018/06/25(月) 08:57:05.49 ID:???.net]
ここまですべてくそ
わからないものにはクソをする
ワハハ バタン!

210 名前:Name_Not_Found mailto:sage [2018/06/25(月) 12:51:04.88 ID:???.net]
>>200
何個使う気が知らないけど
let {sin,log,abs}=Math
みたいにできるし、10個未満なくらいならwith文使わなくても
煩雑になったりはしないと思うよ



211 名前:Name_Not_Found mailto:sage [2018/06/25(月) 13:18:53.49 ID:???.net]
だな。
用途がブックマークレットって言ってるしIIFE使うんだろうから、
(function({sin, log, abs}) {

})(Math);
ってやってもいい。

212 名前:Name_Not_Found mailto:sage [2018/06/25(月) 17:03:44.22 ID:???.net]
a = !a
みたいな処理が一度に出来る代入演算子ってありますか?

213 名前:Name_Not_Found mailto:sage [2018/06/25(月) 17:58:56.29 ID:???.net]
AIがスクリプトを自動生成する。

214 名前:Name_Not_Found mailto:sage [2018/06/25(月) 18:04:26.45 ID:???.net]
AIじゃ生活できないのよ

215 名前:Name_Not_Found mailto:sage [2018/06/25(月) 22:36:30.22 ID:???.net]
jqueryのtextメソッドを使って改行を表示させる方法はありますか?
文字列の中に"\n"を書いても改行になりませんでした

216 名前:Name_Not_Found mailto:sage [2018/06/25(月) 22:38:40.91 ID:???.net]
ソース上での改行かhtml上での改行か
html上なら無理

217 名前:Name_Not_Found mailto:sage [2018/06/25(月) 22:43:29.56 ID:???.net]
preでも使えば

218 名前:Name_Not_Found mailto:sage [2018/06/25(月) 22:49:14.26 ID:???.net]
無理なんですね
ではhtmlメソッドとHTMLエスケープを使ってやります
ありがとうございました

219 名前:Name_Not_Found mailto:sage [2018/06/26(火) 00:33:04.61 ID:???.net]
改行は、<br> だろ

改行を使わず、<p> でも良いかも

220 名前:Name_Not_Found [2018/06/26(火) 12:08:01.32 ID:WhKzw99L.net]
テーブルタグでクリックしたtdを連結するにはどうすればいいでしょうか?



221 名前:Name_Not_Found mailto:sage [2018/06/26(火) 12:32:01.63 ID:???.net]
>>218
https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableCellElement
rowSpan, colSpan

222 名前:Name_Not_Found mailto:sage [2018/06/26(火) 14:40:19.03 ID:???.net]
よく考えたらjqueryのtextメソッドって
文字列にHTMLをかけてinnerHTMLに代入するメソッドではなくて、
テキストノードを作成するメソッドですよね
たからbr要素を入れられないのも当然ですね

223 名前:Name_Not_Found mailto:sage [2018/06/26(火) 14:40:47.20 ID:???.net]
×HTMLをかけて
○HTMLエスケープをかけて

でした

224 名前:Name_Not_Found mailto:sage [2018/06/26(火) 16:17:52.29 ID:???.net]
JavaScriptファイルを編集してもキャッシュが読み込まれてしまう時がありますが
条件はあるのでしょうか?

225 名前:Name_Not_Found mailto:sage [2018/06/26(火) 18:57:16.64 ID:???.net]
>>220
エスケープなどしない
DOMを覚えて、タグを挿入している感覚を改めた方がいい

226 名前:Name_Not_Found [2018/06/26(火) 22:37:31.77 ID:21Hh71GO.net]
質問です。このシステムの名前を知らない為、長文になりますがよろしくお願いします。

サイトの中にあるリンクをクリックすると当たり前ですがリンクに組み込まれたurlに飛ばされます。
しかしこのリンクに組み込まれたurlをコピーし別タブで開くとサーバーエラーになりページが表示されません。
そこで、
質問1:このシステムの名称があれば教えてください
質問2:この現象(コピペするとエラー)を回避し、例えば自作のページに画像を貼るコードサンプルをご教授お願いします

227 名前:Name_Not_Found mailto:sage [2018/06/26(火) 22:50:47.17 ID:???.net]
・そんな糞なシステムを真似ないほうがいい
・そんな糞な仕組みを実装すると弊害が出る

228 名前:Name_Not_Found mailto:sage [2018/06/26(火) 23:55:55.62 ID:???.net]
そういう「外部からの勝手なアクセス」は迷惑行為として対策されていることがあります

著作権侵害などの問題が発生する可能性もあるので、できるとしてもやりたくないですね

229 名前:Name_Not_Found mailto:sage [2018/06/27(水) 00:34:19.12 ID:???.net]
ページAからページBのリンクを踏んでページBに遷移するときも、
直接アドレスバーにページBのURLを打ち込んで移動するときも、
そのサイトのサーバーにはページBに対するリクエストがクライアント(=ブラウザ)から来るわけですが、
この時クライアントがいっしょに送ってくる情報を調べて動作を変えることができます。
質問の動作の違いは、恐らくその情報のうち、リファラーというものを見てサーバーが動作を変えている(そういう風に作って/設定している)のだと思われます。
リファラーは簡単に言うとひとつ前にいたページのURLです。
アドレスバーに直接打ち込んで行くとカラなので区別できます。

230 名前:Name_Not_Found mailto:sage [2018/06/27(水) 03:52:34.75 ID:???.net]
>>222
普通はキャッシュから読み込まれる

故意にキャッシュを捨てるか、ページをリロードするか、
ファイルが変更された都度、ファイル名を変えるなどすると、
更新後のファイルが読み込まれる

>>224-227
履歴だろ。直前のページ。
どのページから、ここのページに来たか



231 名前:Name_Not_Found [2018/06/27(水) 08:42:42.72 ID:+obW3Yl5.net]
>>226
>>227
ありがとうございます

232 名前:Name_Not_Found mailto:sage [2018/06/27(水) 08:45:33.40 ID:???.net]
いいってことよ

233 名前:Name_Not_Found [2018/06/27(水) 11:32:45.97 ID:13209M2/.net]
>>219
ありがとうございます

rowSpanで下の行のtdを削除したいのですが
複数行ある場合にはどうすればいいでしょうか?

event.target.parentNode.nextSibling.nextSibling.nextSibling...
とクリック毎にnextSiblingを続ける方法がわかりません

234 名前:Name_Not_Found mailto:sage [2018/06/27(水) 12:23:35.95 ID:???.net]
>>231
rows, cells, cellIndex, rowIndex

235 名前:Name_Not_Found mailto:sage [2018/06/27(水) 14:49:23.24 ID:???.net]
>>232
できました!
ありがとうございました

236 名前:Name_Not_Found mailto:sage [2018/06/28(木) 15:59:33.64 ID:???.net]
jsSHAは
生成したオブジェクトを再利用することは出来ないのでしょうか?
ハッシュを生成するたびにオブジェクトをnewするのは無駄な気がして気になります

237 名前:Name_Not_Found mailto:sage [2018/06/28(木) 18:49:35.60 ID:???.net]
40桁の16進数を、36進数にしたいです
基数変換はtoStringで出来ますが、40桁の16進数はJavaScriptで扱える数の範囲を超えてますよね?
どうやればいいですか?

238 名前:Name_Not_Found mailto:sage [2018/06/28(木) 19:59:25.22 ID:???.net]
>>235
n進数のnを基数というのかと思っていたのですが、どうも違うようですね
n進数のnのことを何と言いますか?

239 名前:Name_Not_Found mailto:sage [2018/06/28(木) 20:05:37.33 ID:???.net]
基数

240 名前:Name_Not_Found mailto:sage [2018/06/28(木) 20:31:56.51 ID:???.net]
基数



241 名前:Name_Not_Found mailto:sage [2018/06/28(木) 20:54:35.78 ID:???.net]
基数を辞書で引くと

記数法で、基礎として用いる数、すなわち〇(ゼロ)から九までの整数。

と書いてあったので、これはちょっと違うのかな?と思ったのですが、基数でしたか
ありがとうございました

242 名前:Name_Not_Found mailto:sage [2018/06/28(木) 22:45:36.04 ID:???.net]
それ国語辞書とかで調べてない?
基数って言ってもいろいろあって、IT用語ならまさにn進数のことだし、数学用語ならa^n(べき乗)とかlogaN(対数)とかのaのこと
基となる数は基数

243 名前:Name_Not_Found mailto:sage [2018/06/28(木) 23:33:23.55 ID:???.net]
>>235
V8はBigIntが実装されたので、Chromeやnodeでは
BigInt

244 名前:('0xcafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafe').toString(36);
が使える
[]
[ここ壊れてます]

245 名前:Name_Not_Found mailto:sage [2018/06/29(金) 07:55:55.18 ID:???.net]
>>235
16進数->4進数->36進数

246 名前:Name_Not_Found mailto:sage [2018/06/29(金) 10:09:40.67 ID:???.net]
>>240
国語辞典で調べてました
文脈によって変わる語なんですね
ありがとうございました

>>242
それはどういうものでしょうか
自分の理解の範疇を超えています
40桁の16進数はJavaScriptで扱える整数の範囲を超えているので、
組込み関数ではなくてアルゴリズムでやるってことですよね
16進数から4進数は、各桁を4で割っていけばいいだけなので簡単そうです
でも4進数を36進数にするのは、そう単純じゃないですよね
4進数n桁が36進数m桁と同じになるのでしょうか?

247 名前:Name_Not_Found [2018/06/29(金) 12:07:48.57 ID:pAnXDGBH.net]
>>232
度々すいません
左隣りの縦列にrowspanがあるとcellIndexが変わってしまいますが
これはどうすればいいでしょうか?

jsbin.com/gonenedopi/edit?js

248 名前:Name_Not_Found mailto:sage [2018/06/29(金) 12:22:43.11 ID:???.net]
>>243
>>241は試した?

249 名前:Name_Not_Found mailto:sage [2018/06/29(金) 12:43:31.93 ID:???.net]
>>243
そうかね
36^0の桁だけ先に計算しておけば、36^1以降は計算しやすいと思うが

250 名前:Name_Not_Found mailto:sage [2018/06/29(金) 15:57:41.13 ID:???.net]
>>241
自分への回答と思わず読み飛ばしていました、すみません
そういうのがあるんですね
しかも、同様の機能を提供するbig-integerという汎用的なライブラリもあるようです
これを使えば簡単ですね
ありがとうございました

>>242
おっしゃる意図が読めません
理系の人なら分かるのでしょうか
四則演算以上の計算は難しいです
でもありがとうございました



251 名前:Name_Not_Found mailto:sage [2018/06/29(金) 19:54:35.21 ID:???.net]
>>244
左上から順番に数えなされ

252 名前:Name_Not_Found mailto:sage [2018/06/29(金) 21:55:17.95 ID:???.net]
せっかくBigIntの話を聞いてもライブラリで妥協するとかつまんねえ奴だな
そんなにレガシーブラウザで巨大数を扱いたいのか?
もうそっとしておいてやれ

253 名前:Name_Not_Found mailto:sage [2018/06/30(土) 12:05:09.33 ID:???.net]
>>248
できました!
適切なアドバイスありがとうございます

254 名前:Name_Not_Found mailto:sage [2018/07/02(月) 21:32:49.58 ID:???.net]
>>249
は??
electronアプリならいいですが
chromeでしか使えないものをウェブアプリで使えないのは当たり前ですが?
アホですか?

255 名前:Name_Not_Found mailto:sage [2018/07/02(月) 21:37:11.27 ID:???.net]
せやね

256 名前:Name_Not_Found mailto:sage [2018/07/02(月) 21:43:13.56 ID:???.net]
フォーム中のenterキー入力で発動する処理の中で、
別のフォームにフォーカスする処理を書いていたら、
フォーカス後のフォームにenterキーが入力されてしまいました
preventDefaultしたら現象は消えましたが
イベント伝播の最中に処理らしい処理をするのはもしかして避けた方がいいのでは?
と思ってきました
イベントハンドラの中ではlodashのdeferのようなもので処理の予約だけしておいて、
イベント伝播が終わった段階で処理が実行されるようにした方がいいのでは?と。
どうなのでしょうか?

257 名前:Name_Not_Found mailto:sage [2018/07/03(火) 01:29:30.34 ID:???.net]
単純な処理なら、かまわないだろうけど、

時間がかかる・複雑なものなどは、避けた方がよい

258 名前:Name_Not_Found mailto:sage [2018/07/03(火) 10:44:08.98 ID:???.net]
やはりそうですよね
ありがとうございました

259 名前:Name_Not_Found mailto:sage [2018/07/03(火) 12:37:48.02 ID:???.net]
>>251
アホはあんただ
そんなこと言ってるといつまでたっても使えない
モダンブラウザは今年中には対応してくるんだから
これからどうするのかという話だとBigIntを使っていこうと言う方が正しい

260 名前:Name_Not_Found mailto:sage [2018/07/03(火) 12:45:59.98 ID:???.net]
いや間違ってるよ。
create-react-appなどのツールもes2015+で書けはするものの最終的にはbabelでes5に変換している。
レガシーブラウザ対応のためだ。
世の中知らなすぎ。イキリ学生かな?
こんなとこでマウントとってないで勉強しろw



261 名前:Name_Not_Found mailto:sage [2018/07/03(火) 12:59:05.16 ID:???.net]
>>256
そうなんですか?
それはめでたいですが、
使う側からしてみればネイティブ実装だろうがライブラリ実装だろうが
インターフェイスに実質的に大差ないので、ちょこっと変えればいいだけの話です
マウンティングになってないんですよ
だからアホなんです

262 名前:Name_Not_Found mailto:sage [2018/07/03(火) 13:08:41.19 ID:???.net]
>>256
マジ学生のうちは勉強しといた方がいいよ。
時間とれるの今のうちだからさ…

263 名前:Name_Not_Found mailto:sage [2018/07/03(火) 21:48:01.48 ID:???.net]
マウントマウントってゴリラじゃないんだからさ
世の中〜とかどうでもいいわけ
世の中に合わせるために生きてるわけじゃないんだから
そんなゴタゴタしたことは実際にゴタゴタしたときに考えて
最も適切な方法を見つければいいだけ

IEで動かしたいのかもしれないし、Nodeで動かしたいのかもしれない
もし駄目なときはそりゃあ良いように対応すればいい
でも基本的にはネイティブを使っていこう、試してみようと思わないと先に進めないんだわ

要するに綺麗事でいいじゃないかということ
教科書っていうのは大抵は綺麗事だ
それに現実はそう上手くは行かないとケチつけるのはアホ
まず綺麗事があって、そこから綺麗事じゃないことに対応するべきなんだよ

つまりはせっかく教えてくれた人がいるんだからBigIntを
もっと積極的にできる限り使おうとしてみろよということ
「へー、まそれはまだ早計でしょうからこれにしますわ」じゃあまりに失礼だろう

264 名前:Name_Not_Found mailto:sage [2018/07/03(火) 21:59:38.61 ID:???.net]
っていうかそこまで新しい技術を積極的に使っていくことに反対するやつの気がしれないわ
babelでレガシーサポートが基本みたいに言うしさぁ
本人は現実的で無難で実際に役に立つ思想のつもりなのかもしれないけどさ
そういう奴らは結局10年前からいるIEガ〜厨と変わらないんだよ

ここに古い環境をサポートすべしと書けば書くだけ自分含む全JSerの首を締めることになるのが分からないのか
まだ吸収力がある初心者にこそケツひっぱたいてレガシー環境から遠ざけるべきなんだよ
それが俺たちのやるべきことだ

未熟な人に物事を教えるってことは甘く考えちゃいけない
学校の先生だって道徳で綺麗事を教えるだろう
それが変わりにいかに小狡賢く生きていくかを教えたらどうなる?
お前らがやってることはまさにそういうことだといい加減気づけ

お前らが根絶するまで俺はあえてこの極端なスタンスを取ってバランスを取る
これは俺がJS質問スレ20か30のころからずっと続けてきてることだ
わかったか??

265 名前:Name_Not_Found mailto:sage [2018/07/03(火) 22:19:16.13 ID:???.net]
ケンカをする悪い子は
スパークリングワイドプレッシャーで
お仕置きなのだ!

266 名前:Name_Not_Found mailto:sage [2018/07/03(火) 23:21:51.04 ID:???.net]
ドン引きですわ。糖質かな?

267 名前:Name_Not_Found mailto:sage [2018/07/04(水) 09:18:13.96 ID:???.net]
確かに古いブラウザを切り捨てないといつまでも新陳代謝が進まないということはあると思いますが
BigIntは時代遅れになったブラウザに欠けている標準的機能というより
最先端なブラウザにようやく実装されはじめた先進的機能ですよね?
ですからそれを使っても新陳代謝に寄与することはないんですよ
はい論破

268 名前:Name_Not_Found mailto:sage [2018/07/04(水) 10:56:06.24 ID:???.net]
stage4に入ってpolyfillも整備されたら使い始めれば良いと思う

269 名前:Name_Not_Found mailto:sage [2018/07/04(水) 11:07:23.74 ID:???.net]
最初にBigIntを紹介した者ですがこんなキチガイ中学生に背乗りされて荒らしの道具にされるとは思ってもみませんでした。
最初からポリフィルライブラリのほう紹介すればよかった。
申し訳ない。

270 名前:Name_Not_Found mailto:sage [2018/07/04(水) 12:24:45.17 ID:???.net]
>>266
お前も同類



271 名前:Name_Not_Found mailto:sage [2018/07/04(水) 14:11:37.30 ID:???.net]
>>267
お前は人類

272 名前:Name_Not_Found mailto:sage [2018/07/04(水) 14:59:27.62 ID:???.net]
タンノは魚類

273 名前:Name_Not_Found mailto:sage [2018/07/04(水) 23:10:54.85 ID:???.net]
美味いのは乙類

274 名前:Name_Not_Found mailto:sage [2018/07/05(木) 07:09:57.58 ID:???.net]
使えもせんもの紹介しっぱなしで逃げといて被害者ヅラとか片腹痛いわ

275 名前:Name_Not_Found mailto:sage [2018/07/05(木) 08:59:56.88 ID:???.net]
>>261
XHTML2やECMAScript4の失敗がある今でもこんなことをいう人がいるんだね
そういうことは、全人類を従わせるだけの力を身につけてからいいなよ

276 名前:Name_Not_Found mailto:sage [2018/07/05(木) 09:10:18.70 ID:???.net]
そいつ古参ぶってる中学生だぞ

277 名前:Name_Not_Found mailto:sage [2018/07/05(木) 09:20:42.91 ID:???.net]
>>261
> ここに古い環境をサポートすべしと書けば書くだけ自分含む全JSerの首を締めることになるのが分からないのか

誰も古い環境をサポートすべしとは言ってない。
現役のブラウザをサポートすべしと言ってるだけ

278 名前:Name_Not_Found mailto:sage [2018/07/05(木) 09:29:58.26 ID:???.net]
babelを使うとサポートしてない古いブラウザでも動いてしまう
だがウェブ標準で書いてもChrome 1(2008年リリース)という
サポートしてない古いブラウザでも動いてしまう

それとなにも変わらねぇ
わざわざ古いブラウザを切り捨てる意味はない

279 名前:Name_Not_Found mailto:sage [2018/07/05(木) 09:39:27.10 ID:???.net]
世の中から古いブラウザが消えないと新しい機能が使えない?
アホか。古いブラウザが消えなくても
お前がサポートをやめれば新しい機能は使える
昔流行ったIE6以上推奨です。みたいな文章を入れるだけの話だ

280 名前:Name_Not_Found mailto:sage [2018/07/05(木) 09:55:50.51 ID:???.net]
蔵「IE6で動かないのですが?IE6以上で動くと言っていましたよね?至急この不具合を直してください。ハヤク!」



281 名前:Name_Not_Found mailto:sage [2018/07/05(木) 10:16:01.63 ID:???.net]
そりゃIE6以上で動くことを保証していれば
対応しないといけないだろうな。

ホントな、サポートの意味をわかってない
馬鹿(>>277のことな)が多すぎw

サポートしないためには、動かなくしないといけない!
だからbabelを使ったらいけない
動いてしまったら、サポートしてることになるんだ!!
って思うのかね。アホかと

はいはい。Chrome 1で動いてしまったら
サポートしてることになるんですよねー(アホ理論では)

282 名前:Name_Not_Found mailto:sage [2018/07/05(木) 10:21:39.63 ID:???.net]
今年後半ジャバアプレットっていうのが流行るらしいです
去年マイナンバーのサイト?で導入されて話題になったそうですね
名前からしてジャバスクリプトの進化系だと思ってます
まだジャバスクリプト勉強中の身としては先が長いです
この世界は進化が激しいですね
みんなもうジャバアプレット使えるんですか?
ついて行けててすごいです…

283 名前:Name_Not_Found mailto:sage [2018/07/05(木) 10:59:43.92 ID:???.net]
誰かレスしてあげろ。可哀想だろ

284 名前:Name_Not_Found mailto:sage [2018/07/05(木) 11:25:00.70 ID:???.net]
中学生かー・・・・・・・・ええなあ

285 名前:Name_Not_Found mailto:sage [2018/07/05(木) 12:09:58.93 ID:???.net]
とりあえずwin8.1のサポートが終了すれば
理屈上はIE限定の環境はほぼ無くなるハズ

286 名前:Name_Not_Found mailto:sage [2018/07/05(木) 12:19:51.82 ID:???.net]
みんな新しいほど優れてるとは限らないんだぞ
これからはアップルウォッチの簡易ブラウザもサポートしないといけないんだから

287 名前:Name_Not_Found mailto:sage [2018/07/05(木) 12:35:34.95 ID:???.net]
クライアント「つまり、Google Chromeだけが対応ブラウザなのですね。IE12,Firefox,Safari...eycはサポートしないのがトレンドと仰るのですね。」
>>261「はい。世のブラウザはもっと、レガシー環境から遠ざけられるべきなんです。Google Chrome以外は全てレガシー環境。世の中の人が皆、Google Chromeを使えばいいのです。」

288 名前:Name_Not_Found mailto:sage [2018/07/05(木) 13:05:51.98 ID:???.net]
うち過半のアクセスがモバイルSafariなんやけど〜

289 名前:Name_Not_Found mailto:sage [2018/07/05(木) 13:12:59.75 ID:???.net]
いま一番問題になってるのは、古いAndroidスマホを
使い続けてるやつやで

290 名前:Name_Not_Found mailto:sage [2018/07/05(木) 16:53:31.86 ID:???.net]
lynx使ったら逮捕される世の中だし仕方ないな



291 名前:Name_Not_Found mailto:sage [2018/07/05(木) 19:12:11.64 ID:???.net]
IE12に突っ込む人はだれも居ないか

292 名前:Name_Not_Found mailto:sage [2018/07/05(木) 19:20:05.74 ID:???.net]
そもそもeycやし…w

293 名前:Name_Not_Found mailto:sage [2018/07/06(金) 00:00:58.84 ID:???.net]
typoしか、突っ込むところなしか

294 名前:Name_Not_Found mailto:sage [2018/07/06(金) 14:13:03.14 ID:???.net]
node.js難しいので導入とかしてないのですが
npmでインストールしてimportするのと
scriptタグで、なんとか.min.jsみたいなのを読み込むのって
何か違いがあるんですか?

295 名前:Name_Not_Found mailto:sage [2018/07/06(金) 15:05:29.86 ID:???.net]
はい。

296 名前:Name_Not_Found mailto:sage [2018/07/06(金) 15:50:27.16 ID:???.net]
はげ。

297 名前:Name_Not_Found mailto:sage [2018/07/06(金) 20:32:45.30 ID:???.net]
テキストやバイナリの1バイト目だけ取り出したいときって
text.substring()するしかない?

298 名前:Name_Not_Found mailto:sage [2018/07/06(金) 20:46:46.99 ID:???.net]
text.substringじゃむり

299 名前:Name_Not_Found [2018/07/06(金) 21:28:58.75 ID:Z0wHOskr.net]
来年でなるからそれを記念してされたらいいな。 してるかも。

300 名前:Name_Not_Found mailto:sage [2018/07/07(土) 09:57:36.64 ID:???.net]
>>291
HTML 内で読み込むのは、普通のやり方。
一方、npm で読み込むのは、そのフレームワークのやり方

Rails でも、実行環境は、Node.js だよ。
Node は画面機能として、すべての言語で必要

web アプリは、HTML, JavaScript で画面を作る



301 名前:Name_Not_Found mailto:sage [2018/07/07(土) 11:09:54.64 ID:???.net]
× HTML 内で読み込むのは、普通のやり方。
○ HTML 内で読み込むのは、昔ながらのやり方。

× 一方、npm で読み込むのは、そのフレームワークのやり方
○ フレームワークではなく、改良された新しい標準的なimport方法

× Rails でも、実行環境は、Node.js だよ。
○ ビルド環境がnode.js 実行環境はブラウザ

× Node は画面機能として、すべての言語で必要
○ 必要ない

× web アプリは、HTML, JavaScript で画面を作る
○ HTML、JavaScriptを使わず、それ以外の言語だけで作ることもある

302 名前:Name_Not_Found mailto:sage [2018/07/07(土) 12:37:26.05 ID:???.net]
npmってつかったことないけど
どっかからコピーしてきたjsファイルと
そのjsファイルに関するメタ情報(バージョンとか)が記述されたjsonとかのファイルを
プロジェクトフォルダに配置して
jsに更新があれば更新してくれるようになるみたいな代物?

303 名前:Name_Not_Found mailto:sage [2018/07/07(土) 13:25:10.31 ID:???.net]
nodejs
package
manager

npmが管理するパッケージは基本node専用。
require()やioなどnode用api使われてるからな。
ただ条件満たせばブラウザで実行できるよう変換できる。
パッケージ次第。
ブラウザ環境で使用可能かどうかはそのパッケージのウェブページなどに書いてある(ことが多い)ぞ。

304 名前:Name_Not_Found mailto:sage [2018/07/07(土) 13:27:12.71 ID:???.net]
あと>>297>>298は嘘松。
なんでこんないい加減なこと書くんだろ…

305 名前:Name_Not_Found mailto:sage [2018/07/07(土) 13:42:32.04 ID:???.net]
>>301
じゃあお前が信じてる嘘を書けば?

306 名前:Name_Not_Found mailto:sage [2018/07/07(土) 13:49:07.87 ID:???.net]
結局誰もよくわかってないんだろうなw

307 名前:Name_Not_Found mailto:sage [2018/07/07(土) 14:23:14.57 ID:???.net]
どこが嘘かも書けない低脳

308 名前:Name_Not_Found mailto:sage [2018/07/07(土) 14:46:19.56 ID:???.net]
正直node、nodeって言うほどそこまで良いものとは思えん

javascriptをそのままサーバサイドで、が売りだけど
node専用部分多いし、一定ライン以上複雑な処理書こうとすると途端に面倒になるし
多ユーザを高速にさばくためにnodeを使うとなるとお手軽とは正反対になる
それにコネクション張りっ放しにしてもらうような使い方しないなら、apache/phpで適切にチューンした方が・・・

309 名前:Name_Not_Found mailto:sage [2018/07/07(土) 15:15:42.45 ID:???.net]
nodeでコネクション張りっぱなし??ごめん何のこと?

310 名前:Name_Not_Found mailto:sage [2018/07/07(土) 16:32:46.77 ID:???.net]
例えばvue.jsのインストール方法見るじゃん
https://jp.vuejs.org/v2/guide/installation.html
cdnをscriptタグでリンクする方法の他にnpmとcliによるインストールがあるじゃん
npm用いてインストールしたらcdn使うのとHTML,Script,Style的に差は出るの?
もちろん通常のクライアントサイドのWeb用途を考慮して



311 名前:Name_Not_Found mailto:sage [2018/07/07(土) 17:01:52.59 ID:???.net]
以下のようにしてHTMLのbutton要素を取得したいのですが
var button Elements = document.getElementsByTagName("button")

Twitterのモバイルサイトではbuttonが表示されているのに
Chromeのユーザーエージェントをiphone設定して、HTMLを確認するとbuttonTagが存在していません
https://mobile.twitter.com/search

Ajaxによって動的に書き換えられた後のhtmlソースコードを確認する取得する方法はあるでしょうか?

312 名前:Name_Not_Found mailto:sage [2018/07/07(土) 17:07:58.53 ID:???.net]
>>308
document.head.outerHTML + document.body.outerHTML

313 名前:Name_Not_Found mailto:sage [2018/07/07(土) 19:47:09.42 ID:???.net]
>>309 ありがとうございます
document.documentElement.outerHTML では
ChromeデベロッパーツールでiPhoneに設定し
表示されたHTMLと同じになってしまいます
スクリプトだらけでタグ類はほとんどありません

以下のWebアプリで
seo.mash-comp.com/seo_tools/html_source_result.php
Twitterのモバイルサイト( https://mobile.twitter.com/search )
のHTMLを表示するとAjaxによって動的に書き換えられた後のHTMLを確認できました
inputタグやbuttonClassが正常に取得できています

このようなWebアプリはどのような手段で
動的に書き換えられた後のHTMLを取得しているのでしょうか?

314 名前:Name_Not_Found mailto:sage [2018/07/07(土) 20:08:55.73 ID:???.net]
いちいち動的に書き換えられたって言ってるがjsからはブラウザが(静的な)HTMLを解釈して組み上げたDOMしかいじれないのだから普通にいじればそれは動的に書き換えられているHTMLをいじってることになる。

何も特別なことする必要がなくて、なんとも答えられない。

jsから、ブラウザや他のjsにいじられる前のそのページの(静的な)HTML取得するにはどうすればいいですか、というほうがよほど質問らしい質問。(この場合はlocation.hrefをfetchして必要に応じてXMLParserかけるのだが)

315 名前:Name_Not_Found mailto:sage [2018/07/07(土) 20:42:59.17 ID:???.net]
何をしたいのかさっぱりわかんね

316 名前:Name_Not_Found mailto:sage [2018/07/07(土) 21:13:56.46 ID:???.net]
jsを性的にいじる話?

317 名前:Name_Not_Found mailto:sage [2018/07/08(日) 02:14:52.45 ID:???.net]
Reactを勉強しているのですが
Atomic Design の Organisms を人前で読み上げることができません
赤面してしまいます
なぜこんな性的な名称を付けたのでしょうか?
これはセクハラです

318 名前:Name_Not_Found mailto:sage [2018/07/08(日) 07:22:39.00 ID:???.net]
野球開始のプレイボーイ!みたいなもんや
気にするな

319 名前:Name_Not_Found mailto:sage [2018/07/08(日) 07:53:18.98 ID:???.net]
>>315
それはプレイボールでは?
こういう下品なオジサンが鼻の下伸ばしながら用語決めてると思うと許せない

320 名前:Name_Not_Found mailto:sage [2018/07/08(日) 08:27:35.42 ID:???.net]
>>316
え? だからいちいちプレイボールってきいて
セクハラって思うなって話なんだけど?



321 名前:Name_Not_Found mailto:sage [2018/07/08(日) 08:38:35.08 ID:???.net]
>>317
そういう単語をあえて使わないでほしいと言っています

322 名前:Name_Not_Found mailto:sage [2018/07/08(日) 09:08:05.71 ID:???.net]
orga"ni"sm な
元々iにアクセントがあるんだからはっきり発音すればよろしい

323 名前:Name_Not_Found mailto:sage [2018/07/08(日) 09:11:47.25 ID:???.net]
大蟹住む

324 名前:Name_Not_Found mailto:sage [2018/07/08(日) 09:14:16.14 ID:???.net]
まんさんに大声で読み上げさせたいわ
オーガニズム、オーガニズム

325 名前:Name_Not_Found mailto:sage [2018/07/08(日) 09:49:18.05 ID:???.net]
>>318
サセックス州
大声でいってみ

326 名前:Name_Not_Found mailto:sage [2018/07/08(日) 10:01:15.28 ID:???.net]
>>322
最低

327 名前:Name_Not_Found mailto:sage [2018/07/08(日) 11:06:55.22 ID:???.net]
最大限にハゲを侮辱するようなjsコードありませんか

328 名前:Name_Not_Found mailto:sage [2018/07/08(日) 11:19:37.94 ID:???.net]
徹底的にハゲをいじめるためのjavascript

329 名前:Name_Not_Found mailto:sage [2018/07/08(日) 11:30:52.31 ID:???.net]
お前の頭がパイパンだぜ!

330 名前:Name_Not_Found mailto:sage [2018/07/08(日) 18:13:09.21 ID:???.net]
やっぱりこういう性善説に基づいたスレって破綻するよね



331 名前:Name_Not_Found mailto:sage [2018/07/08(日) 18:32:31.13 ID:???.net]
え?性伝説?なにそれ?エロそうな伝説だな。

332 名前:Name_Not_Found mailto:sage [2018/07/08(日) 22:05:37.89 ID:???.net]
belief that human nature is fundamentally good

333 名前:Name_Not_Found mailto:sage [2018/07/09(月) 15:29:33.07 ID:???.net]
>>310
Ruby + Selenium WebDriver で、ブラウザを操作するとか?

334 名前:Name_Not_Found mailto:sage [2018/07/09(月) 17:40:19.38 ID:???.net]
Seleniumは様々な言語から操作させるドライバーがリリースされていますが、最も保守メンテが滞っているのがrubyとか言うクソ言語です。
Selenium自体はJava製のソフトウェアですから、ネイティブドライバーが使えるJava版が鉄板です。
とはいえJavaはめんどくさいという人はPythonやnodejs用のドライバーがそれに次いでよくメンテされています。

335 名前:330 mailto:sage [2018/07/10(火) 09:47:08.81 ID:???.net]
Ruby + Selenium WebDriver で、最新のChrome 67 でも動く

336 名前:Name_Not_Found mailto:sage [2018/07/10(火) 11:59:12.33 ID:???.net]
Pythonista的に糞言語には同意だけど
特定のドライバーの保守メンテが滞ってるから糞言語ってのはちょっとひどくねw

337 名前:Name_Not_Found mailto:sage [2018/07/10(火) 13:50:49.74 ID:???.net]
初心者で、クッキーの設定、取り出しを学習しております。

if(navigator.cookieEnabled)
{
document.cookie = 'key=value';
alert(document.cookie);
}
else{deocument.write("駄目")};

こんな感じでクッキーを設定して、取り出してアラートで表示するようにしたところ、
firefoxやIEではちゃんと表示されるのですが、Chromeだとアラートは出るのですが空白になります。
これはChromeの設定の問題でしょうか?
javascript許可、クッキーの保存読み取り許可しているのですが

338 名前:Name_Not_Found mailto:sage [2018/07/10(火) 20:18:36.28 ID:???.net]
昨今ポリシーがどんどん厳しくなってるからそういうことも起こる
オプション含め確実に値を設定し、万が一の場合も失敗が検知できるようにするため
chromeでは今後はcookieStoreが推奨される

cookieStore.set('key','value')
alert((await cookieStore.get('key')).value)
Canaryで試せる

339 名前:Name_Not_Found mailto:sage [2018/07/10(火) 20:19:59.47 ID:???.net]
最初の行await付けるの忘れてた

340 名前:Name_Not_Found mailto:sage [2018/07/11(水) 19:11:15.53 ID:???.net]
非同期クッキーAPIが入ってローカルストレージの非同期が来ないのはなぜだろう



341 名前:Name_Not_Found mailto:sage [2018/07/12(木) 01:03:43.79 ID:???.net]
>>335
ありがとうございます!

342 名前:Name_Not_Found [2018/07/13(金) 02:48:26.75 ID:RFgBSoyz.net]
var aud = $("#audio");
$("#next").on('click', function() {
var u = Math.floor(Math.random()*5) + 1;

aud.attr('src', "https://xxx.x.xx.x.x"+u+".mp3");
});

※nextはbutton要素のid です。

ここで質問させていただきます。この次の行にaudのsrcに指定したファイルを再生するのですが、
#nextを押しても再生されるファイルが変わってない(urlに指定していある「u」の値が反映されていない)ため、
思うように作動させることが出来なくて困っています。
なお、この関数は最初に呼び出されていると共に、一番上に書いてある関数です。
どなたかご教授願います。。。

343 名前:Name_Not_Found mailto:sage [2018/07/13(金) 02:50:10.84 ID:???.net]
5が全角なのはギャグか?

344 名前:Name_Not_Found mailto:sage [2018/07/13(金) 06:16:38.93 ID:???.net]
>>339
alert(u);

345 名前:Name_Not_Found [2018/07/13(金) 09:58:34.45 ID:5pSsdTZj.net]
>>340
コピペする過程で全角になってしまった可能性があります。というのもuが1になった時のファイルは再生されるので......

346 名前:Name_Not_Found [2018/07/13(金) 14:11:40.54 ID:RFgBSoyz.net]
>>341
ずっと1が表示されます

347 名前:Name_Not_Found mailto:sage [2018/07/13(金) 16:09:42.60 ID:???.net]
1のファイルとやらはvideoタグの初期ロードファイルだったりしないか

+で連結する前に、uと".mp3"について、それぞれ末尾にtoString()つけて、toString()含めて括弧で括る

348 名前:Name_Not_Found mailto:sage [2018/07/13(金) 17:49:19.43 ID:???.net]
>>343
https://jsfiddle.net/hnyvm7p5/

349 名前:Name_Not_Found mailto:sage [2018/07/13(金) 19:51:17.84 ID:???.net]
> コピペする過程で全角になってしまった可能性があります

コピペでそんなこと発生しないような
コピペした後、手入力し直したのが原因

350 名前:Name_Not_Found mailto:sage [2018/07/13(金) 19:59:33.00 ID:???.net]
っていうか自分の質問の原因のコードと
自分が質問のために書いたコードなのに、可能性があります ってなんや



351 名前:Name_Not_Found mailto:sage [2018/07/13(金) 20:36:49.17 ID:???.net]
何れにせよ単純なミスっぽいし
まずはエラーメッセージを見て確認してみるのが
正攻法として勉強になると思うよ

352 名前:Name_Not_Found mailto:sage [2018/07/13(金) 21:42:43.41 ID:???.net]
なにもしてないのに、全角になったんです。

353 名前:Name_Not_Found mailto:sage [2018/07/13(金) 22:00:51.87 ID:???.net]
なにもしてないのにjavascriptがこわれた

354 名前:Name_Not_Found mailto:sage [2018/07/13(金) 22:13:54.69 ID:???.net]
なにもしてないのに〜が壊れたの90割は何かしてる

355 名前:Name_Not_Found mailto:sage [2018/07/13(金) 22:27:47.72 ID:???.net]
>>349
何もしてないのに「コピペする過程で全角になってしまった可能性があります」と書けるのか
それとも、何もしてないのに、そう書いていたのか

結論「何もしてなかった」

356 名前:Name_Not_Found [2018/07/13(金) 22:27:48.65 ID:RFgBSoyz.net]
>>340 - >>348
var i = Math.floor(Math.random()*5+1);
var num = i.toString();
aud.attr('src', "https://xxx.xx"+num+".mp3");

で解決することができました!!皆様本当にありがとうございました!!!

357 名前:Name_Not_Found mailto:sage [2018/07/13(金) 22:35:34.20 ID:???.net]
>>353
それ、toString() は要らんのだがね

原因「なにもしてないのに、全角になったんです。」

358 名前:Name_Not_Found [2018/07/13(金) 22:38:43.81 ID:RFgBSoyz.net]
>>339の者ですが>>349>>350は私の投稿ではないです

5が5と全角になった理由としては当初random()*5はrandom()*2であり、
「1の値のみが返ってくる原因として
Math.floor()以降の数字が小さい数字であるのでは」という疑問を解消するため大きい数字を入れて
テストしていました。その後投稿する際に日本語入力のまま2を5に変更したため5が全角に
なってしまったのだと思います。混乱を招いてしまい、すいませんでした。。。

359 名前:Name_Not_Found mailto:sage [2018/07/14(土) 00:06:04.24 ID:???.net]
テストと投稿が関係あるとしたら
投稿時に書き直す必要はないし、そもそも全角の5に気づかないって何のテストになったんだという話

テストと投稿が関係ないんだったら
投稿時に2を5に変える必要がどこにもないよね

360 名前:Name_Not_Found mailto:sage [2018/07/14(土) 00:32:27.87 ID:???.net]
ええやん別に
お前らもうちょい優しく甘くなろうぜ
おかんやないんやから



361 名前:Name_Not_Found mailto:sage [2018/07/14(土) 00:38:38.21 ID:???.net]
>>357
概ね同意だけど、おかんはどっちかって言うと「何もしてないのに〜」って言う側やろ

362 名前:Name_Not_Found mailto:sage [2018/07/14(土) 01:01:39.32 ID:???.net]
なにもしてないのに怒られた

363 名前:Name_Not_Found mailto:sage [2018/07/14(土) 01:36:50.75 ID:???.net]
なにもしてないから怒られる

364 名前:Name_Not_Found mailto:sage [2018/07/14(土) 03:30:24.67 ID:???.net]
で、結局>>343の原因はなんだったの

365 名前:Name_Not_Found mailto:sage [2018/07/14(土) 03:41:12.33 ID:???.net]
複数安価で355がNGなってただけで原因みれたわ

366 名前:Name_Not_Found mailto:sage [2018/07/14(土) 04:01:09.95 ID:???.net]
Canvasでクロスフェードをしたいのですが、思うようにいきません
具体的には、例えば2枚の画像A,Bを半分ずつ重ねた状態を作るには、
アルファを0.5同士で重ねると良いように思えますが実際にそれをすると背景が透けます
0.5A画像+0.5B画像ではなく、
0.5(0.5背景+0.5A画像)+0.5B画像になってしまうということです

画像だけ分けて合成してから背景と合わせればいいだろうと思うかもしれませんがそれも上手くいきません
AB合成画像のαが(1-(1-(1-0)[無背景]*(1-0.5)[A画像])*(1-0.5)[B画像])=0.75[AB合成画像]となってしまい背景が0.25混じってしまうためです
解決方法を思いつかれた方はご教授ください

367 名前:Name_Not_Found mailto:sage [2018/07/14(土) 04:11:43.68 ID:???.net]
てかよくよくみたら原因は、全角のみじゃん。
ふつう「単に全角になってただけでした、すいません笑」みたいな返しが自然だが
>>353時点で、全角が原因だとまだ気づいてない or 別の原因があったことにしたい風なテンションはなんなん・・?

368 名前:Name_Not_Found mailto:sage [2018/07/14(土) 07:58:32.00 ID:???.net]
>>363
javascriptじゃなくそういう画像作れば?

369 名前:Name_Not_Found mailto:sage [2018/07/14(土) 12:27:23.78 ID:???.net]
<div id="a"></div>
スクロール必要な長いソースコードが続く
<div id="b"></div>

こういう状態で#bにいったときにアクションをしたいのですが
検出方法やどういったイベントを使うのでしょうか?

370 名前:Name_Not_Found mailto:sage [2018/07/14(土) 12:32:48.65 ID:???.net]
#bにいったときって?



371 名前:Name_Not_Found mailto:sage [2018/07/14(土) 12:35:00.85 ID:???.net]
マリア「なにもしてないのに子どもが出来ました!」

372 名前:366 mailto:sage [2018/07/14(土) 12:37:34.38 ID:???.net]
>>367
縦スクロールです
例えばこのスレを開いて>>1からスクロールしていって
>>366のところで画面にalertをジャンと出すような感じです []
[ここ壊れてます]

374 名前:Name_Not_Found mailto:sage [2018/07/14(土) 12:50:56.79 ID:???.net]
>>363
ユーザーの目

画像A(50%)

背景

この時点でユーザーからは背景と画像Aが1:1で混ざった状態に見えるのは分かる?これに画像Bを50%で更に足すと、それにさらに1:1で混ざった画像になっちゃうわけ。背景:画像A:画像B=1:1:2
背景が透けて見えるのがおかしいと認識してるんだから、次のようにすればいいと分かるよね?

ユーザーの目

画像B(50%)

画像A(100%)
↓(以下は見えない)
背景

割合を変更するには、画像Bのところだけをいじる。画像A:画像B=95%:5%にしたいなら画像Bのアルファを0.05(5%)にする。画像Aはいじらない。

375 名前:Name_Not_Found mailto:sage [2018/07/14(土) 13:00:16.18 ID:???.net]
>>369
>>366のところって?

376 名前:366 mailto:sage [2018/07/14(土) 14:10:13.38 ID:???.net]
#bの位置yを取得して
window全体をscrollイベントで現在の位置y'を監視して
yがy'になったら発火で良さそうですが
これだと常時scrollイベントが発生するので(位置yになったら解除するにしても)
環境によっては重い 電池消耗が激しいなどの問題に見舞われるので
そのへんうまくできないかなと思ったのですが

377 名前:Name_Not_Found mailto:sage [2018/07/14(土) 16:10:47.05 ID:???.net]
YouTube とか、その要素が表示されたら、画像を読み込むとかだろ

その要素が表示されたらとか、そういうイベントは無いの?

378 名前:Name_Not_Found mailto:sage [2018/07/14(土) 17:07:28.37 ID:???.net]
>>365 >>370
ご回答有り難うございます
確かに同形同位置の2枚の画像のフェードの場合はおっしゃる通りなのですが
実際は透過部分を持った不定形不定位置不定数枚のpngが動的に現れたり消えたりし得るというフェードであります

つまり、画像Aに画像Bを重ねる場合
画像Aを100%のままにしておくと画像Bが重ならない部分に問題が出てしまうということです
フェードが50%に達した段階では、
画像Aの画像Bに重ならない部分は背景と1:1で交わってほしく
画像Bの画像Aに重ならない部分は背景と1:1で交わってほしく
画像Aと画像Bの重なる部分はそれぞれ1:1で交わって背景は交わらさせたくないということです

ここからはフェードが同期的に始まったという場合で例を書きますが
もし画像Aのアルファが元々0.5である部分Дと、画像Bのアルファが元々1である部分Бが背景部分Gの上で交わるときは
フェードが50%に達した段階で0.25Д+0.5Б そしてのこる 0.25の部分がGとなってほしいです

もし画像Aのアルファが元々0.6である部分Дと、画像Bのアルファが元々0.7である部分Бと、
画像Eのアルファが元々0.8である部分Ёが背景部分Gの上で交わるときは
フェードが50%に達した段階で0.3Д+0.35Б+0.4Б これは1を超えるので、全ての係数の形が1となるように調整し
Gは全く含まれない、というような挙動にしたいです

要するに、αはフェード段階と画像のアルファに基づいて各画像分加算し、色もフェード段階と画像のアルファに基づき単純に加算する
ただしそのときαの合計が1を超える場合、αを1とし色の合計を調整して、最後に背景と重ねる
というようなうまくいくかどうか分からないアルゴリズムまでは考えたのですが
ピクセル操作などを行わずこういうようなことが簡単にできませんかね

ライブラリのフェードも試してみましたが、やはり問題は起こるようです(少しちらつくというか、浮くように見える)
今まで他の方はどうやって対処されてきたのでしょうか

379 名前:Name_Not_Found mailto:sage [2018/07/14(土) 17:47:49.01 ID:???.net]
>>374
これは見てる?
https://developer.mozilla.org/ja/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation

380 名前:Name_Not_Found mailto:sage [2018/07/14(土) 17:51:26.77 ID:???.net]
画像をうまいこと願望どおりに重ねたい、っていうのにjavascript関係ある?



381 名前:Name_Not_Found mailto:sage [2018/07/14(土) 18:11:11.87 ID:???.net]
>>375
まさにこういったことでできるのであれば良いと思っているのですが、
どう使ったら良いのか検討もつかないので色々試しても上手くいきません
このオプションごとにどういう計算式が使われてるかが分かればまだやりようがあるかもしれません

382 名前:Name_Not_Found mailto:sage [2018/07/14(土) 18:38:30.94 ID:???.net]
そもそもcanvasでないといかんのかね?
css の transition で済むように思えるが

383 名前:Name_Not_Found mailto:sage [2018/07/14(土) 18:49:22.19 ID:???.net]
>>378
フルCanvasのゲームなので何とも……
ビュー層をHTMLにしたこともありますが
パフォーマンスや表示互換性、スクリーンショットなどの機能の実現の容易さから
今はCanvasを使って進めています

384 名前:Name_Not_Found mailto:sage [2018/07/14(土) 21:01:41.87 ID:???.net]
読み込むjavascriptのファイルを1つに統一することって出来ますか?
出来るならどんな風にやったらいいでしょう?
変数や関数名がかぶったりすると思うのでそこを解決しないといけないのと
あとライセンス的にどうなのかなという問題もありますが
/***
なんたら.js
author Nantara
nantara.example.com/
MIT License
**/
/***
うんたら.js
author Untara
untara.example.com/
Apache License
**/
こんなかんじで同ファイルに列挙すればいいのかとか

385 名前:Name_Not_Found mailto:sage [2018/07/14(土) 21:18:43.89 ID:???.net]
>>380
ごくごく一般的に行われています。
なぜならhttp1.1では一つにまとめたほうがセッションを節約でき大抵の場合パフォーマンスも良くなるからです。
複数のjsファイルを一つにまとめたものはバンドルファイルなどと呼んだりします。
ツールはたくさんあります。
私はwebpack使ってますがcssや画像もバンドルできたりするカオスツールなのでもっとシンプルで使いやすいの選んだほうがいいかもです。

386 名前:Name_Not_Found mailto:sage [2018/07/14(土) 21:57:18.23 ID:???.net]
>>381
どうもありがとうございます
さっそくwebpackがどういったものか調べて
類似ツールでよさそうなの探してみます

387 名前:Name_Not_Found mailto:sage [2018/07/15(日) 05:43:29.99 ID:???.net]
なぜ類似ツールを使う?w

388 名前:Name_Not_Found mailto:sage [2018/07/15(日) 10:45:05.39 ID:???.net]
コピペした時に半角数字を全角に自動変換するにはどうすればいい?

389 名前:Name_Not_Found mailto:sage [2018/07/15(日) 15:30:26.71 ID:???.net]
charCodeAt(0) + 0xFEE0でググレ

390 名前:Name_Not_Found mailto:sage [2018/07/16(月) 01:40:30.93 ID:???.net]
たった10個しか無いんだから列挙すべきだと思うけどな
判定処理+
String.fromCharCode(n.charCodeAt()+0xFEE0)
より
"0123456789"[n] || n
の方が明らかに良いだろ



391 名前:Name_Not_Found mailto:sage [2018/07/16(月) 15:12:04.25 ID:???.net]
違うドメインで発生したjavascriptのエラーを捕捉することって

392 名前:できませんか? []
[ここ壊れてます]

393 名前:Name_Not_Found mailto:sage [2018/07/16(月) 16:03:17.03 ID:???.net]
違うドメインでエラー発生した際にキャッチしてシリアライズルール決めてjsonで送信
受け取ったらデシリアライズしてスロー

394 名前:Name_Not_Found mailto:sage [2018/07/16(月) 16:55:16.11 ID:???.net]
文字も混同した場合の>>384をやりたかったので>>386を参考に
var str="あ3い45う6え6 お2かき47く8け";
var newstr=str.replace(/[0-9]/g, n=>'0123456789'[n]);

395 名前:Name_Not_Found mailto:sage [2018/07/16(月) 19:14:23.03 ID:???.net]
横からですまんが
n=>'0123456789'[n]
この記法なんていうの?
無名関数で置き換えるとどんなかんじかな?

396 名前:Name_Not_Found mailto:sage [2018/07/16(月) 19:23:33.88 ID:???.net]
>>390
アロー関数 (n)=>n
function(n){ return n; }

function(n){ return '0123456789'[n]; }

397 名前:Name_Not_Found mailto:sage [2018/07/16(月) 19:27:43.20 ID:???.net]
文字列型の\dを投げてるのに本来整数型のindexとしてそのまま扱うのはちょっともにょる
この例では問題が出ないだろうとはわかっていても

398 名前:Name_Not_Found mailto:sage [2018/07/16(月) 22:33:44.44 ID:???.net]
>>390
ありがとう
少し賢くなった

399 名前:14 mailto:sage [2018/07/16(月) 23:17:40.53 ID:???.net]
分かってはいたけど人いなかった
https://mevius.5ch.net/test/read.cgi/hp/1507885112/
誰か分かる方あっちのvue.jsスレで助けてください
今日はプロジェクト一回消して明日やり直します

400 名前:Name_Not_Found mailto:sage [2018/07/17(火) 12:58:33.17 ID:???.net]
>>392
JSの全てのプロパティは文字列型じゃないの?



401 名前:Name_Not_Found mailto:sage [2018/07/17(火) 19:04:47.34 ID:???.net]
stringとsymbol

402 名前:Name_Not_Found mailto:sage [2018/07/18(水) 08:17:48.34 ID:???.net]
>>387
青島「事件(エラー)はサイトで起こってるんじゃない。ブラウザで起こってるんだ!」

403 名前:Name_Not_Found mailto:sage [2018/07/18(水) 08:59:43.72 ID:???.net]
>>387
違うドメインから目的のドメインに送れ
https://developer.mozilla.org/ja/docs/Web/API/Window/postMessage

404 名前:Name_Not_Found mailto:sage [2018/07/18(水) 10:37:04.38 ID:???.net]
>>387-388
非同期処理は、異なるコンテキスト(流れ)だから、

例外機構は使えないので、戻り値などで知らせてもらうしかない

405 名前:Name_Not_Found mailto:sage [2018/07/19(木) 02:49:03.03 ID:???.net]
ジャバスクリプトに
スリープがない合理的な理由って何かあるの?

ブラウザの表示が目的だから、
表示を止めないために
必ず処理をする仕様だとか
そんなもんなのかな。

406 名前:Name_Not_Found mailto:sage [2018/07/19(木) 02:55:01.39 ID:???.net]
まあ、理屈上は内部でsetTimeoutみたいに扱えばいいだけだとも思えるんだけどね

407 名前:Name_Not_Found mailto:sage [2018/07/19(木) 03:00:57.70 ID:???.net]
>>401
使いにくいんですよね。
よくあるスリープの代替手段は
メモリ食うし。
スリープ実行でメモリ食うとか、最悪ですよ。

408 名前:Name_Not_Found mailto:sage [2018/07/19(木) 08:54:56.43 ID:???.net]
>>400,402
sleepを使う合理的理由がないから

409 名前:Name_Not_Found mailto:sage [2018/07/19(木) 09:05:22.92 ID:???.net]
sleepって何に使うんだろうな?
待たせたい時?何を?

410 名前:Name_Not_Found mailto:sage [2018/07/19(木) 09:09:53.62 ID:???.net]
「真のプログラミング言語にはSleepなど必要ない」ワロタwww
ruby信者のruby擁護みたいな言い種wwwww



411 名前:Name_Not_Found mailto:sage [2018/07/19(木) 10:33:26.69 ID:???.net]
sleep代わりにpromiseじゃだめなの?
直接的ではないにしろ事足りよね

412 名前:Name_Not_Found mailto:sage [2018/07/19(木) 11:04:04.96 ID:???.net]
>>404
スリープを使うメリットは
メモリの使用量を減らしたいときとか
ブラウザが固まらないようにとか
任意のタイミングで処理を実行したりとか
とにかくあれば便利だ

まあ、私が初心者というのもあるけど
ジャバスクリプトは、すごくやりづらいです

413 名前:Name_Not_Found mailto:sage [2018/07/19(木) 11:45:20.15 ID:???.net]
>>407
これはひどい転嫁。
ブラウザが固まらないようにsleep??
pythonなど他の言語でも10秒sleepしたら10秒固まるのでは?
任意のタイミングで処理を実行??
まさにsetTimeoutやsetIntervalの出番では?

414 名前:Name_Not_Found mailto:sage [2018/07/19(木) 12:47:47.80 ID:???.net]
async関数使えば
例えば
for(){
await fetch()
await sleep(1000)
}
みたいに出来るよ
場合によっては良い感じになると思うし

415 名前:Name_Not_Found mailto:sage [2018/07/19(木) 13:29:04.12 ID:???.net]
>>407
sleepとpromise(コールバックなど含む)の違いは、
sleepは他の処理が終わってようが終わってまいが、
指定された時間ただ待つだけ

promiseなどは他の処理が終われば即座に
それがわかるわけで待つやり方としてはこっちのほうが良い

他の処理の完了を効率よく待つのはsleepでは実現できないんだけど
なんでsleepがいるの?

416 名前:Name_Not_Found mailto:sage [2018/07/19(木) 13:32:03.57 ID:???.net]
>>405
> 「真のプログラミング言語にはSleepなど必要ない」ワロタwww

実際そうじゃね? ただ単に待つだけの処理なんて意味ないよ

他の何かが準備できるまで待ちたいなら、
他の何かが準備できたら通知してくれる方が良い

他の何かが準備できるのを待つことに対してはsleepはいらないんだから、
じゃあ他に何にsleepを使うのかと

417 名前:Name_Not_Found mailto:sage [2018/07/19(木) 14:18:47.41 ID:???.net]
さすがに「ちょっとしたデバッグのために」とかじゃないよな・・
それこそコンソール使えばいいし

418 名前:Name_Not_Found mailto:sage [2018/07/19(木) 14:51:26.03 ID:???.net]
何のためにsleepを使うか

重い処理をやってるときに途中途中で画面に反映したいとき
setTimeoutでもなんとかなるけどsetTimeoutの再帰呼出では迂遠になるケースがある

処理Aと処理Bの間にちょっとウェイトを入れたいとき
アニメーションとか。setTimeoutでできるんだけど重なると面倒だしsleepの一行でできると楽

419 名前:Name_Not_Found mailto:sage [2018/07/19(木) 14:53:28.90 ID:???.net]
というか他言語でのsleepも原則「他処理にいったん明け渡したい」用途がデフォじゃない?
待つ用途で使うというよりも

420 名前:Name_Not_Found mailto:sage [2018/07/19(木) 15:01:30.30 ID:???.net]
>>413
そういう処理ならsleepの一行じゃ無理じゃん。ループの中に書かないと。
一方のjsはsetInterval一発なのであったw



421 名前:Name_Not_Found mailto:sage [2018/07/19(木) 15:05:08.99 ID:???.net]
>>415
例の前者のほうはループ必要だけどサブルーチン化は原理的には必要ない
setTimeoutやsetIntervalはサブルーチン化を強いられる
しかも再設定と離脱の仕組みを入れなきゃいけない分、どうしても複雑になるだろう
例の後者のほうはループ不要

422 名前:Name_Not_Found mailto:sage [2018/07/19(木) 15:18:34.74 ID:???.net]
>>409も書いてるけどsleepくらい自分で定義して使えば?
async関数で囲ってIIFEにして使うのが気に入らないかもしれないけどそのうちトップレベルawaitが入るとそれも要らなくなる。
ちなgoogle様謹製のsleep実装↓
const sleep = ms => new Promise(resolve => setTimeout(resolve, ms));

423 名前:Name_Not_Found mailto:sage [2018/07/19(木) 15:24:56.78 ID:???.net]
まあそういう風にやっちゃえば良くもあるんだけどね
ms待機とms以上待機とは厳密には違うということもあるけど実際そうそう問題にならないし

ただ、言語側で用意しようよという話

424 名前:Name_Not_Found mailto:sage [2018/07/19(木) 15:47:06.82 ID:???.net]
使いやすいところにsleep()があって気軽に使えるようになると
全体的にみればページロード完了までの所要時間が伸びるから
それを嫌ったのが実際のところじゃないかと

425 名前:Name_Not_Found mailto:sage [2018/07/19(木) 17:33:33.33 ID:???.net]
>>413
> 何のためにsleepを使うか
>
> 重い処理をやってるときに途中途中で画面に反映したいとき

sleepなんだからそこで処理は止まりますよ?
画面に反映する処理もしませんよ

だってsleepして止まってるんだから

ほんと何言ってるんでしょうかw

426 名前:Name_Not_Found mailto:sage [2018/07/19(木) 17:35:39.13 ID:???.net]
>>414
> というか他言語でのsleepも原則「他処理にいったん明け渡したい」用途がデフォじゃない?

今どきのOSはマルチタスクなんでー
sleepなんかしなくても他処理に明け渡されます。

427 名前:Name_Not_Found mailto:sage [2018/07/19(木) 19:00:57.33 ID:???.net]
昔のゲーム宜しく
sleep(10); //これを挟むとなぜか動く
でもやりたいんか

428 名前:Name_Not_Found mailto:sage [2018/07/19(木) 19:03:26.23 ID:???.net]
setInterval(hogehogefunction, 0); //こうするとなぜか動く

429 名前:Name_Not_Found mailto:sage [2018/07/19(木) 19:06:21.42 ID:???.net]
別にsleep使えばいいじゃん
自分で1行で定義すればasync関数内でそれっぽく使えるんだからさ
勿論setTimeoutというか、ブロッキングが気になるなら
requestIdleCallbackのようなものも検討していいケースもあると思うよ
でもsleep=悪ってことは無いと思うね
例えば同じように悪だと言われるevalよりも遥かに有用なテクニックだろうよ

430 名前:Name_Not_Found mailto:sage [2018/07/19(木) 19:11:14.34 ID:???.net]
>>422
sleep10秒挟むとなぜか動くってなに
興味がわいてしょうがないんだが



431 名前:Name_Not_Found mailto:sage [2018/07/19(木) 19:34:06.30 ID:???.net]
>>425
昔のゲームはOSなど無いに等しくハードウェアを直接操作していた。

そしてハードウェアの特定の命令は処理に時間がかかり
命令を出してから一定時間たたないと処理が終わらないことがあった
そういう場合はちゃんとハードウェアの仕様として最低Nミリ秒待つなどと書かれていた

しかし今の時代ハードウェアはOSやドライバが処理し、そのような処理に
一定時間かかるような、割り込みによって完了が知らされるようになった。
これにより処理が終われば通知されるため、スリープのように待ちすぎるようなことも無くなった。

もちろんブラウザでもOSやドライバ、それらを経由して
何かの処理に時間がかかるような場合は、コールバック関数が呼ばれることとなった
そのためブラウザでsleepは不要となった。またsleepは処理が止まり、
表示されたページも固まるのでユーザーインターフェースとしても不適切であり
避けるべきものとなった

432 名前:Name_Not_Found mailto:sage [2018/07/19(木) 19:34:10.33 ID:???.net]
10秒じゃなくて10ミリ秒だろ
つうか今でもJSみたいなイベント駆動じゃなくて
その対極に位置するポーリングタイプの言語環境では
ビジーループ回してsleepしながらポーリングするっていうのは普通になされていること

例えばゲームではコントローラーの状況をループでずっと確認し続けて
前回と変わっていれば変化があったと見なす
そういうのは普通に行われていること

433 名前:Name_Not_Found mailto:sage [2018/07/19(木) 19:40:53.35 ID:???.net]
>>423
直前にdomを操作する処理がある場合、非同期のため、hogehogefunction()とそのまま呼ぶとdom更新前に実行されてしまうことがある。
setInterval 0でラップするとdomが安定した状態で実行させることができる。
サイ本に書いてある。

434 名前:Name_Not_Found mailto:sage [2018/07/19(木) 19:44:58.75 ID:???.net]
>>427
だから何度も言ってるけど、sleepしたら処理が止まるだろ
画面書き変わらなくなるぞ

435 名前:Name_Not_Found mailto:sage [2018/07/19(木) 19:46:43.57 ID:???.net]
>>428
> 直前にdomを操作する処理がある場合、非同期のため、hogehogefunction()とそのまま呼ぶとdom更新前に実行されてしまうことがある。

違う。逆

直前にdomを操作する処理がある場合、同期処理のため、hogehogefunction()とそのまま呼ぶとdom描画前に実行される。

436 名前:Name_Not_Found mailto:sage [2018/07/19(木) 20:01:46.29 ID:???.net]
ああミリ病を想定してたのか
細かいのはsleep(0)とかusleepを使うもんだとばっかり

437 名前:Name_Not_Found mailto:sage [2018/07/19(木) 20:04:17.34 ID:???.net]
ゲームじゃなくても今のPCハードでも
イベントが軸になってるフレームワーク使わないで普通にcで書くと
sleepさせないで重い処理すると「応答がありません」ってなるんじゃないんか

438 名前:Name_Not_Found mailto:sage [2018/07/19(木) 20:05:17.30 ID:???.net]
sleepは秒指定だよな・・・

439 名前:Name_Not_Found mailto:sage [2018/07/19(木) 21:09:54.86 ID:???.net]
>>430
えっ? 自分の書き込み良く読み直してごらんよ。
直前のdomを操作する処理がもし同期処理なら、hogehogefunction()とそのまま呼んでもdom更新後に実行されるでしょ。
そうではなく非同期だからsetTimeout でくるむテクニックがあるわけで。

440 名前:Name_Not_Found mailto:sage [2018/07/20(金) 00:13:54.37 ID:???.net]
>>434
じゃあなんか再現する例出してみなよ
DOMの操作は同期処理。
だから何か操作した後にすぐに参照しても操作後のデータが得られる。
ただしDOM描画は同期じゃないがな



441 名前:Name_Not_Found mailto:sage [2018/07/20(金) 00:15:46.72 ID:???.net]
> そうではなく非同期だからsetTimeout でくるむテクニックがあるわけで。
非同期とか関係なく、他の操作によるDOMの画面更新の後に処理したいからsetTimeoutを使う

442 名前:Name_Not_Found mailto:sage [2018/07/20(金) 06:17:27.61 ID:???.net]
>>429
sleepを使う言語の多くにおいて描画スレッドは別だろ
むしろ他のスレッド、プログラムにCPUを明示的に明け渡さないと
プログラムはフリーズするしPCも重くなる

443 名前:Name_Not_Found mailto:sage [2018/07/20(金) 06:42:35.75 ID:???.net]
最近のブラウザで言うと正確には操作の時点で同期処理とは限らないよ
例えば要素の形を変えたりするような操作は非同期である程度まとめて扱われる
もしgetClientRectsを読んだりするとその時点でブロックして構築・計算される

444 名前:Name_Not_Found mailto:sage [2018/07/20(金) 07:05:01.10 ID:???.net]
「操作の時点で同期処理とは限らない」ってことは、同期なものも非同期なものもある、ってことだよな

DOM「操作」そのもので、非同期なもの・非同期になる場合って
具体的にどのブラウザの何?

getClientRects()は操作側じゃなくて描画側の今現在の状態取得なんだから例として不適切では

445 名前:Name_Not_Found mailto:sage [2018/07/20(金) 07:11:46.85 ID:???.net]
>>437
仕様を読めば分かると思うが、JavaScriptはHTMLパーサに割り込んで同期的に処理されるぞ

446 名前:Name_Not_Found mailto:sage [2018/07/20(金) 07:21:08.93 ID:???.net]
そのレス先jsの話じゃなくね

447 名前:Name_Not_Found mailto:sage [2018/07/20(金) 12:01:40.14 ID:???.net]
>>437
> sleepを使う言語の多くにおいて描画スレッドは別だろ
そうだよ? だから描画スレッドでsleepは使えないって言ってるんだが?

だから何度も言ってるけど、(描画スレッドで)sleepしたら処理が止まるだろ
画面書き変わらなくなるぞ

448 名前:Name_Not_Found mailto:sage [2018/07/20(金) 12:42:54.29 ID:???.net]
認めない系jser

449 名前:Name_Not_Found mailto:sage [2018/07/20(金) 12:44:03.61 ID:???.net]
入力フォームが整数かどうかチェックする関数ってないですか?
isNaNは文字列だとダメみたいだしありそうなのに出てこない

450 名前:Name_Not_Found mailto:sage [2018/07/20(金) 12:51:34.92 ID:???.net]
type number で stepを1にしておけばデスクトップでは整数入力になるでしょ
その後念の為数値を|0すればいいんじゃない



451 名前:Name_Not_Found mailto:sage [2018/07/20(金) 13:05:26.86 ID:???.net]
>>417
async関数外でもawait使えるようになる予定あんの!?
nodeにそういうモジュールあるのは見たけど

452 名前:Name_Not_Found mailto:sage [2018/07/20(金) 13:12:55.90 ID:???.net]
>>446
https://github.com/tc39/proposal-top-level-await
現在stage2

453 名前:Name_Not_Found mailto:sage [2018/07/20(金) 13:13:30.10 ID:???.net]
>>444
文字列なんだから普通に正規表現でいいんじゃないの

454 名前:Name_Not_Found mailto:sage [2018/07/20(金) 14:33:56.02 ID:???.net]
>>445
ありがとうございます
しかも最大最小チェックまでできるんですね
JSで値チェックして確認するアクションを作ろうとしてしてたんですけど必要なくなったので嬉しい
HTML5すごいですね

>>448
自分にとっては正規表現は普通じゃないんです
あんな意味不明な文字列かけるの理系のエリートだけじゃないの?

455 名前:Name_Not_Found mailto:sage [2018/07/20(金) 16:09:20.52 ID:???.net]
> あんな意味不明な文字列かけるの理系のエリートだけじゃないの?

バレターカ

456 名前:Name_Not_Found mailto:sage [2018/07/20(金) 16:44:08.15 ID:???.net]
そんな大したもんじゃないけどな
まずはワイルドカードの豪華版と考えて使い始めてみては?

457 名前:Name_Not_Found mailto:sage [2018/07/20(金) 18:12:35.14 ID:???.net]
便乗で質問
html5のstepで0.100ってやりたいけど
0.1になってしまう
変更されるたびに0付け足さないとだめな感じ?

458 名前:Name_Not_Found mailto:sage [2018/07/20(金) 18:44:20.13 ID:???.net]
html5のstepの意味が分からないので力になれない

459 名前:Name_Not_Found mailto:sage [2018/07/20(金) 19:14:29.13 ID:???.net]
ゼロ固定の小数2位、3位を表示させたい必要がわからない
0.001じゃだめなの

460 名前:Name_Not_Found mailto:sage [2018/07/20(金) 19:23:49.36 ID:???.net]
>>454
stepとは別の挿入する定数が0.123とか1.234で
で、リセット値は0.100
stepを0.001ではあまりに細かすぎるので
固定値挿入後に0.123→リセット→0.100→step 0.2→固定値 1.234
みたいに桁数がころころ変わる



461 名前:Name_Not_Found mailto:sage [2018/07/20(金) 19:50:48.14 ID:???.net]
てかそもそも例えば
0.111のあとにstep0.100したら0.2になったわ・・
0.211になるかと思ってたけど。

462 名前:Name_Not_Found mailto:sage [2018/07/20(金) 19:51:47.17 ID:???.net]
そこまで拘るんならもうPaintAPIとか使って好きなカスタム要素を0から作るしか無いだろうね

463 名前:Name_Not_Found mailto:sage [2018/07/20(金) 19:55:38.65 ID:???.net]
よくわからんけど、常に末尾に 00 を付けたいなら
それ専用の要素を配置して重ねればいいじゃない

00固定でもいいし、*1000して%100した値で更新し続けてもいいし

464 名前:Name_Not_Found mailto:sage [2018/07/20(金) 20:07:41.00 ID:???.net]
こちらの都合上、むしろ挙動は>>456で構わないけど
00省略は、数字が真ん中や右揃えだとぴょこぴょこなってちょっとだけ気になる

>>458
別の設定値 や step0.1で1.0が1になったり があるので末尾00固定は難しいけど
そもそも小数点使わない方法だと設定値の数字見た目そのものに意味があるので若干扱いづらい
(例えば3.14みたいな)

>>457
もう妥協することにしたわ
そこまで使用頻度高くないし

465 名前:Name_Not_Found mailto:sage [2018/07/20(金) 20:15:54.12 ID:???.net]
どうせ妥協するなら諦めなくとも
elem.onchange=e=>{e.target.value=e.target.valueAsNumber.toFixed(2)}
とかで妥協しても良いんじゃない?

466 名前:Name_Not_Found mailto:sage [2018/07/20(金) 20:23:14.02 ID:???.net]
>>460
なんじゃこりゃ初めて知った

467 名前:Name_Not_Found mailto:sage [2018/07/20(金) 20:49:13.79 ID:???.net]
>>460
自分の環境だけかもしれないがinputの上下矢印にmouseONのままclickだと最初しか反映されず
mouseOUTすると反映
キーボードからは常時反映で良い感じ
外部からjqueryのvalで値を変更すると無反応

468 名前:Name_Not_Found mailto:sage [2018/07/20(金) 21:40:17.15 ID:???.net]
イベントトリガには深い闇があってな

469 名前:Name_Not_Found mailto:sage [2018/07/20(金) 22:01:16.21 ID:???.net]
まあ今回はそんな闇は関係ないが

470 名前:Name_Not_Found mailto:sage [2018/07/20(金) 22:37:47.58 ID:???.net]
結局セミコロン;はつけるの?つけないの?



471 名前:Name_Not_Found mailto:sage [2018/07/20(金) 22:48:33.59 ID:???.net]
今どきはスタイルの制限というものはない
公開される時には整形で揃うから

472 名前:Name_Not_Found mailto:sage [2018/07/20(金) 22:57:18.49 ID:???.net]
>>447
thx便利になるな

473 名前:Name_Not_Found mailto:sage [2018/07/20(金) 22:58:40.09 ID:???.net]
配列とかリストとか最後のアイテムにカンマつける?

474 名前:Name_Not_Found mailto:sage [2018/07/21(土) 06:12:04.43 ID:???.net]
>>467
誤解してるんじゃない?
ただ単にモジュールの非同期読み込み時にもawaitが使えるというだけだぞ
大抵はDOMContentLoadedを待ったりするだろうしそんな便利になるようなものではないよ

475 名前:Name_Not_Found mailto:sage [2018/07/22(日) 09:30:47.82 ID:???.net]
明言してくれても良いのよ?
www.atmarkit.co.jp/ait/articles/1807/20/news047.html

476 名前:Name_Not_Found mailto:sage [2018/07/22(日) 10:46:42.18 ID:???.net]
次のガンはSafari

477 名前:Name_Not_Found mailto:sage [2018/07/23(月) 12:14:45.42 ID:???.net]
ブラウザ用でもnode.jsでもいいのですが
英語の形態素解析ライブラリってないですか?
検索の時に活用のゆらぎを吸収するのに使いたいです
madeもmakeでヒットするようにするなど

478 名前:Name_Not_Found mailto:sage [2018/07/23(月) 12:56:01.18 ID:???.net]
それは形態素解析と言わない

479 名前:Name_Not_Found mailto:sage [2018/07/23(月) 13:09:56.05 ID:???.net]
いや形態素解析で出来ますよね?
原形が分かるので。
品詞を分析しない単純な置換だと、本来正規化する必要のない語まで置き換えかねないので
形態素解析でやる方がいいと思います

480 名前:Name_Not_Found mailto:sage [2018/07/23(月) 13:31:29.98 ID:???.net]
形態素解析では出来ない
それは解析結果を使ってるだけ。形態素解析でやってるわけではない。



481 名前:Name_Not_Found mailto:sage [2018/07/23(月) 19:59:38.03 ID:???.net]
いや解析結果を使うには形態素解析が必要ですよね?
ようは形態素解析ライブラリがあれば万事解決なんですよ
しょうもない詭弁はいらないんです

482 名前:Name_Not_Found mailto:sage [2018/07/23(月) 20:14:55.31 ID:???.net]
はやく形態素解析ライブラリだしてくださいよ
期限は今週中なんですよ

483 名前:Name_Not_Found mailto:sage [2018/07/23(月) 20:15:36.29 ID:???.net]
形態素解析ではできないよ

484 名前:Name_Not_Found mailto:sage [2018/07/23(月) 20:53:46.76 ID:???.net]
>>477
いやなりすましはやめて下さい

>>478
出来ますよ
アホなんですか?

485 名前:Name_Not_Found mailto:sage [2018/07/23(月) 21:08:27.24 ID:???.net]
Web Assemblyが主流になればjavascript終わるの・・?

486 名前:Name_Not_Found mailto:sage [2018/07/23(月) 21:09:02.95 ID:???.net]
形態素解析には辞書が不可欠だけどブラウザ稼動で辞書読み込ませるん?

487 名前:Name_Not_Found mailto:sage [2018/07/23(月) 21:19:10.06 ID:???.net]
>>479
出来ないよ。
新幹線で大阪まで行って道頓堀に飛び込むことは出来るけど、
新幹線で道頓堀に飛び込むことはできないよ。
日本語を勉強しよう。
質問は相手に伝わらないと意味がないよ。

488 名前:Name_Not_Found mailto:sage [2018/07/23(月) 21:24:19.44 ID:???.net]
wasmって要するにこれだよな
何やってるプログラムなのか読むのがものすごくめんどいjavascript

489 名前:Name_Not_Found mailto:sage [2018/07/23(月) 21:39:10.94 ID:???.net]
自分も形態素解析興味あるので横からだが
まとめると、例えば下のような文章があったとすると

【文章】
 「私の名前は学(まなぶ)です。」
 「私は歴史を学ぶ。」

【辞書ライブラリ】
 学 - 学ぶ - 学んだ

【やりたいこと】
 人名の 「学」 を 「學」 に置換したい
 それ以外の 「学」 は置換したくない
 ので、形態素解析にまず通して、人名だけ抽出
 辞書ライブラリに通して、人名の「学」だけを抽出

みたいなこと?(あくまで一例だが)

490 名前:Name_Not_Found mailto:sage [2018/07/23(月) 21:40:46.34 ID:???.net]
>>482
頭良さそうだなお前



491 名前:Name_Not_Found mailto:sage [2018/07/23(月) 22:02:05.85 ID:???.net]
例えば簡単な暗号化を返したいとき
(1)入力された文字列
(2)文字列をリバース、md5に通してリバース、さらにmd5
(3)前から10文字だけ返す
みたいなことをしたかったら
javascriptの生ソースで置いて読み込んでたらバレバレなのは当たり前だけど
バラしたくなければ、例えばサーバーサイド言語で(2)(3)の部分だけを
サーバに置いてコールバックで受け取る、みたいなのが今までの手法?
でもwasmだと(2)(3)の部分がコンパイル済みなので
ハッキング以外にはバレない、みたいなことが可能なのでしょうか・・?
そうであればウェブ言語だけでシリアルナンバーとか生成できそうで便利だと思ったのですが

492 名前:Name_Not_Found mailto:sage [2018/07/23(月) 22:06:58.17 ID:???.net]
逆汗されたら無力だけど気軽には見られないよね
程度の認識がいいと思う

493 名前:Name_Not_Found mailto:sage [2018/07/23(月) 22:12:44.37 ID:???.net]
なるほど・・
おそらく逆汗封じというか、極力わかりにくくするような技もあるんでしょうね

494 名前:Name_Not_Found mailto:sage [2018/07/23(月) 23:44:45.33 ID:???.net]
ないよ。まったく無駄。そういうことのために用意された訳じゃない。

495 名前:Name_Not_Found mailto:sage [2018/07/24(火) 00:16:52.66 ID:???.net]
>ウェブ言語だけでシリアルナンバーとか生成できそうで便利だ

この結論部分が何言ってんのか全く理解できない

496 名前:Name_Not_Found mailto:sage [2018/07/24(火) 00:49:46.84 ID:???.net]
>>490
(仮に)逆汗無しという前提であれば
(1)シリアルキー発行するwasm
(2)(1)のシリアルキーを認識できる圧縮解凍フォーマットwasm
を用意すれば
ウェブ系の言語だけでとか、オフラインでもとか、ブラウザのみでとか
それぞれ(サインアップなど必要とせず)プロテクト付きのコンテンツをやり取りできそうで便利、
という意味
でもアンチ逆アセンブラは無理そうなのでタラレバですね

497 名前:Name_Not_Found mailto:sage [2018/07/24(火) 00:58:28.90 ID:???.net]
バカか。そんな前提無意味。winやmacのネイティブアプリがシリアルキー発行してるか?
常識で考えろバカ。
クラッカーに「いや逆アセンブル無しでお願いします」言ってまわんのかバカが。

498 名前:Name_Not_Found mailto:sage [2018/07/24(火) 00:59:16.40 ID:???.net]
md5で?md5で?
「シリアルキー発行」をwasmすなわちクライアント側がやってどうすんの?
圧縮ないし暗号化されたものを、伸張ないし復号化された後のものをどうこうされたら無駄では?

499 名前:Name_Not_Found mailto:sage [2018/07/24(火) 01:06:52.60 ID:???.net]
通信量やロード時のコストは変わるかもしれないけど実際の処理速度は変わらんのだろ
当たり前だけど

じゃあ他に何が良いかって、javascript以外の記述が使えることを除けばあとは
難読化よりももう少しバレにくい、以外無いじゃん

バレたくないどんな処理をさせるつもりだよ
どんな処理させられてるかわからないコードなんて受け入れたくないわ

500 名前:Name_Not_Found mailto:sage [2018/07/24(火) 01:14:20.13 ID:???.net]
ウェブ言語というものからしてもう誤解してそう
知ったか系SE



501 名前:Name_Not_Found mailto:sage [2018/07/24(火) 01:23:47.60 ID:???.net]
バレにくくするために用意された仕組みではありません。
お前のような泡沫ザコプログラマ以外にとっては、コンピューターで現実時間で解析的に解ける難読化は無いのと一緒です。

502 名前:Name_Not_Found mailto:sage [2018/07/24(火) 01:35:20.03 ID:???.net]
>>492
>クラッカーに「いや逆アセンブル無しで
仮に、逆汗無し=逆汗ができないとすると
という意味です・・・
できてしまうというのはなんとなく流れでわかりました
なので 仮に です

>>493
md5どうのこうの例は単に説明のために簡単な例をあげただけなので・・・
(適当にmd5を選んだだけです)
例えば、とか、みたいな、って結構強調したつもりなんですけどねぇ・・・
>復号化された後のものをどうこうされたら無駄では?
もちろん復号化されたデータが拡散されたら終わりですし
シリアルキーが流出したら終わりです
(どんなコンテンツかにもよりますが)

>>496
はい、>>489もみましたしそのタイミングで>>490のレスが来たので
答えるとすれば>>486時点での認識で「仮の」話をしなきゃいけなかったのです
なのでそれ以降、例えばとか仮にとかクドいかなと思いつつ書きまくったんです


でもこのありさまなんですよねぇ・・・
「例えばもしも」から話してるのに
投げ返された会話のボールが妙にズレている気がしてなりません・・・

503 名前:Name_Not_Found mailto:sage [2018/07/24(火) 01:39:39.81 ID:???.net]
意味の無いしょうもない仮定に付き合う必要はない。
「もし朝起きたときチンコが松茸になっていたとして〜」
このあとは聞く必要はない。そういうこと。

504 名前:Name_Not_Found mailto:sage [2018/07/24(火) 01:40:15.06 ID:???.net]
簡単な例が云々とか説明のため云々はいいから
md5で何をどうやって?

505 名前:Name_Not_Found mailto:sage [2018/07/24(火) 01:42:18.42 ID:???.net]
クライアントサイドでシリアルナンバー発行とお考えになった理由はノータッチなんですか

506 名前:Name_Not_Found mailto:sage [2018/07/24(火) 01:45:18.19 ID:???.net]
ジャップ真でくれ

507 名前:Name_Not_Found mailto:sage [2018/07/24(火) 01:47:03.57 ID:???.net]
スレをミスったわ

508 名前:Name_Not_Found mailto:sage [2018/07/24(火) 01:48:40.27 ID:???.net]
なーにが会話のボールだ
ボールにウンコ付けて投げといて相手がキャッチしないとブー垂れるバカかww
取るわけねーだろバーカwwww

509 名前:Name_Not_Found mailto:sage [2018/07/24(火) 01:58:15.59 ID:???.net]
「解析されにくい」が前提にあればできることなら
例えばflashなどで実現されてたはずの手法ってことにならんかね
あれわりとブラックボックスだろ

510 名前:Name_Not_Found mailto:sage [2018/07/24(火) 02:00:08.75 ID:???.net]
>>499
>>486は入力された文字列をトリップみたいなもので返してほしいな、
程度の話で、>>486の最後の行と>>491のシリアルキーのくだりはmd5云々とは別の話です
シリアルのくだりを強いて言うなら例えば、
(1)シリアルキーを発行するwasm
  例)「3284443」や「7138751」という素数シリアルキーを発行する
(2)シリアルキーを解読できる圧縮解凍フォーマットwasm
 例)「3284443」や「7138751」を素数判定して解凍

みたいな感じです
仮に、素数も(1)(2)のソースコードもバレなければ、復号化が難しい
みたいな感じです
ただし、シリアルコードが流出することや復号化されたデータが流出することには対応できません
みたいな感じです

さすがにくどいと思いますが、もちろんシリアルキーが素数というのはあくまで例なので
そのままの意味で受け取らないでくださいね
もっと良い例があると思うので脳内変換してください
あとこのレスは"); //]]>-->
511 名前:498" rel="noopener noreferrer" target="_blank">>>498の通りです []
[ここ壊れてます]

512 名前:Name_Not_Found mailto:sage [2018/07/24(火) 02:01:45.44 ID:???.net]
訂正
>仮に、素数も(1)(2)のソースコードもバレなければ
仮に、みんな素数も知らず、1)(2)のソースコードもバレなければ
でした

513 名前:Name_Not_Found mailto:sage [2018/07/24(火) 02:10:35.73 ID:???.net]
素数……ソース……
ふふっ

514 名前:Name_Not_Found mailto:sage [2018/07/24(火) 02:20:40.25 ID:???.net]
https://blog.mbaas.nifcloud.com/entry/2018/01/31/104952
ちなみにこの記事
>WebAssemblyとは?
>バイナリ、つまりコンパイルされていますのでソースコードが読まれることはありません。
てあるけど

515 名前:Name_Not_Found mailto:sage [2018/07/24(火) 02:22:34.44 ID:???.net]
>>505
見事に「ウェブ言語だけでシリアルナンバーとか生成」が意味不明なままなんだが

コンテンツに対するプロテクトのくだりだけ拾っても
>シリアルキーを認識できる
>シリアルキーを解読できる
ってどんな処理を想定してんの

暗号化分野に関わらないほうがいいと思う

516 名前:Name_Not_Found mailto:sage [2018/07/24(火) 02:23:05.83 ID:???.net]
「ソースコードが」読まれないからなんだっつーんだよ

517 名前:Name_Not_Found mailto:sage [2018/07/24(火) 02:37:49.65 ID:???.net]
はじめから最後まで処理フローを書き起こしてみると問題点がわかるようになると思うよ
書く能力があるならね

518 名前:Name_Not_Found mailto:sage [2018/07/24(火) 02:57:14.70 ID:???.net]
>>509
>ってどんな処理を想定してんの
一言でいうと、コンテンツのプロテクトです

まず、>>505の(1).wasmと(2).wasmをみんながインストール?する
(例えばchromeの拡張でもアプリでもなんでもいいので読み込む)

Aさんがコンテンツをアップロード(アップロード先の指定なし)
その際、(2).wasmで圧縮(や暗号化など) → 暗号化されたコンテンツA
(コンテンツAは公開されており、不特定多数がコンテンツAをダウンロードできる状態(*1)。
が、内容の閲覧はシリアルキーがないので、できない)

BさんがAさんのコンテンツを購入
→(1).wasmによりシリアルキーが発行される
→コンテンツAをダウンロード
→(2).wasmに従い、コンテンツAを復号化

これが可能ならば従来のデータサーバと決済プラットフォームの集中型BtoCではなく
(1).wasmと(2).wasmと購入→発行.wasmを配布するコストだけなので、
決済もデータサーバも場所にこだわらないCtoCが可能なのではと思いました
(もちろんBtoCかつ、データだけ別というのもあり)

もちろんこのままだとコンテンツA以外のどのコンテンツ(BCDE、、、)も同じシリアルキーで閲覧できてしまうので
今はパス付きzipみたいなものとの差別化、程度です
もっと深い解決策は賢い人に任せます

(*1)コンテンツ自体は暗号化せず、シリアルキーをログインに必要なデータにしてもよい

519 名前:Name_Not_Found mailto:sage [2018/07/24(火) 03:00:24.39 ID:???.net]
あと、購入→(1).wasmではなく、購入→認証→(1).wasmです

520 名前:Name_Not_Found mailto:sage [2018/07/24(火) 03:54:20.50 ID:???.net]
>>512-513
他人の企画にタダで添削してあげる趣味はないんだけど
あえて言うと

原則的にファイルとしての取得をさせずブラウザ上でのみ閲覧/使用等が可能、
・・・と出来なければ、絵に描いた腐った餅では

それをなんとかできないのであれば
「.wasm・シリアルキー・暗号化済み製品コンテンツ、以上3つが揃わないとコンテンツを復号化できない」
という仕組みにする意義がない
既存の方法の改悪に過ぎなくなり、>>512の5段目などは根拠に欠ける論理飛躍となる


あと、そんな仕組み想定だとて「ウェブ言語だけでシリアルナンバーとか生成」「シリアルキーを解読できる」は意味不明のまま
説明スキルの欠如なども鑑みると、正直いって企画・設計に携わらないほうが良いと言っておきたい



521 名前:Name_Not_Found mailto:sage [2018/07/24(火) 04:26:11.26 ID:???.net]
擁護レスが皆無

522 名前:Name_Not_Found mailto:sage [2018/07/24(火) 04:46:47.64 ID:???.net]
> >>512の5段目などは根拠に欠ける論理飛躍となる
あれ・・?そうですかね
例えばBtoCサービスによるCtoCの補助サービスな感じで
.wasmの生成や配布が企業により保証されていれば、ハードルが低いというか
「うちのサービス使うならこのアプリ使ってね」や
「こちらからユーザに紐付いたコンテンツ別の.wasmを生成してね」
なんかは自然な流れだと思いますね
完全CtoCかつ個人で決済もシリアル発行も、は利用者のリテラシ上ハードルは高そうです
ですが、上にも書いたよう.wasm生成・配布サービスが保証されていれば
インストールする前に、企業連携でハッシュ値の確認をすればいいだけのような

>ウェブ言語だけでシリアルナンバーとか生成
そもそも始まりの、自分の認識が
「WebAssemblyのソースコードって読めちゃうの?」
「逆汗で中で何やってるか丸わかりなの?」
みたいなところから来てるのでとくに深い意味もなく
説明としては>>491ですね
要は、webassembly使えばお手軽にシリアルキー発行できるか否か
程度の話です
>シリアルキーを解読
これはよくあるプロダクトキーの照会と捉えていいかもですね
ただ、キーを.wasmに投げた後の処理が照会→キーの解析→閲覧などあります

コンテンツ売買のくだりも、企画設計を想定しているというか
>ってどんな処理を想定してんの
という質問が来たので、例えばこういうのできたら面白そうだなと
即席で考えた感じです。もっと単純に言えば
「複数のIDが事前に登録されており、ランダムにechoするだけの.wasm」
これが実行される前に
・バイナリデータから全登録IDを取得できるのだろうか?
・逆アセで全登録IDはバレバレ(丸見え)なのだろうか
というが知りたかっただけです

523 名前:Name_Not_Found mailto:sage [2018/07/24(火) 04:55:28.73 ID:???.net]
単純な話、
ウェブ上でみんな同じファイル(.wasm)を読み込んでいるのに
キー発行のアルゴリズムがバレずに独自キーを発行できる
って何かすごい気がする
と思っただけというか

524 名前:Name_Not_Found mailto:sage [2018/07/24(火) 05:18:24.34 ID:???.net]
今の心境を語るなら、仕様バグに突っ込みを入れたときの、担当者の言い分を聞いている感覚に似ている

525 名前:Name_Not_Found mailto:sage [2018/07/24(火) 07:05:47.46 ID:???.net]
>>484
そうです
自分がやりたいのは英語の置換なので、
英語の活用形と何の繋がりもないのに綴りが同じ名詞がないこともないだろうと。
あと単純に、形態素解析なら、原形に置換するための辞書を用意する必要がないというのもあります
一度で、二度おいしい

526 名前:Name_Not_Found mailto:sage [2018/07/24(火) 07:11:45.90 ID:???.net]
ということで今週中にお願いします
納期が迫ってるんです

527 名前:Name_Not_Found mailto:sage [2018/07/24(火) 08:31:42.95 ID:???.net]
while( !answer ){
you.hair.fallOut();
if( xday < (new Date()).now() ) you.die();
}

528 名前:Name_Not_Found mailto:sage [2018/07/24(火) 08:58:56.23 ID:???.net]
>>520
だからやりすますのやめて下さい
納期なんてないです

529 名前:Name_Not_Found mailto:sage [2018/07/24(火) 09:32:01.79 ID:???.net]
if(you.hair.empty())

530 名前:Name_Not_Found mailto:sage [2018/07/24(火) 12:35:18.76 ID:???.net]
確かにWASMにすればソースコードはわからないけど、
バレたくないのって特許的なアルゴリズムだったり、計算に纏わる各種数値でしょ
そのくらいであれば簡単に解析できるよ
バイナリとは言えasm.jsを圧縮したようなもんだから、アセンブリとは違って逆コンパイルも単純だし
その状態でも確かにメモリアクセスを理解するのはやや煩雑だがロジックは簡単に読める



531 名前:Name_Not_Found mailto:sage [2018/07/24(火) 12:53:58.23 ID:???.net]
WASM側(jsの方がわかりやすいので)
var atari={
'Z3845fHc':'アマギフコード1',
'83F8y838':'アマギフコード2',



];

JavaScript側
//WASM読み込み&ためのコード
 console.log( instance.exports.atari[id] );
//WASM(ry

例えばこういうのでもWASMのバイナリコードを読み込んだ時点で
事前にアマギフコードが全部バレちゃうってこと?

532 名前:Name_Not_Found mailto:sage [2018/07/24(火) 12:57:15.24 ID:???.net]
訂正 atariは}で閉じ

533 名前:Name_Not_Found mailto:sage [2018/07/24(火) 13:13:19.76 ID:???.net]
WebAssembly Studioみる限りそのままコードをバイナリにしてるぽいので
>>525の変換後も普通に突っ込めばできそうなんだが今ちょっと試せない

534 名前:Name_Not_Found mailto:sage [2018/07/24(火) 17:28:23.75 ID:???.net]
この長文の人って>>502と同一?

構ってもらえる訳ないだろ

535 名前:Name_Not_Found mailto:sage [2018/07/24(火) 17:56:48.27 ID:???.net]
今ちょっと試せないで草

536 名前:Name_Not_Found mailto:sage [2018/07/24(火) 20:31:27.96 ID:???.net]
そのままコードを置き換えてるという点では
既存のミニマライザ程度の難読化効果はあるだろうがそこまでだからな
その状態でも通信すれば内容は抜けるし
どんなに難読化しようと最終的にCanvasに書き出せばそれは簡単に取得できる

そしてでっかいABをメモリに見立てて使うと言う点では
その1つのABさえ監視しておけば全ての重要なデータがそこに含まれてるのだから
ネイティブのゲームなんかのハックでCheat Engine使ってプロセスメモリ解析するようにABを解析するようにすれば、
むしろミニマイズされたコードの流れをデバッガで必死に追いかけていくよりもチートが容易いかもしれない

既存のチート対策のようにメモリ管理を丸ごと自前で構築して
頻繁に割当を移動させるだとか、値をXORしたりする方法はあるかもしれない
でもWASMの問題は逆コンパイルが容易でそういうコードもバレやすいし、ランタイムの改ざんも非常にしやすい

537 名前:Name_Not_Found mailto:sage [2018/07/24(火) 20:54:41.14 ID:???.net]
つまりjavascriptの難読化するやつは悪人ってことですね

538 名前:Name_Not_Found mailto:sage [2018/07/24(火) 21:19:13.81 ID:???.net]
さらにもうちょい具体的に知りたいです
例えば
https://webassembly.studio/?f=adur0vruy59
(上タグのBuildでmain.wasm化できます)

入力値をnとすれば
instance.exports.main(n);

1を入力したら120
3を入力したら360
10を入力したら1200
という具合に、単にnに120掛けているだけ
というのは予測できるが、
nに 2*3*4*5 を掛けているのか、60*2 を掛けているのかetc
かどうかは、Build後のmain.wasmからは読み取れない
という認識で合っていますでしょうか?

539 名前:Name_Not_Found mailto:sage [2018/07/24(火) 21:21:04.42 ID:???.net]
協力会社の人に聞くことにします

540 名前:Name_Not_Found mailto:sage [2018/07/24(火) 21:23:19.06 ID:???.net]
強力な協力会社です



541 名前:Name_Not_Found mailto:sage [2018/07/24(火) 23:22:50.84 ID:???.net]
>>532
コンパイル最適化で定数の120にされるのでそれはわからない
わからないと言うか実際はただ120をかけてるだけ
でもそこが分かっても分からなくても大したこと無いだろうよ

542 名前:Name_Not_Found [2018/07/24(火) 23:37:44.04 ID:wx4nKfcH.net]
今ふと思ったのですが、power shell で.jsファイルを実行することって
可能なんですかね....
ちょっとやってみたら、もちろんprintはできませんでした

543 名前:Name_Not_Found mailto:sage [2018/07/24(火) 23:44:40.87 ID:???.net]
.pyならpythonコマンドを、.jsならnodeコマンドを呼べば出来るだろ。シェルをなんだと思ってるんだ。
すぐ制御戻ってくるのが嫌ならStart-Process -Wait使え

544 名前:Name_Not_Found mailto:sage [2018/07/25(水) 00:11:41.90 ID:???.net]
>>535
>コンパイル最適化
なるほど ありがとうございました

545 名前:Name_Not_Found mailto:sage [2018/07/25(水) 10:13:39.34 ID:???.net]
JavaScript Lemmatizer
https://github.com/takafumir/javascript-lemmatizer

このライブラリは英語の動詞や名詞の原形を取得できるものですが

takafumir.github.io/javascript-lemmatizer/html/lemmatizer_sample.html

このサンプルページを実行しても、今のchromeだとエラーになって動作しません
どうすればいいのでしょうか?

546 名前:Name_Not_Found mailto:sage [2018/07/25(水) 12:41:54.47 ID:???.net]
変換テーブルだけ使わせてもらうのもアリかと思い>>539のソースを見てみたのですが、
どういう基準が選ばれたのか分からない、不思議な連語が結構含まれていて、謎みがあります
おそらく、元になったライブラリから流用されたものだと思いますが。
それでふと思ったのですが、語を一つ一つ英和辞典で引くことでも、変換テーブルは作成可能ですよね?
英和辞典なら、複数形で引けば単数形が出るし、過去形で引けば現在形が出るはずです
コマンドラインで引ける(プログラムから引きやすい)英和辞典はないものでしょうか?

547 名前:Name_Not_Found mailto:sage [2018/07/25(水) 12:43:23.16 ID:???.net]
自演臭い

548 名前:Name_Not_Found mailto:sage [2018/07/25(水) 13:31:39.30 ID:???.net]
そんなどこの馬の骨とも分からんような未メンテ放置のライブラリよりnaturalのstemmer使えよ。
https://github.com/NaturalNode/natural

549 名前:Name_Not_Found mailto:sage [2018/07/25(水) 13:59:21.77 ID:???.net]
>>541
「JavaScript 英語 動詞 原形」とかで検索したら最初に出てくるページですが?

>>542
ありがとうございます
語幹だけを取り出すプログラムはstemmerっていうんですね
そういうキーワードになる術語も知らなかったので助かります

550 名前:Name_Not_Found mailto:sage [2018/07/25(水) 14:57:21.24 ID:???.net]
IPFSで簡単なサイト作ってみようとして疑問に思ったことがあります
ajaxでよくある、クロスドメインの問題です
IPFSにjsファイルをアップロードして読み込む場合、
これはブラウザ側で許可する以外に方法はないのでしょうか?



551 名前:Name_Not_Found mailto:sage [2018/07/25(水) 15:10:29.40 ID:???.net]
ajaxでよくある、クロスドメインの問題です
ぐぐりましょう

552 名前:Name_Not_Found mailto:sage [2018/07/25(水) 16:16:40.48 ID:???.net]
node.jsのnaturalっていうのは、自然言語関係の一般的なアルゴリズムを集めたもので
辞書は含まれていないようですね
すべてをアルゴリズム的に処理するので、不規則動詞を原形にしたりは出来ないようです
WordNetにアクセスするモジュールもあったので期待したのですが
WordNeは意味を中心に語を体系づけたものなので、語の外形についての情報はないっぽいです・・

553 名前:Name_Not_Found mailto:sage [2018/07/25(水) 17:25:53.97 ID:???.net]
そうかそりゃすまんかった

554 名前:Name_Not_Found mailto:sage [2018/07/25(水) 20:26:13.96 ID:???.net]
いえいえ、キーワードを知れただけでも助かりました、ありがとうございます
WordNetというキーワードからPDICという辞書ソフトを見つけて
それ用の辞書はCSVとして出力可能なので、データソースとして使えるかも?というあたりまできました

555 名前:Name_Not_Found mailto:sage [2018/07/25(水) 20:28:11.18 ID:???.net]
これなら今週中の納期に間にあうかな?

556 名前:Name_Not_Found mailto:sage [2018/07/25(水) 20:34:28.97 ID:???.net]
というかwebapiに丸投げとかしちゃいけないの?

557 名前:Name_Not_Found mailto:sage [2018/07/25(水) 21:49:37.98 ID:???.net]
どうせならTensorFlow.jsでモデル作ろうぜ

558 名前:Name_Not_Found mailto:sage [2018/07/25(水) 22:11:01.44 ID:???.net]
>>551
不規則動詞を原形にするのにニューラルネット使うなんてミスマッチ過ぎるw
はやりに踊らされるディープバカ。

559 名前:Name_Not_Found mailto:sage [2018/07/26(木) 06:38:06.00 ID:???.net]
ニューラルネットってWebと相性が良いと思う
データの量にかかわらず指定したサイズと計算負荷のモデルを作ることができるし
それを蒸留してモバイル向けにサイズと計算負荷が1/5のものを用意するとかも簡単にできる

560 名前:Name_Not_Found mailto:sage [2018/07/26(木) 08:36:01.63 ID:???.net]
ディープバカwwww



561 名前:Name_Not_Found mailto:sage [2018/07/26(木) 14:38:27.64 ID:???.net]
JavaScriptの正規表現でgスイッチを使うと
グループ化が機能しないことに気づきました

console.log("0123ABCD".match(/\d+(\w)/));
=>["0123A", "A"]

console.log("0123ABCD".match(/\d+(\w)/g));
=>["0123A"]

gスイッチもグループ化、どちらもが配列で返すので、
機能的にバッティングしているのが理由かと思いますが
そこは配列の配列を返せばいいだけのような?
違いますか?

562 名前:Name_Not_Found mailto:sage [2018/07/26(木) 15:11:24.15 ID:???.net]
法廷ドラマみたいな問い質し方でワロタwwwww

563 名前:Name_Not_Found mailto:sage [2018/07/26(木) 17:59:31.42 ID:???.net]
>>555
console.log("0123AB456CD".match(/\d+(\w)/g));
=>["0123A", "456C"]

564 名前:Name_Not_Found mailto:sage [2018/07/26(木) 19:41:58.68 ID:???.net]
>>555
str = "11A22B33C"
reg = /\d+(\w)/g

ary = [...Array(str.match(reg).length)].map(_=>reg.exec(str))
// [["11A", "A"], ["22B", "B"], ["33C", "C"]]

565 名前:Name_Not_Found mailto:sage [2018/07/26(木) 20:11:46.36 ID:???.net]
>>558
なぜ2回、matchするんだ?

566 名前:Name_Not_Found mailto:sage [2018/07/26(木) 20:34:38.81 ID:???.net]
言う前に先越されたかw

>>558
そんな、RegExpの挙動をちゃんと知らないと理解できないような
読み解くのに時間がかかるようなコードかかないで
分かりやすくかけよ。だから>>559みたいなレスが来る

ary = [...Array(str.match(reg).length)].map(_=>reg.exec(str))
// ...Array 大好き人間かよ。 新しい技を手に入れたらそればっかり使いたくなる癖は直したほうが良いぞ

ary = str.match(reg).map(_=>reg.exec(str));
// 短いがこれも分かりづらい。_を捨てて何故動くんだよ?ってなる


reg1 = /\d+\w/g
reg2 =/\d+(\w)/
ary = str.match(reg1).map(i=>reg2.exec(i));
// 推奨。わざわざ変数に入れなくてもよいが

567 名前:Name_Not_Found mailto:sage [2018/07/26(木) 20:37:34.81 ID:???.net]
> // 推奨。わざわざ変数に入れなくてもよいが
変数に入れなくて良いのは正規表現ね

ary = str.match(/\d+\w/g).map(i=>/\d+(\w)/.exec(i));

ということ

568 名前:Name_Not_Found mailto:sage [2018/07/26(木) 20:39:22.88 ID:???.net]
>>555
var arr = "11ABC22BCD33CDEF".split(/(\d+(\w))/);
// arr.shift();arr.pop();
console.log(arr);

569 名前:Name_Not_Found mailto:sage [2018/07/26(木) 20:43:23.88 ID:???.net]
Ruby なら、

str = "11A22B33C"
reg = /\d+(\w)/

str.scan(reg).to_a
#=> [["A"], ["B"], ["C"]]

570 名前:Name_Not_Found mailto:sage [2018/07/26(木) 20:45:08.53 ID:???.net]
>>563
数字消えとるやんw まあ残せとか書いてないけどさ



571 名前:560 mailto:sage [2018/07/26(木) 20:51:23.28 ID:???.net]
うーん、でも普通(?)にwhile使えば正規表現処理は1回ですむんだよな
これもう少しうまくかけないかな

str = "11ABC22BCD33CDEF"
var reg = /(\d+(\w))/g;
var ary = [];
while (a = reg.exec(str))

572 名前:{
 ary.push(a);
}
console.log(ary);
[]
[ここ壊れてます]

573 名前:Name_Not_Found mailto:sage [2018/07/26(木) 21:09:10.20 ID:???.net]
>>565
それが基本
>>560も無駄が多い

574 名前:Name_Not_Found mailto:sage [2018/07/26(木) 21:13:22.78 ID:???.net]
え?>>560の無駄って?
言えないなら黙ってろよw

575 名前:Name_Not_Found mailto:sage [2018/07/26(木) 21:22:47.40 ID:???.net]
>>566
IDちゃんと見ろよ。
>>565>>560は同一人物だ

576 名前:Name_Not_Found mailto:sage [2018/07/26(木) 21:29:30.54 ID:???.net]
>>555
var arr = "11ABC22BCD33CDEF".split(/(\d+(\w))/).filter((_,i)=>(i%3!==0));
console.log(arr);
//=>["11A", "A", "22B", "B", "33C", "C"]

577 名前:Name_Not_Found mailto:sage [2018/07/26(木) 21:29:46.43 ID:???.net]
>>568
同一人物だからいってる
正規表現処理の回数を気にしてるぐらいだし、伝わると思うが

578 名前:560 mailto:sage [2018/07/26(木) 21:35:53.24 ID:???.net]
RegExp.exec()がコールバック関数を受け取れば良いのかなー
第二引数に関数が渡されていればmapのような挙動をするとかいう仕様なら
互換性保ちながら拡張できそうだと思った

str = "11ABC22BCD33CDEF"
var reg = /(\d+(\w))/g;
var ary = reg.exec(str, a => a)
console.log(ary);


>>570
正規表現の処理的には無駄が多いってわかってるから>>565を書いたんだけど?
そんな俺が言ったことを復唱するようなレスされてもなーw
>>560の本質は、無駄かどうかじゃなくて、分かりやすくかけよって話だから

579 名前:559 mailto:sage [2018/07/26(木) 21:47:25.05 ID:???.net]
>>571
知らんがな
そう思うなら、>>560で推奨なんて書くなよ
>559に絡めて、代弁者にでもなったつもりか

580 名前:Name_Not_Found mailto:sage [2018/07/26(木) 22:00:20.09 ID:???.net]
>>559
> なぜ2回、matchするんだ?
matchは二回してないぞw

> ary = [...Array(str.match(reg).length)].map(_=>reg.exec(str))

このクソ分かりづらいコードが、クソ分かりづらいことを
証明するために説明してあげる。こんな説明が必要だからクソってことね
ボコボコにするから>>558は泣くなよ?w

まず [...Array(str.match(reg).length)] と map(_=>reg.exec(str)) に分ける
前半の部分 の [...Array(str.match(reg).length)] は実は str.match(reg) でよい

Array(・・・.length) は、「正規表現でマッチした配列」のlengthだけを使い
「正規表現でマッチした配列」と同じサイズの「空の配列」を作るという意味
普通はこんなことせずに、空の配列に変換せずにそのまま正規表現でマッチした配列を使えばよい

そして、[...空の配列] は 空の配列をカンマ区切りの引数にして配列に戻している
つまり[ary[0], ary[1], ary[2],・・・] と同じ。配列を展開して配列に戻す無意味な処理ってこと
知ったばかりの [...Array]という技を使いたがってるだけというのはこういうこと

はい、前半部分で2つ意味不明な処理が入ってましたw



581 名前:Name_Not_Found mailto:sage [2018/07/26(木) 22:00:54.30 ID:???.net]
結局前半部分は、なんのために存在するかと言うと、後半部分を正規表現でマッチした数だけ繰り返すため
match において reg = /\d+(\w)/g のキャプチャ部分は意味を持たないようだ。
reg = /\d+\w/g と一緒。ついでに後半部分の exec では今度は/gが意味を持たないようだ
つまり前半部分は、 /\d+\w/g という意味で使い、 後半部分は /\d+(\w)/ という意味で使っている
このような、無視されることで書いたものとは違う解釈がされることを前提にしている。これも分かりづらい点の一つ

で、後半部分は、結局 reg.exec(str) を配列でマッチした数だけ繰り返すという意味でしか無い
だから _ は不要。regオブジェクトは状態を持っていて、

reg.exec(str) 1回目・・・["11A", "A"]
reg.exec(str) 2回目・・・["22B", "B"]
reg.exec(str) 3回目・・・["33C", "C"]

というふうに異なった値を返す。
このよう挙動はregオブジェクトのexecメソッドは起きる。
先のmatchメソッドは、strのメソッドであることに注意

582 名前:Name_Not_Found mailto:sage [2018/07/26(木) 22:04:36.72 ID:???.net]
>>572
関数型風のコードの書き方としては>>560 推奨で問題ない
>>565は手続き型風のコード。だからコードが長くなってしまっている。
根本的な解決方法は>571なのだろう

583 名前:Name_Not_Found mailto:sage [2018/07/26(木) 22:23:22.04 ID:???.net]
「手続き型だからコードが長くなる」
待遇を取って、
「コードが短ければ手続き型ではない(≒関数型である)」
これはそうとは限らない(アセンブラなど)、つまり偽だから命題は否定された。

584 名前:Name_Not_Found mailto:sage [2018/07/26(木) 22:23:39.78 ID:???.net]
原因はjavascriptのregexpがクソということでok?

585 名前:Name_Not_Found mailto:sage [2018/07/26(木) 22:33:02.73 ID:???.net]
もともと関数型言語じゃないからな。
最近のトレンドが入ってきてJavaScriptでも
mapとかreduceとか使えるようになったけど、
それすらも昔は無かった関数

586 名前:Name_Not_Found mailto:sage [2018/07/26(木) 22:33:45.01 ID:???.net]
>>558

どうせならこうしようぜ
str = "11A22B33C"
reg = /\d+(\w)/g

ary = str.match(reg).map(_=>reg.exec(str))
// [["11A", "A"], ["22B", "B"], ["33C", "C"]]

圧 倒 的 ス マ ー ト

587 名前:Name_Not_Found mailto:sage [2018/07/26(木) 22:37:33.92 ID:???.net]
関数型言語じゃないけど、長い間メインストリーム言語の中で唯一関数型言語である条件のひとつ、関数が第一級オブジェクトである、を満たしている言語だった(過去形)

588 名前:Name_Not_Found mailto:sage [2018/07/26(木) 22:37:38.07 ID:???.net]
>>560に書いてあるやん

> ary = str.match(reg1).map(i=>reg2.exec(i));

589 名前:Name_Not_Found mailto:sage [2018/07/26(木) 22:39:57.35 ID:???.net]
>>581
そっちはそっちで正規表現オブジェクト2つ使ってて無駄というか
直球回答じゃないそもそも論的なやつじゃん

590 名前:Name_Not_Found mailto:sage [2018/07/26(木) 22:44:57.78 ID:???.net]
while > 正規表現2回のうち片方省コスト化 > 正規表現2回

ってだけのことだろ
そもそも論の直球回答としては>>577で完全終了してしまう



591 名前:Name_Not_Found mailto:sage [2018/07/26(木) 22:51:38.19 ID:???.net]
>>582
だから論点は無駄かどうかじゃなくてわかりやすいかどうかだって
メソッドによって違うように解釈されるような使い方したらいかんよ
知らない人が見たらmatchでキャプチャされた文字部分を繰り返すとか読めてしまうだろ

592 名前:Name_Not_Found mailto:sage [2018/07/26(木) 23:28:22.43 ID:???.net]
>>560
i=>reg2.exec(i)のiって何の略なのかおしえてください

593 名前:Name_Not_Found mailto:sage [2018/07/26(木) 23:31:43.78 ID:???.net]
インデックス(index)です

594 名前:Name_Not_Found mailto:sage [2018/07/26(木) 23:36:40.38 ID:???.net]
要素、要素のインデックス、回してる配列の順なのに要素の名前にiを使うというセンスの無さが光る。
jQueryのと混乱してるのだろうか?

595 名前:Name_Not_Found mailto:sage [2018/07/27(金) 00:37:13.02 ID:???.net]
>>585
イテレーター

596 名前:Name_Not_Found [2018/07/27(金) 01:14:44.84 ID:a94F3qFI.net]
コンストラクタに入れ子にしたメソッドを示すにはどのようにすれば良いですか?

どうやらthis.はコンストラクタを示してしまい、メソッド自身を示せない様です

597 名前:Name_Not_Found mailto:sage [2018/07/27(金) 02:14:14.59 ID:???.net]
>>588
iと同じくjもよく使われてますがこのjはなんですか?

598 名前:Name_Not_Found mailto:sage [2018/07/27(金) 02:16:46.36 ID:???.net]
>>586
残念
イテレーター(iterator)だね

599 名前:Name_Not_Found mailto:sage [2018/07/27(金) 02:17:46.70 ID:???.net]
単に、i, j, k と、アルファベット順

600 名前:Name_Not_Found mailto:sage [2018/07/27(金) 02:30:38.31 ID:???.net]
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/replace

string のreplace には、コールバック関数を渡せる。
match には渡せないけど



601 名前:Name_Not_Found mailto:sage [2018/07/27(金) 06:18:22.10 ID:???.net]
ここまで matchAll 無し

[..."11A22B33C".matchAll(/\d+(\w)/g)]
// [["11A", "A"], ["22B", "B"], ["33C", "C"]]

602 名前:Name_Not_Found mailto:sage [2018/07/27(金) 06:27:28.83 ID:???.net]
phpではphp4の時代からpreg_match_allが使えたのにね

603 名前:Name_Not_Found mailto:sage [2018/07/27(金) 06:52:14.30 ID:???.net]
matchAllって何なのかと思ったらまだStage3か
でももう一つステージが上がったら以後はこれのポリフィルを使うでFAだな

604 名前:Name_Not_Found mailto:sage [2018/07/27(金) 07:18:17.87 ID:???.net]
また読み込むJavaScriptファイルが増えるのか

605 名前:Name_Not_Found mailto:sage [2018/07/27(金) 09:19:26.93 ID:???.net]
やったね

606 名前:Name_Not_Found [2018/07/27(金) 12:33:44.69 ID:sDvYZF1o.net]
JavaScriptをはじめて触ろうとしている初心者で右も左もわからず途方に暮れております。
どうかググり方のヒントだけでもよろしくお願いします。

【環境】 windows7 / firefox62
【条件】 ページ内に特定の文字列が存在する場合にimacrosを起動させたい
     https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14140898114
【何をしたいのか】ページ内に「陽性反応」の文字列が存在する場合に、「iimPlay("#Current1");」というコマンドでimacrosを起動させたい
【期待する結果】・ページ内に「陽性反応」の文字列が存在する場合に<input type="button">を押して次のページへ進む
          ・ページ内に「陽性反応」の文字列が存在しない場合には「何もしない」

607 名前:Name_Not_Found mailto:sage [2018/07/27(金) 12:44:57.83 ID:???.net]
最低でも99$か・・・

608 名前:Name_Not_Found mailto:sage [2018/07/27(金) 14:10:16.80 ID:???.net]
>>589 こういうことではなく?

class Hoge {
constructor(){
this._fuga1 = function(){ console.log('_fuga1') };
}
fuga(){ console.log('fuga') }
}
hoge=new Hoge();
hoge.fuga(); // fuga
hoge._fuga1(); // _fuga1

609 名前:Name_Not_Found mailto:sage [2018/07/27(金) 14:25:32.56 ID:???.net]
ほげー
ふがー

610 名前:Name_Not_Found mailto:sage [2018/07/27(金) 14:47:55.62 ID:???.net]
フランケン

ざますー
ざますー



611 名前:Name_Not_Found mailto:sage [2018/07/27(金) 15:02:11.00 ID:???.net]
怪物くんかよオッサン過ぎるだろ

612 名前:Name_Not_Found mailto:sage [2018/07/27(金) 15:45:36.27 ID:???.net]
香取慎吾主演ドラマ
2010年だよ
おっさんじゃねーよ
みてねーけどな

613 名前:Name_Not_Found mailto:sage [2018/07/27(金) 17:54:47.47 ID:???.net]
>>599
コードを作ってくださいなのか
自分でやりたいので出来るための道筋たててくださいなのか
どっち?

基礎からやればすぐ出来るレベルの話なんだけど

614 名前:Name_Not_Found mailto:sage [2018/07/27(金) 18:09:07.05 ID:???.net]
>>599
お箸を持つ方が左で、お茶碗を持つ方も左です。

615 名前:Name_Not_Found mailto:sage [2018/07/27(金) 19:02:17.19 ID:???.net]
お箸を持つほうが右で
コップを持つほうが左
ナイフは右で、フォークは左
スプーンは状況に応じて右だったり左だったり

616 名前:Name_Not_Found mailto:sage [2018/07/27(金) 19:10:01.29 ID:???.net]
>>608
イタリア人は(スプーン使わず)フォーク1本でスパゲッティ食うが、その時はほとんどの人が普通に右で持ってたはず。

617 名前:Name_Not_Found mailto:sage [2018/07/27(金) 19:20:33.03 ID:???.net]
鉛筆は右で、消しゴムは左
電卓は左で、テンキーは右

618 名前:Name_Not_Found mailto:sage [2018/07/27(金) 19:34:37.81 ID:???.net]
マウスは右で、左手はちん

619 名前:Name_Not_Found mailto:sage [2018/07/27(金) 20:46:05.85 ID:???.net]
>>599
XPath, text()
https://developer.mozilla.org/ja/docs/Web/API/document/evaluate

620 名前:Name_Not_Found mailto:sage [2018/07/28(土) 00:29:58.66 ID:???.net]
>【何をしたいのか】ページ内に「陽性反応」の文字列が存在する場合に、
>「iimPlay("#Current1");」というコマンドでimacrosを起動させたい

ページ内という表現があいまい。
F12 開発者ツールを起動して、XPath, CSS セレクターで、どの要素か特定する

<div id="abc">陽性反応あり</div>

id は、# で指定できるから、jQuery なら、#abc

jQuery のCSS セレクターを勉強すれば?



621 名前:Name_Not_Found [2018/07/28(土) 01:17:07.29 ID:VfG+xZou.net]
100

622 名前:Name_Not_Found mailto:sage [2018/07/28(土) 01:51:20.21 ID:???.net]
var resAry = [];

function replacer(match, p1) { resAry.push(p1); };

var oldStr = "11A22B33C";
var reg = /\d+(\w)/g;

// 第2引数は、コールバック関数
oldStr.replace(reg, replacer);

console.log(resAry); // ["A", "B", "C"]

623 名前:Name_Not_Found mailto:sage [2018/07/28(土) 08:29:21.48 ID:???.net]
数値の後に続く英字だけが欲しいならこう書けるよ
"111A222B333C".match(/(?<=\d+)[A-z]/g); // ["A", "B", "C"]

624 名前:Name_Not_Found mailto:sage [2018/07/28(土) 09:00:55.34 ID:???.net]
とりあえず、それだとちょっとだけ記号が引っかかっちゃったりしないか
[a-zA-Z]ではなく[A-z]だとASCII表的に [ ] \ とかが

625 名前:Name_Not_Found mailto:sage [2018/07/28(土) 09:27:25.75 ID:???.net]
元の\d+(\w)も「123」とかにもマッチしちゃうし細かいことはいいんじゃない?
実際は条件が限定されてるだろうしそれに合うように適当に書けばいいと思うよ

626 名前:Name_Not_Found mailto:sage [2018/07/28(土) 10:04:14.18 ID:???.net]
言われてみりゃ確かに

627 名前:Name_Not_Found mailto:sage [2018/07/28(土) 13:28:14.83 ID:???.net]
そうそう。細かい仕様は言ってないので、
そこを変えてあれこれいっても意味ない

ただ出されたコードに明らかに無意味なことをしてる
分かりづらいコードがあったから
それを指摘しただけ(>>573-574

628 名前:Name_Not_Found mailto:sage [2018/07/28(土) 13:30:03.36 ID:???.net]
そうかよくやった!君は偉いねぇ

629 名前:Name_Not_Found mailto:sage [2018/07/28(土) 13:38:05.81 ID:???.net]
偉いつもりはないが、そう見えたならそうなんだろう

630 名前:Name_Not_Found mailto:sage [2018/07/28(土) 14:09:44.62 ID:???.net]
javascriptで後読み言明って使えるん?
手元のfirefoxとchromeでは使えなかった



631 名前:Name_Not_Found mailto:sage [2018/07/28(土) 14:18:07.92 ID:???.net]
こんにちは、諸葛孔明です。

632 名前:Name_Not_Found mailto:sage [2018/07/28(土) 14:21:14.53 ID:???.net]
カエレ

633 名前:Name_Not_Found mailto:sage [2018/07/28(土) 15:07:04.13 ID:???.net]
>>623
Chromeでは62から使えるらしい
https://www.chromestatus.com/feature/5668726032564224

ES2018
https://github.com/rwaldron/tc39-notes/blob/master/es8/2018-01/jan-23.md#conclusionresolution-16

634 名前:Name_Not_Found mailto:sage [2018/07/28(土) 15:29:38.49 ID:???.net]
カエザル

635 名前:Name_Not_Found mailto:sage [2018/07/28(土) 15:30:19.34 ID:???.net]
先にある文字があるかどうかなのになぜ先読みではなく後読みになるの?おかしくない?

636 名前:Name_Not_Found mailto:sage [2018/07/28(土) 15:31:29.37 ID:???.net]
あいう
いの前にあがあるよね。そして
いの後にうがある。おかしい!

637 名前:Name_Not_Found mailto:sage [2018/07/28(土) 16:01:47.02 ID:???.net]
>>628
(?<=\d+)
なら数値の後ろの位置にマッチする
後ろを見る→lookbehind→後読み
「後読み」ではなく「後ろ見」と覚えると良い

638 名前:Name_Not_Found mailto:sage [2018/07/28(土) 20:17:19.45 ID:???.net]
lookbehindそのままが一番勘違いしないわこれで覚えます

639 名前:Name_Not_Found mailto:sage [2018/07/28(土) 23:35:26.12 ID:???.net]
str="りんご03の値段は、100円です。";

100円の数値部分だけreplaceするとき、
円まで上書きせずに正規表現するにはどうしたらよいのでしょうか?
(?<=...)この表記の直後版みたいな感じです
\d+(?<=円)とかやってみましたがうまくいきません

640 名前:Name_Not_Found mailto:sage [2018/07/28(土) 23:59:07.07 ID:???.net]
str.replace(/\d+(?=円)/,'20')
//"りんご03の値段は、20円です。"



641 名前:Name_Not_Found mailto:sage [2018/07/29(日) 00:00:23.72 ID:???.net]
もしくはこう
str.replace(/\d+(円)/,'20$1')
//"りんご03の値段は、20円です。"

642 名前:Name_Not_Found mailto:sage [2018/07/29(日) 00:04:35.37 ID:???.net]
そうです! >>634>>633みたいにしたかったんです!
ありがとうございます すっきりしました

643 名前:Name_Not_Found mailto:sage [2018/07/29(日) 00:54:51.57 ID:???.net]
var oldStr = "りんご03の値段は、100円です。";
var reg = /(\d+)円/;

// 第2引数は、コールバック関数
var newStr = oldStr.replace(reg, "50円");

console.log(newStr); // りんご03の値段は、50円です。

644 名前:Name_Not_Found [2018/07/29(日) 01:36:13.95 ID:0NVc570g.net]
そこまでするなら、そもそもりんごの値段変更のためのプログラムだから
古い値段の広告
新しい値段の広告=古い値段の広告.置換(値段変更のためのルール,"50")
console.log(新しい値段の広告)
とかの方がわかりやすくない?
具体的な変数名はまったく思いつかないけど

645 名前:Name_Not_Found mailto:sage [2018/07/29(日) 02:27:56.88 ID:???.net]
連続してajaxで画面内用かえたいんだけど2回目以降どうしたらいいの?

<div id="ajax">
<script>
var onsubmit = () => {
var xhr = new XMLHttpRequest();
// data
xhr.send(dta);

xhr.onreadystatechange = () => {
if( xhr.status == 200 ) {
getElementById("#ajax").innerHTML=xhr.responseText;
}
}
return false;
}
</script>
<form onsubmit="onsubmit()">
//入力
</form>
</div>

みたいな内容を毎回サーバーから返しても
formの部分は変化するけどJSの部分は認識されない

JSの内容も動的にかえるって無理なのかな
必要な処理は最初に全部定義しておかないとダメなのかな

646 名前:Name_Not_Found mailto:sage [2018/07/29(日) 02:44:32.18 ID:???.net]
.innerHTML=xhr.responseTextのところで、<script>うんたら</script>みたいなのも返ってきて実行したいってこと?

647 名前:Name_Not_Found mailto:sage [2018/07/29(日) 05:41:58.32 ID:???.net]
hoverとマウスオーバーは同じ意味と考えていいですか?

648 名前:Name_Not_Found mailto:sage [2018/07/29(日) 08:00:50.59 ID:???.net]
>>640
no

649 名前:Name_Not_Found mailto:sage [2018/07/29(日) 08:30:39.51 ID:???.net]
具体的にどこが違うんですか?

650 名前:Name_Not_Found mailto:sage [2018/07/29(日) 09:55:50.73 ID:???.net]
>>639
そうです!!!



651 名前:Name_Not_Found mailto:sage [2018/07/29(日) 10:53:03.95 ID:???.net]
>>638
> JSの内容も動的にかえるって無理なのかな

無理ではないが、良くないやり方。
JSの内容は静的に最初にページを表示させた時に
すべて読み込んでおく

652 名前:Name_Not_Found mailto:sage [2018/07/29(日) 11:01:38.36 ID:???.net]
どうしても動的にスクリプトを読み込みたければ
一番マシなのはimport()メタ関数を使うことだな

653 名前:Name_Not_Found mailto:sage [2018/07/29(日) 11:04:06.82 ID:???.net]
>>642の質問に答えられる人はここにはいないのでしょうか?

654 名前:Name_Not_Found mailto:sage [2018/07/29(日) 11:44:22.80 ID:???.net]
hoverは擬似クラスだからマウスが継続して乗っかり中であるという状態区分を表しているが
mouseoverはマウスが乗ったという瞬間のイベントという違いがある

655 名前:Name_Not_Found mailto:sage [2018/07/29(日) 11:46:49.87 ID:???.net]
>>647
なるほど
分かりやすい説明ありがとうございました

656 名前:Name_Not_Found mailto:sage [2018/07/29(日) 12:53:11.02 ID:???.net]
>>638
JavaScript にあるかどうか知らないけど、他の言語では、
eval でソースコード文字列を、そのまま実行できる

ただし、他人の文字列を実行するのは、危険!

657 名前:Name_Not_Found mailto:sage [2018/07/29(日) 12:55:20.19 ID:???.net]
>>638
そもそも、ajax は、jQuery を使ってよ

素のJavaScript は、可読性が低い

658 名前:Name_Not_Found mailto:sage [2018/07/29(日) 13:01:52.16 ID:???.net]
>素のJavaScript は、可読性が低い
jQuery慣れしてるだけ
他言語から初めてJavaScriptきた人間ならそうは思わない

659 名前:Name_Not_Found mailto:sage [2018/07/29(日) 13:15:50.99 ID:???.net]
jQuery覚えるの面倒くさい
本職はバックエンドだし

あまり色々覚えるの嫌なんだわ

660 名前:Name_Not_Found mailto:sage [2018/07/29(日) 13:17:37.44 ID:???.net]
>>650
内容以前に書き方がくっさい



661 名前:Name_Not_Found mailto:sage [2018/07/29(日) 13:19:27.68 ID:???.net]
jQueryは害悪でしかない
百害あって一利なし
触れない方がいい

662 名前:Name_Not_Found mailto:sage [2018/07/29(日) 13:26:03.48 ID:???.net]
jQueryは多言語から来た人には分かりにくいんだろうね
ウェブのフロントバッチリやって来た人なら有用性は自明なんだけども

俺は教育的配慮から他言語から来た人にはjQuery使わないと死ぬような案件をワザと降っている
そうでないと覚えてくれないからね

663 名前:Name_Not_Found mailto:sage [2018/07/29(日) 13:36:09.41 ID:???.net]
$.ajax(selector).on('click', req).done().fail().always()
何このマヌケなコード
if elif else関係をif if ifでやってんのか

664 名前:Name_Not_Found mailto:sage [2018/07/29(日) 13:56:36.29 ID:???.net]
ちゃんとルビふらなきゃ

いやがらせ
教育的配慮

665 名前:Name_Not_Found mailto:sage [2018/07/29(日) 14:05:04.33 ID:???.net]
要素数が10万のハッシュをJavaScriptに持たせても、
性能的に問題ないでしょうか?
(通信速度は別として)

666 名前:Name_Not_Found mailto:sage [2018/07/29(日) 14:11:11.31 ID:???.net]
>jq使わないと死ぬ案件

それ「ゼロから設計し直して書き直したほうが早い」案件では

667 名前:Name_Not_Found mailto:sage [2018/07/29(日) 14:12:28.31 ID:???.net]
私大文系が偉そうに教育的配慮www
ヴァ〜カ!

668 名前:Name_Not_Found mailto:sage [2018/07/29(日) 14:17:05.51 ID:???.net]
そろそろfetch使おうぜ

669 名前:Name_Not_Found mailto:sage [2018/07/29(日) 14:26:29.91 ID:???.net]
>>659
フロント1ページ作るのに設計?

670 名前:Name_Not_Found mailto:sage [2018/07/29(日) 14:27:38.82 ID:???.net]
$.ajax(selector).on('click', req).done().fail().always()
何このマヌケなコード
if elif else関係をif if ifでやってんのか

形を変えてelse使うヴァカ
何も考えてない屑の証拠



671 名前:Name_Not_Found mailto:sage [2018/07/29(日) 14:28:43.23 ID:???.net]
>>662
jQuery使わないと死ぬような案件って、超絶しょっぼい案件ってことなの?

672 名前:Name_Not_Found mailto:sage [2018/07/29(日) 14:28:57.76 ID:???.net]
>>644,645,649
基本的にはできないんですね
bookmarkletみたいにクリック先のJSを毎回実行するみたいなイメージ想像してたけど…
ありがとうございました

>>650
jQueryって何ができるんですか?
ちょっと前は jQuery じゃないとできないことがおおかったけど
今 pure JS でもわりといろいろサポートされてて
書き方が違うだけでできることほとんどかわらなくなったから覚えなくていいっていわれたんですけど

673 名前:Name_Not_Found mailto:sage [2018/07/29(日) 14:30:20.13 ID:???.net]
どんな案件でも設計は重要
似非PGには理解できないだろうが

674 名前:Name_Not_Found mailto:sage [2018/07/29(日) 14:32:07.58 ID:???.net]
荒らしてる奴、マー版から出てくるな

>>282
>ヴァカに混じってJSをやる事になったのだが
>Angularのドキュメント書いた奴氏ねよ

>私大文系が格好付けてワザと分かりにくく書いてるだろ
>何言ってるのかさっぱりだわ

>ヴァカに文章かかせるなよ

Angularの説明文も理解できない低知能が何言ってるのか。

675 名前:Name_Not_Found mailto:sage [2018/07/29(日) 14:32:51.08 ID:???.net]
マー板ってなに

676 名前:Name_Not_Found mailto:sage [2018/07/29(日) 14:34:08.06 ID:???.net]
>>668
プログラマー版

677 名前:Name_Not_Found mailto:sage [2018/07/29(日) 14:34:33.26 ID:???.net]
>>669
「マ板」なら知ってるけど

678 名前:Name_Not_Found mailto:sage [2018/07/29(日) 14:35:35.62 ID:???.net]
司法試験に一発且つ首席で合格するのと10歳でフィールズ賞を受賞するのはどっちの方が凄いですか?

679 名前:Name_Not_Found mailto:sage [2018/07/29(日) 14:36:50.25 ID:???.net]
十で神童十五で才子二十過ぎればただの人

680 名前:Name_Not_Found mailto:sage [2018/07/29(日) 14:37:02.04 ID:???.net]
プログラマー版にはライブラリーをライプラリーと書いたヴァカもいたよな



681 名前:Name_Not_Found mailto:sage [2018/07/29(日) 14:37:29.66 ID:???.net]
>>667

よう!私大文系ww

682 名前:Name_Not_Found mailto:sage [2018/07/29(日) 14:37:40.84 ID:???.net]
プロプライエタリと混ざったんじゃねーの(適当)

683 名前:Name_Not_Found mailto:sage [2018/07/29(日) 14:38:37.02 ID:???.net]
プログラマー版はaccessだのvbだの屑の巣窟
アホだらけだよ

684 名前:Name_Not_Found mailto:sage [2018/07/29(日) 14:39:51.87 ID:???.net]
平均的な囲碁棋士と平均的なプリンストン大生はどっちの方が賢いですか?

685 名前:Name_Not_Found mailto:sage [2018/07/29(日) 14:42:11.05 ID:???.net]
ヴァカ沈黙www
勝利

686 名前:Name_Not_Found mailto:sage [2018/07/29(日) 14:46:21.22 ID:???.net]
こちらはJS如きで労力使いたくねーんだよ
jQuery覚えろ?
まっぴらごめんだわ

687 名前:Name_Not_Found mailto:sage [2018/07/29(日) 14:58:02.39 ID:???.net]
jQueryは害悪でしかない
百害あって一利なし
触れない方がいい

触れるとヴァカになる

688 名前:Name_Not_Found mailto:sage [2018/07/29(日) 15:10:23.13 ID:???.net]
>>659
>>jq使わないと死ぬ案件

>それ「ゼロから設計し直して書き直したほうが早い」案件では

普段何やってんの?
俺はreactだけど、jqは認めてるぞ

ゼロから設計ってなんだそりゃ?

689 名前:Name_Not_Found mailto:sage [2018/07/29(日) 15:12:07.25 ID:???.net]
プログラムをちょっと齧っただけの知識でドヤ顔してるニートが多いから頓珍漢なレスばかりになる

690 名前:Name_Not_Found mailto:sage [2018/07/29(日) 15:37:34.14 ID:???.net]
いや俺がreactだ



691 名前:Name_Not_Found mailto:sage [2018/07/29(日) 16:20:23.17 ID:???.net]
>>652
> jQuery覚えるの面倒くさい

覚えるの面倒くさい VS 長いコード書くの面倒くさい

俺は後者だな。自分で書いたらその分テストをしなきゃいかん

692 名前:Name_Not_Found mailto:sage [2018/07/29(日) 16:21:18.30 ID:???.net]
>>681
> 俺はreactだけど、jqは認めてるぞ

jQuery覚えるの面倒くさいなら、
Reactも覚えるの面倒くさいってことだよ

自分でガシガシ書く面倒くささを取るってさ(笑)

693 名前:Name_Not_Found mailto:sage [2018/07/29(日) 16:24:28.99 ID:???.net]
>>663
> $.ajax(selector).on('click', req).done().fail().always()
> 何このマヌケなコード
> if elif else関係をif if ifでやってんのか

ただのPromiseの書き方の親戚じゃん

promise.then().catch().finally()

これがわからないってことはjQueryがわからないんじゃなくて
JavaScriptも知らない。ただの初心者ってことだろ

694 名前:Name_Not_Found mailto:sage [2018/07/29(日) 16:45:07.37 ID:???.net]
jqueryも使えない爺さんワロタw
ネット使えるなら初見でも余裕なのに

695 名前:Name_Not_Found mailto:sage [2018/07/29(日) 17:09:29.07 ID:???.net]
>>665
jQuery のソースコードは、1万行!

無数のデバイスに対して、何十箇所もパッチを当てている。
これを人力でやるのは無理。
単純に、10個のデバイスに対応するだけでも、無理

もし、jQueryを使わなかったら、色々なデバイスで誤動作する

696 名前:Name_Not_Found mailto:sage [2018/07/29(日) 17:26:01.68 ID:???.net]
そういうデバイスは動かないで自然淘汰されていけばいいと思うよ

697 名前:Name_Not_Found mailto:sage [2018/07/29(日) 17:27:20.15 ID:???.net]
全てのサイトを動かなくするのは不可能だろw
ほとんどのサイトは見れるのだから淘汰されない。
ただお前のサイトだけ見れないって判断されるだけ

698 名前:Name_Not_Found mailto:sage [2018/07/29(日) 17:28:09.36 ID:???.net]
YouTubeぐらい影響力があるサイトなら
見れないから新しいのに買い替えとかあるかもしれんがね(笑)

699 名前:Name_Not_Found mailto:sage [2018/07/29(日) 17:28:20.74 ID:???.net]
古いブラウザーは切り捨てろよ
ヴァカ

700 名前:Name_Not_Found mailto:sage [2018/07/29(日) 17:33:55.59 ID:???.net]
Androidスマホを買い換えろとでも言う気か?



701 名前:Name_Not_Found mailto:sage [2018/07/29(日) 17:35:21.47 ID:???.net]
売り上げ何百億のサイトだとシェア率1パーセントのブラウザー切っただけで数億円の損失なんだけど?

お前代わりに払ってくれるのか

702 名前:Name_Not_Found mailto:sage [2018/07/29(日) 17:42:46.29 ID:???.net]
一番簡単な考え方として、非モダンブラウザはJS無効組の扱いにすればいいだけだと思うけどな
1万行くらいのコード良く外様ライブラリ使わずに書くけど
Chrome向けだけで書いててFirefoxとか別のモダンブラウザでいきなり試しても
1箇所手を加えるくらいで完璧に問題なく動くよ

というかどういうところで非互換性が問題になるのかが良く分からない
モダンブラウザ間でDOMの基本的な操作のAPIに非互換性は無いはずだ
多分CSSやら色々適応したり見た目に凝ってるところなんだろうけど
自分はそういうところは躊躇なくCanvasを使ってる

Canvas APIの表示互換性はテキスト周りを除いて極めて高い
ただ粒度が大きいから、Houdiniが普及したらPaint APIとかでやりたいね

703 名前:Name_Not_Found mailto:sage [2018/07/29(日) 17:48:29.54 ID:???.net]
>>694
サポートを切ったところでそのサイトにアクセスできなくなったり
画面が真っ黒になったりするわけではあるまい
大げさだよ

でも最近大手サイトがTLS1.0や1.1のサポートやめたじゃん
そういうのはJSのサポートなんかとは比べにならない
本当の意味で「切った」ってことだけど

お金

704 名前:謌黷ナはなく悪いものを排除するってことは
ネット社会上大切な技術者の義務だよ
[]
[ここ壊れてます]

705 名前:Name_Not_Found mailto:sage [2018/07/29(日) 17:57:27.75 ID:???.net]
間を取れば良いんじゃない
プログレッシブエンハンスメントってやつ
JSが無効でも最低限見れるべきだし
老体のPCに乗ってる老体ブラウザに大きなライブラリ載せて
若者と同じリッチな体験をさせようというのにも無理があると思う
何でもポリフィルしたりライブラリで抽象化するのがよいとは思えない
それよりも段階的なサポートを提供すべき

706 名前:Name_Not_Found mailto:sage [2018/07/29(日) 18:00:00.50 ID:???.net]
>>695
> 一番簡単な考え方として、非モダンブラウザはJS無効組の扱いにすればいいだけだと思うけどな
非モダンブラウザの判定が大変そうですな(笑)

707 名前:Name_Not_Found mailto:sage [2018/07/29(日) 18:00:59.32 ID:???.net]
>>695
> というかどういうところで非互換性が問題になるのかが良く分からない

そりゃそうだろ。一見モダンブラウザに見えて問題なく動くように見えて
マイナーな例で問題があるのがバグなんだから。
想定外の挙動なんて、わかるわけないよ

708 名前:Name_Not_Found mailto:sage [2018/07/29(日) 18:02:40.05 ID:???.net]
>>696
> でも最近大手サイトがTLS1.0や1.1のサポートやめたじゃん

そうだね。使われなくてって、切っても問題ないと判断してから
切らないといけないよね。

古いスマホを使っている人がいなくなってから切らないと大問題になる

709 名前:Name_Not_Found mailto:sage [2018/07/29(日) 18:08:31.91 ID:???.net]
そもそもWebで想定内だなんておこがましい
お前さんのサイトはAppleWatchの今度のブラウザで見ても想定内な見え方
動作の仕方する自身があるのか
そしてそこで問題が出たとき、ライブラリに頼り切ってるお前さんは修正できるのか

710 名前:Name_Not_Found mailto:sage [2018/07/29(日) 18:12:32.87 ID:???.net]
そこまで互換性に拘るのなら尚更jQueryは良くないと思うな
React Native for Webくらいのフレームワークを使うべきだと思う



711 名前:Name_Not_Found mailto:sage [2018/07/29(日) 18:13:30.32 ID:???.net]
何をどこまでサポートしてコストを払うかのサポートポリシーは各自で決めてよ
他人にどうこう言われるもんじゃ無い

712 名前:Name_Not_Found mailto:sage [2018/07/29(日) 18:19:24.43 ID:???.net]
>>701
自信ないよ?だからjQueryとか使うんじゃん。

713 名前:Name_Not_Found mailto:sage [2018/07/29(日) 18:20:57.64 ID:???.net]
以前jQueryがFirefoxの何バージョンも前の不具合に対応してることを誇らしげに述べてるやつが居たが
じゃあお前はそれぞれのブラウザが6週間ごとに更新されてjQueryが対応したら
即座に全てのjQueryを最新版に差し替えてるのかと問いたいわ

CDNが更新されるのを待っていたら間に合わないぞ
自分で適当にパッチがあたったところで落として検証しないといけない
そこまでして初めて>>699「一見モダンブラウザに見えて問題なく動くように見えてマイナーな例で問題がある」
とやらにライブラリで対応できるということになる

714 名前:Name_Not_Found mailto:sage [2018/07/29(日) 18:22:02.96 ID:???.net]
>>702
でもreact重いじゃん。jQueryよりも重いものを
使わないといけないの嫌だし
結局サポートブラウザ減るんだよね

715 名前:Name_Not_Found mailto:sage [2018/07/29(日) 18:25:21.36 ID:???.net]
>>705
> じゃあお前はそれぞれのブラウザが6週間ごとに更新されてjQueryが対応したら
> 即座に全てのjQueryを最新版に差し替えてるのかと問いたいわ

いや、jQueryのバージョンが更新されない限り
差し替える必要ないでしょう?

6週間?jQueryは安定してるから(その安定性の高さも重要)
最新版のjQuery 3.3.1がリリースされてから半年たってるよ24週間な

716 名前:Name_Not_Found mailto:sage [2018/07/29(日) 18:45:38.81 ID:???.net]
結局の所彼にとってjQueryが対応した範囲がサポートすべき範囲で
彼にとってのサポートとはjQueryを導入することなんでしょ
本当にただそれだけ

ブラウザが六週間で更新され新しいデバイスだって無限に生まれてて
Webは安定していないのでそういう思考停止は良くないのではというようなことを言われてるのに
平気でjQueryは安定してるからと言う

安定してるのではなく付いてこられていないのに気づいてない

717 名前:Name_Not_Found mailto:sage [2018/07/29(日) 18:50:41.95 ID:???.net]
多分住んでる世界が違うんだろ
JQがなければ死ぬ案件とか言ってるし
実際そういう案件しか来ない過酷な環境で生きてるとそういう思考になるんだろ

718 名前:Name_Not_Found mailto:sage [2018/07/29(日) 18:56:38.24 ID:???.net]
アンチjQueryの人って極論多くないか。
本気で言ってんの?

過酷な環境と言えば過酷だが、少なくとも業界の超大手で人から笑われるような会社じゃないつもりだ。

719 名前:Name_Not_Found mailto:sage [2018/07/29(日) 19:00:54.63 ID:???.net]
大手ほどヴァカが多いんだよ。
私大文系でプログラム書けない奴がPMやら何やら名乗って高い給与とって、手を動かす現場の人間はみな腐っているのさ。

ジャップランドのITはみんなそう。
大手=無能。学歴主義のヴァカの集団。

720 名前:Name_Not_Found mailto:sage [2018/07/29(日) 19:03:08.53 ID:???.net]
>>709
ふーん。あなたは普段どんな仕事やってんの?



721 名前:Name_Not_Found mailto:sage [2018/07/29(日) 19:06:32.66 ID:???.net]
>>708
> 結局の所彼にとってjQueryが対応した範囲がサポートすべき範囲で
それ以上対応したければ、その部分だけ対応するコードを書けばいいだけでは?

> ブラウザが六週間で更新され新しいデバイスだって無限に生まれてて
> Webは安定していないのでそういう思考停止は良くないのではというようなことを言われてるのに
なんか勘違いしてないか? jQueryの差し替えの話だっただろ
新しいバージョンが出てないんだから、jQueryは差し替えなくていい。

そしてなに?お前、ブラウザが六週間で更新され新しいデバイスだって無限に生まれてるから、
それに対応するために、頑張ってるの?言ってることめちゃくちゃじゃない?

jQueryを差し替えるてるのか?と頑張ってることに驚く一方で
自分で新しいブラウザとデバイスに対応するのに頑張ることは普通なんだろ?
どうみてもお前のほうが頑張ってるんだが
> 即座に全てのjQueryを最新版に差し替えてるのかと問いたいわ
なんで、差し替えてるのかと問いたくなってんだ?

頑張ることが良いことなのか良くないことなのか、はっきりしろよw
行きあたりばったりで、いちゃもんつけるよやめなよ。

722 名前:Name_Not_Found mailto:sage [2018/07/29(日) 19:08:56.37 ID:???.net]
>>712

ただのニートに一票
jQuery使うなんて要件から間違ってて作り直しなんて言っちゃう君なんだから

まともに仕事なんてしてないだろうな

723 名前:Name_Not_Found mailto:sage [2018/07/29(日) 19:10:29.25 ID:???.net]
>>658の件ですが
indexeddbを使ったら少なくとも全てオブジェクトに入れるよりはメモリの節約になるのでは?
と思いました
そうでしょうか?

724 名前:Name_Not_Found mailto:sage [2018/07/29(日) 19:15:27.44 ID:???.net]
結論から言うと、jQueryを使わなくても、
サポートを切ったはずの古いブラウザでも
動いちゃうかもしれないんだよね

いつまでも古いブラウザサポートするの?と言われても
動いちゃうものはしょうがない

725 名前:Name_Not_Found mailto:sage [2018/07/29(日) 19:16:05.51 ID:???.net]
「jQuery使うなんて、ゼロから設計し直して書き直したほうが早い案件」

これはWeb制作板の名言として後々まで残すべき。
凄いですよ!

726 名前:Name_Not_Found mailto:sage [2018/07/29(日) 19:17:25.71 ID:???.net]
>>717
ヴァ〜カ!!!

727 名前:Name_Not_Found mailto:sage [2018/07/29(日) 19:17:53.04 ID:???.net]
どんだけ恥さらさせるんだよw

728 名前:Name_Not_Found mailto:sage [2018/07/29(日) 19:19:56.78 ID:???.net]
難しくてよくわからない話になってきたけど
jQueryなら >> 638 の2回目以降 $(#ajax).html(...)
ってうごくの?

729 名前:Name_Not_Found mailto:sage [2018/07/29(日) 19:20:41.44 ID:???.net]
>>717
立てた

後々まで残しましょう

馬鹿 「jQuery使う?設計し直したほうが早い案件」
https://mevius.5ch.net/test/read.cgi/hp/1532859593/

730 名前:Name_Not_Found mailto:sage [2018/07/29(日) 19:21:00.58 ID:???.net]
>>721

thx



731 名前:Name_Not_Found mailto:sage [2018/07/29(日) 19:22:19.71 ID:???.net]
jq便利じゃん
使えるものは使って如何に時間、労力を減らすかも能力の内でしょ
いろんな派閥あるし今までどんな教育者に当たってきたかにもよるから別にjq否定派がいることに驚かないけど
否定してる人の数倍使ってる人がいるから更新され続けてるのが現状なんじゃないか

732 名前:Name_Not_Found [2018/07/29(日) 19:33:51.63 ID:BwzzkSUT.net]
jquery使うなって言われてるのは
フレームワーク使った時に直接DOMをいじったら整合性が取れなくなるからで
jqueyで操作しようが直接DOMをいじろうが同じことなので
jqueryは本質的な問題じゃないですよね?
しょうもない話を延々続けてる人達は何なんですか??

733 名前:Name_Not_Found mailto:sage [2018/07/29(日) 19:37:06.44 ID:???.net]
https://w3techs.com/technologies/history_overview/javascript_library
https://w3techs.com/technologies/history_overview/javascript_library/all

2015年ごろに脱jQuery、古い、オワコン、有害などと一部で話題になったが
2018年7月のw3techsの統計によるとJavaScriptライブラリを使用しているサイトが
前年より0.9%増加し、97.1%になったことが判明した。

またウェブ全体のjQueryのシェアは前年から0.6%伸び73.3%となり
JavaScriptを使用してないサイトは0.1%へって24.4%となった。

jQueryに次いでBootstrapの17.7%、Modernizrの11.5%と続いている。
jQueryの代替になると噂される、Angularは0.4%、Reactは0.1%と
jQueryに大幅な差をつけられている状態である。 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)


734 名前:Name_Not_Found mailto:sage [2018/07/29(日) 19:38:30.92 ID:???.net]
>>724
> しょうもない話を延々続けてる人達は何なんですか??

流行りで何も考えずにjQueryディスってしまって後に引けなくなった人達

735 名前:Name_Not_Found mailto:sage [2018/07/29(日) 19:39:18.48 ID:???.net]
>>724

その通りだよね。
『SPAの時はDOMの直接操作やめましょう。つまりjQuery使うと便利に出来るようなヤツ』ということに過ぎないのに、何故かjQueryは害悪みたいに言い出してる。

ネイティヴのJSでもDOMの直接操作したらjQueryと同じ。
SPAのコンセプトを誤解してるだけじゃないのかなぁ。

736 名前:Name_Not_Found mailto:sage [2018/07/29(日) 19:48:24.66 ID:???.net]
angular理解出来ない人が
流行にのってjQuery否定だけをしてるんかな

偉そうなこと言うなら、ちゃんと勉強してから来いよ

737 名前:Name_Not_Found mailto:sage [2018/07/29(日) 21:19:26.08 ID:???.net]
jQueryの役目はquerySelectorが入った時点で終わってる

738 名前:Name_Not_Found mailto:sage [2018/07/29(日) 21:20:45.39 ID:???.net]
旧環境を切らず旧環境のサポートは考えても
javascript:OFFにしているユーザは切るの?
セキュリティ等の理由でOFFにしている人は
新旧環境に関わらず一定数いるけど

739 名前:Name_Not_Found mailto:sage [2018/07/29(日) 21:41:26.77 ID:???.net]
>>686
if elif elseとcatch finallyを一緒にする阿呆
.done().fail().always()のうちalwaysはfinallyに相当するからまあいいとしよう
というかそのツッコミしてくる阿呆は絶対いるだろうなと思った

740 名前:Name_Not_Found mailto:sage [2018/07/29(日) 22:23:35.21 ID:???.net]
>>729
いや、jQueryの実行速度はquerySelectorが入ることで
さらに速くなったというべきだろ。パフォーマンスアップ。鬼に金棒

jQueryはセレクタエンジンが素晴らしいのではなくて、
セレクタに"処理を適用できること"が素晴らしいんだよ



741 名前:Name_Not_Found mailto:sage [2018/07/29(日) 22:25:29.73 ID:???.net]
>>731
そもそも、ajaxのdone,fail,alwaysは
if elif else ではないというツッコミを使用か?

done,fail,always は
then,catch,finallyと同等
違うのは、if elif else

742 名前:Name_Not_Found mailto:sage [2018/07/29(日) 22:30:37.69 ID:???.net]
>>729
俺も今ではNodeListで十分な印象だな

743 名前:Name_Not_Found mailto:sage [2018/07/29(日) 22:38:06.29 ID:???.net]
でもこの先ExtensibleWebが進んでHoudiniとかバンバン使った
ブラウザを低レベルから仕切り直したフレームワークがでてくると
結局FlashやSilverlight使ってた時代と対して変わらなくなるのでは?

744 名前:Name_Not_Found mailto:sage [2018/07/29(日) 22:39:21.77 ID:???.net]
ただしNodeListは罠があるので注意という落ちw
ブラウザによって使える書き方が違うから気をつけろ

745 名前:Name_Not_Found mailto:sage [2018/07/29(日) 22:41:00.37 ID:???.net]
Array.fromっていつからサポートされてるんだっけ?
スマホとか大丈夫?

NodeListをどう使うのが多くのブラウザに
対応できるのかわからないよ

746 名前:Name_Not_Found mailto:sage [2018/07/29(日) 22:41:37.00 ID:???.net]
NodeListのforEachって全部のブラウザで使えるんだっけ?

747 名前:Name_Not_Found mailto:sage [2018/07/29(日) 22:42:19.02 ID:???.net]
NodeListはmapが無いからなぁ

748 名前:Name_Not_Found mailto:sage [2018/07/29(日) 22:44:29.54 ID:???.net]
これが一番安全なのでは?
Array.prototype.slice.call(document.querySelectorAll("a")).forEach( function(e){ console.log(e.href)})

749 名前:Name_Not_Found mailto:sage [2018/07/29(日) 22:45:44.90 ID:???.net]
NodeListは ES6の for of で回せるけどFirefoxでしか使えなかったんだっけ?

750 名前:Name_Not_Found mailto:sage [2018/07/29(日) 22:47:29.59 ID:???.net]
全てのa要素を赤にする書き方

$('a').css({color: 'red'})

VS

Array.prototype.slice.call(document.querySelectorAll("a")).forEach( function(e){ e.style.color = 'red'})



751 名前:Name_Not_Found mailto:sage [2018/07/29(日) 22:49:25.01 ID:???.net]
>>741
Chromeでも回せる

752 名前:Name_Not_Found mailto:sage [2018/07/29(日) 22:49:58.66 ID:???.net]
>>743
え? Androidスマホで動かなかった記憶があるけど?

753 名前:Name_Not_Found mailto:sage [2018/07/29(日) 22:51:04.49 ID:???.net]
よくこの例みるけど全てのa要素を赤にするとか使いどころ無さすぎ
任意のタイミングでstyle変えたい要素に専用classつけとけばいいんじゃないの

754 名前:Name_Not_Found mailto:sage [2018/07/29(日) 22:51:21.90 ID:???.net]
いつから動くようになったんだっけ?
確認するの面倒くさいな

755 名前:Name_Not_Found mailto:sage [2018/07/29(日) 22:52:02.96 ID:???.net]
>>745
はい、どうぞ

$('a').addClass('hoge')

756 名前:Name_Not_Found mailto:sage [2018/07/29(日) 22:52:13.66 ID:???.net]
>>735
Silverlight使ってた時代は俺には無かったわ

757 名前:Name_Not_Found mailto:sage [2018/07/29(日) 22:53:30.20 ID:???.net]
>>747
サンドイッチが欲しいと言われてパン関係食品全部持ってくるやつ

758 名前:Name_Not_Found mailto:sage [2018/07/29(日) 22:53:54.49 ID:???.net]
flashってなんで消えたんだっけ

759 名前:Name_Not_Found mailto:sage [2018/07/29(日) 22:55:06.13 ID:???.net]
>>744
なぜAndroidが出てくるんだよ
@@iteratorを拡張したら?

760 名前:Name_Not_Found mailto:sage [2018/07/29(日) 22:55:14.78 ID:???.net]
>>749
お前はサンドイッチだけで生きてるのか?
実際の開発ではもっといろいろ使うだろうって話だ



761 名前:Name_Not_Found mailto:sage [2018/07/29(日) 22:56:08.39 ID:???.net]
>>751
> なぜAndroidが出てくるんだよ

Androidスマホにもテレビにもブラウザは搭載されてるんだよ。
NodeListにいろんな書き方が割るのがわかったが、
ちゃんと動くことを確認しないといけない。
そうしないとサポートできるのかどうかもわからないだろ

762 名前:Name_Not_Found mailto:sage [2018/07/29(日) 22:57:00.74 ID:???.net]
結局動かなくても構わないって思ってるやつが
NodeList使うんだろうな

763 名前:Name_Not_Found mailto:sage [2018/07/29(日) 22:57:52.76 ID:???.net]
NodeListをそのまま使うから冗長になる
ラップすればいいだけ。

ラップして便利にしたものがjQueryだ

764 名前:Name_Not_Found mailto:sage [2018/07/29(日) 22:59:32.42 ID:???.net]
>>753
forEachにもいえるけど、Arrayのそれを流用すれば、Polyfillを簡単に書けるじゃない

765 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:00:31.70 ID:???.net]
>>756
車輪の再発明?

766 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:05:10.36 ID:???.net]
それぞれのサポートポリシーが違うところで議論したって意味ないよ
自分はモダンブラウザの最新版と考えるよ、そこで動けば十分だよ

767 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:05:41.30 ID:???.net]
ただ補助輪が欲しいってとき
もう一台自転車を買ってきてデッカイ車輪を付けるか
車輪部分だけ材料買ってきて作って付けるか
俺は後者の方を選ぶけどね

768 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:07:20.27 ID:???.net]
真面目な話IEを切り捨てるのなら最初からjQueryを導入する必要はない
モダンブラウザなら普通に書けばあってもちょっとの修正で済むのだから

769 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:07:56.16 ID:???.net]
今乗ってる自転車じゃ進めないときは自転車かついで徒歩でいけばいいじゃない理論

770 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:09:08.87 ID:???.net]
>>759
例えがおかしい。
自分で補助輪作るか、大手メーカーの補助輪使うかの違いでしょ?



771 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:09:58.24 ID:???.net]
障害者に優しくないサイトだっつって訴訟起こされた会社があったな

772 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:10:25.73 ID:???.net]
>>760
> 真面目な話IEを切り捨てるのなら最初からjQueryを導入する必要はない

でもさ、jQuery使わないでも、IEを切り捨てることなんてできないんだよ。
JavaScript使って書いてもIEで動いちゃう
IEで動くのに一部動きませんって苦情くるよね?

どうせ切り捨てられないなら、動くほうが良いじゃない

773 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:11:01.74 ID:???.net]
>>760
> モダンブラウザなら普通に書けばあってもちょっとの修正で済むのだから

ちょっとの修正で動く
 VS
何も修正しないで動く

なら後者を取るなぁw

774 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:11:39.45 ID:???.net]
1箇所で使い始めると使うのを止めるのが面倒なのがjquery

775 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:12:47.57 ID:???.net]
>>766
大丈夫。jQueryは、生JavaScriptとの互換性が高いから、
混ぜて使うことが簡単にできる。
そこがAngularやReactとの大きな違い。

だからjQueryをやめる必要がない。

776 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:13:23.51 ID:???.net]
>>766
jQuery便利すぎるもんな。

一回使うと便利すぎて
やめられない、とまらない 状態になってしまう。

777 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:14:17.72 ID:???.net]
>>762
どこかの有名なポリフィル使うという話ならそうだが
jQueryは補助輪レベルじゃないじゃん

778 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:15:00.98 ID:???.net]
そろそろflash見直してもいいんじゃないかと思いかけたがappleがなあ

779 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:15:56.50 ID:???.net]
>>764
それはIEを特別視し過ぎ
単なるシェアの問題ならもうちょっと待っててよ
その内消えるから

780 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:16:25.94 ID:???.net]
Flashは別にオーサーリングツールとしては生き残ってるでしょ
出力がsfwなのかhtmlなのかが重要なわけで



781 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:16:53.75 ID:???.net]
>>769
補助輪だよ。便利すぎる補助輪

782 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:17:15.28 ID:???.net]
>>771
IE消えても古いスマホは消えないだろうからな。

783 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:18:23.02 ID:???.net]
オーサーリングw

784 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:20:08.57 ID:???.net]
jQueryとDOM APIは組み合わせて
使えるってところが強い

普段は便利なjQueryを使ったコードを書いて、
jQueryではできない所だけDOM APIを使う

そしてDOM APIとjQueryはシームレスにつなげることができる

785 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:21:49.37 ID:???.net]
上でTLSの話があったけどTLS1.1で接続掛けてくることよりもサポート切れてるIEを使ってる方が危険でしょ
そんでもう1年でサポート切れるwin7を除きサポートが続くIE11が乗ってるwindowsにはEdgeという素晴らしいものが乗ってるんだからさ
うちではIEからのアクセスは「microsoft-edge:」で飛ばしてEdgeを開かせるようにしてる
それが唯一のIEサポート

786 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:22:05.14 ID:???.net]
どうでもいいがDOMってたまにDQNに見えるよな
俺だけじゃないよな

787 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:23:41.30 ID:???.net]
>>777
すいません。今TLSの話はしてないんです。

788 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:24:27.09 ID:???.net]
え?古いJavaScriptは危険でしょ?
JavaScript使うの辞めてjQuery使わなきゃ!

789 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:24:48.42 ID:???.net]
そういう話をしたくてTLSを出したんでしょ?

790 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:24:58.03 ID:???.net]
>>773
エンジンもエアバッグもライトもついてる補助輪だろ
無駄なんだよ
補助輪だけで良いのに



791 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:25:09.69 ID:???.net]
いえ、だからTLSは

792 名前:関係ないんです。 []
[ここ壊れてます]

793 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:25:56.52 ID:???.net]
ie11はまだいいよ
少なくともサポート外の環境をサポートする義理は無いってだけで

794 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:27:07.22 ID:???.net]
いやIE11はEdgeに飛ばしたほうが良い
IE11をサポートするしないは超絶に違う

795 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:27:40.23 ID:???.net]
>>782
補助輪って言ったから、あなた混乱しちゃったのかな?
あれはたとえであって補助輪は忘れましょう

ブラウザだってたくさん機能持ってるよね?
でもクッキーだけ使えればばいいんですってはならないよね?

少なくともウェブの世界では機能は多いほうが便利なんだよ。

796 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:28:33.67 ID:???.net]
IE11をサポートするしないは
生JavaScriptで書くと
超絶に仕事の量が違う


うーん、ならやっぱりjQueryを使ったほうが良いのでは?

797 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:29:45.23 ID:???.net]
そうか。そもそもjQueryを使わないから、
古いブラウザ切って、NodeListが正しく動くコードはどれで
ポリフィルはいれなきゃいけないなーって話になってるのか

798 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:30:40.55 ID:???.net]
>>788
そうだね。今話題になってる(そしてこれからも話題になる)
問題の元凶はjQueryを切り捨てようとするからだよ
jQueryを使っていれば問題はそもそも発生しない

799 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:32:29.20 ID:???.net]
>>787
IE11をサポートするならその通り

800 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:33:15.78 ID:???.net]
切るなら要らない



801 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:36:53.71 ID:???.net]
そこで第三の選択肢がでてくる。

IE11を切るがjQueryは使うという選択肢だ
これのメリットは名目上はIE11を切っているため
サポートする必要はないが、jQueryを使っているため
IE11を含めて多くの環境で、同じように動くことが保証される
その上仕事の量も減って開発コストも減るということだ

頭が固い人は、サポートを打ち切る = あえて動かなくすることだと考えるが
jQueryを使わなくても、JavaScriptは古いブラウザで動いてしまう。
そこで頭が固い人は、古いブラウザ動かなくするためにコストを支払うわけだ。

IE11をサポートしないが動いてしまうのは受け入れるという選択肢
それが一番いい方法だ

802 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:37:14.14 ID:???.net]
別に古いブラウザではJS動かさなきゃ良いんじゃない?
どうせJS切ってる環境でも動くようにするんだろうし
自分はもうtype="module"使ってnomoduleでChromeのDLリンク出してるよ

803 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:38:26.94 ID:???.net]
>>793
テレビにchromeをインストールする方法を教えてほしい
インターネット対応のテレビなんだ

804 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:38:38.21 ID:???.net]
そもそもおれたちってなんでprototype.jsからjQueryに推し変したんだっけ・・?

805 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:39:26.49 ID:???.net]
>>757
代入文を1行書く程度のコードを「車輪の再発明」というならそうかもね

806 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:39:26.64 ID:???.net]
jQueryで多くの環境で同じように動くというのが良く分からない
最近のブラウザではDOM操作のAPIに差はほぼ無く
ほかのWeb APIやCSSの差の方が大きいだろう

807 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:40:33.65 ID:???.net]
>>796
お前の仕事は、代入文を一行書くだけで終わる仕事なのか?
ここでの少ないサンプルコードだけで判断するな。
仕事ではもっと多くのことをやる。
だからライブラリを使うんだよ

808 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:41:29.79 ID:???.net]
>>797
> jQueryで多くの環境で同じように動くというのが良く分からない

最近のブラウザであってもバグがあって挙動が違うところがあるんだよ
そういうバグに対応している。

809 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:41:38.19 ID:???.net]
jQuery使ったほうがはやいの?

昔 Rails 使ってメモリバカ食いで高級鯖契約することになってひどいめにあったから
FWなしですむ単純な仕様はなるべくつかわないようにしてるけど
パフォーマンスメリットがあるなら今度から使うわ

810 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:43:11.15 ID:???.net]
>>794
君の古い環境ではJSが働かない軽快なページが表示されるから安心するといいよ
どうしても入れたくばUSBデバッグを有効にして入れれば良いんじゃない
大抵UIに問題出たりするから運次第だけど



811 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:44:23.15 ID:???.net]
>>799
確かそれ24週間だか前の話でしょ?

812 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:47:21.79 ID:???.net]
>>800
パフォーマンスって測るの難しいけど
DOM操作はたいしたことないと言うか
色々なデバイスがアクセスするWebで
そこでギリギリの性能を追求するもんじゃない

やっぱ一番はネットワークかな
ServiceWorker入れてSPAにするのが一番手っ取り早いよ

813 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:48:52.31 ID:???.net]
>>795
prototype.jsとjQueryでは後者のほうが洗練されており
セレクタが使えるのでHTML/CSSとの相性がよく
圧倒的にコードが短く書けるという違いがあった

prototype.jsの方が先にリリースされていたが純粋に
ライブラリ同士を比較すると最初からjQueryの方が優れていた
それでも先にリリースされていたprototype.jsはそれなりに使われていた

両者拮抗している中、jQueryの圧倒的普及を決定づけたのは、
prototype.jsがウェブの標準を壊してしまうという出来事
prototype.jsが提供する Array.prototype.reduce が
ウェブ標準で追加されたそれと互換性がないということ

この結果、ブラウザでは多くの実行環境が存在し、ユーザーが使う
実行環境(ブラウザ)を制限できないため、ブラウザの基本オブジェクトを
拡張してしまうと、予期せぬ問題が発生することが認知された

その結果prototype.jsからjQueryへ多くの人が流れた

814 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:49:15.05 ID:???.net]
>>798
ライブラリ任せの人には分からないだろうけど、@@iteratorの拡張に長いコードは不要

815 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:50:33.00 ID:???.net]
>>802
> 確かそれ24週間だか前の話でしょ?
なんの話してるの?
24週間の間には新しいバグが見つかってないから
jQueryはバージョンアップしてないってだけで
24週間よりも前に見つかったバグはたくさんあるんだよ
そういうバグに対応している

816 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:51:07.36 ID:???.net]
>>805
じゃあ短いコードが必要なんですねw
@@iteratorの拡張に対応してないブラウザはどうするんですか?w

817 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:52:07.11 ID:???.net]
>>800
jQueryが速いのは開発速度
それでいて、ReactやAngularよりも圧倒的に
メモリ使用量が少なく速い。ライブラリのサイズも小さい

818 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:52:17.99 ID:???.net]
うーん
@@iteratorを拡張するより
queryAll()みたいな自作関数を用意する方が良くない?
結局document.querySelectorAll()ってクソ長いしさ
map使いたくて[...]すればもっと長くなるし

819 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:52:49.25 ID:???.net]
そして>>809の考えを発展させたのがjQuery

820 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:55:22.38 ID:???.net]
>>807
forEachを使えばいいでしょ
元々、Androidを引き合いに出していたくせに都合が悪くなると、条件後出し
格好悪いよ



821 名前:Name_Not_Found mailto:sage [2018/07/29(日) 23:59:12.04 ID:???.net]
>>806
なんでそんな適当な嘘つくの?
ブラウザは毎日沢山のバグが見つかってるしjQueryのissuesにもいくつもの報告が挙がってるし
一方とっくに解決された問題も数多あるのにただjQueryが更新されてないだけでしょ
jQueryは6週間のサイクルに全然追いつけてない
いい加減認めたほうが良いよ

822 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:01:31.13 ID:???.net]
>>812
> ブラウザは毎日沢山のバグが見つかってるしjQueryのissuesにもいくつもの報告が挙がってるし
それを手動で対応するは大変だな。
そんな事やってるの?
お前が自分で作ったものは毎日たくさん修正が必要だってことなんだなw

823 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:06:42.31 ID:???.net]
このスレにはアホとバカとマヌケしかおらんのかえ

824 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:08:33.54 ID:???.net]
>>813
そうだよ?ってかそうじゃないの?
毎日色んなバグ報告チェックしてトラッキングしてブラウザのバージョンアップ前には
ベータ版で確認して毎日のようにブラウザやライブラリにissuesを飛ばす
そして毎日カット入れて更新する それが毎日の仕事でしょ
君毎日何してるの?

825 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:10:09.52 ID:???.net]
>>812
ちょっと興味ある
詳しく聞きたい

826 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:14:51.93 ID:???.net]
>>815
ん?言い方が悪かったな。

お前が書いたJavaScriptのコードは
毎日のようにブラウザのバグに対応する修正を
してるのかって話だよ。

827 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:15:44.03 ID:???.net]
>>816
どうせきっと関係ないバグの話を持ち出してくるぜーw みてな。

828 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:19:09.46 ID:???.net]
どこぞのブラウザのバグに対応するなんて
本質的じゃない仕事は他人に任せて
自分がやるべき仕事をしたいな
だからライブラリを使う

829 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:20:14.20 ID:???.net]
>>817
勿論するよ
テストもターゲット環境も毎日変わるし
ブラウザやフレームワークもbetaやdev版も使ってるから毎日何か発見があるからね

そこで今動いていても将来的に不味そうならきちんと修正する
殆どはブラウザ側やライブラリ側の問題で
そういうときは基本的には報告したりパッチを書いて向こうに直してもらうけどね

830 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:20:22.19 ID:???.net]
>>815
屁理屈で相手を打ち負かそうとしてるのか知らんが下手すぎだろw



831 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:21:11.18 ID:???.net]
>>820
だからー、お前が書いたJavaScriptコードを
修正しているかどうかに、はい か いいえ で答えろよ。

832 名前:816 mailto:sage [2018/07/30(月) 00:22:15.25 ID:???.net]
網羅的でなくても(できれば日本語だとうれしいけど)このURL見ろでも良い

それを元に/それに対して批判や意見書くつもりはない
普段jQueryほとんど使わないんで知識がないから
参考程度でも事例を知りたいというだけだから

833 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:22:21.95 ID:???.net]
>>753 -> >>757 -> >>798 -> >>807
論点に一貫性がない奴だな
食いつけそうな場所を見つけて反論してるだけで、前に発言した持論をガン無視

834 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:22:44.35 ID:???.net]
>>824
で?

835 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:24:20.23 ID:???.net]
わずか12秒半

836 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:24:31.95 ID:???.net]
ライブラリを使わないやつって、毎日のように
あのブラウザで動かなかった、このスマホで動かなかったと
特定のブラウザに対応するために修正してるんだなーって思った
大変だなーって思った

837 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:24:56.79 ID:???.net]
自作自演バレバレw

838 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:25:09.41 ID:???.net]
>>825
ただの感想
実にいい加減な奴だと思った

839 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:25:33.99 ID:???.net]
>>828
あぁ、理解できないんだねw

840 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:25:41.01 ID:???.net]
ライブラリとかUAのバグとかで悩まなくて良い方向に持ってく努力



841 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:26:23.58 ID:???.net]
ライブラリを使わないやつの仕事は
各ブラウザのバグや互換性のなさに
対応するコードを書くことなんですよ。
一体いつの時代に仕事なんですかねw

842 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:27:08.90 ID:???.net]
>>831
じゃあjQueryなどのライブラリを使えば良いのでは?

毎日の無駄な仕事から解放されるよ。

843 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:28:46.44 ID:???.net]
気づいてないようだけど、ブラウザのバグを報告して正しく
動くようになれば、jQueryも正しく動くようになる
だからjQueryをバージョンアップする必要はないってことになるんやで?

844 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:29:21.93 ID:???.net]
>>824
彼は逃亡中だから、そっとしておいてあげて

845 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:29:23.71 ID:???.net]
>>833
全員が全部のライブラリ使えるわけじゃないし
学習コストを各人のオフの時間に転嫁するのは倫理的にどうかと思うからな

846 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:30:21.37 ID:???.net]
なお報告しても正しく動くようになることは決して多くなかったIE

847 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:31:04.97 ID:???.net]
>>836
誰も全部のライブラリを使えるようになれなんていってませんー

よく使われてるライブラリ
https://w3techs.com/technologies/history_overview/javascript_library

この上位3つぐらい使えるようになってれば十分だろw

848 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:32:30.72 ID:???.net]
開発コスト > 学習コスト

これが成り立たないのが初学者なんやでプロじゃない
プロは開発コストを減らすために学習する
だけど素人は開発しないので学習コストのほうが高く見える

849 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:33:02.75 ID:???.net]
ブラウザの互換性問題なら、PolyfillとBabelで十分だな

850 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:33:23.86 ID:???.net]
w3techsの統計がよく挙がるけど
w3techsの統計って検証可能なの



851 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:35:27.33 ID:???.net]
>>841
可能

FAQにどうやってデータを集めているか書いてある
https://w3techs.com/faq

> How do you know which technologies are used by a site?
>
> Primarily, we use information provided by the site itself when downloading
> web pages. In other words, we fetch web pages very much like a search
> engine, and analyze the results. Additionally, we use publicly available
> information from sources such as Alexa, Google, Microsoft and ipinfo.io.

852 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:37:43.75 ID:???.net]
>>840
そこで解決したならば、jQueryも問題なく動くっつー訳やな

853 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:38:21.25 ID:???.net]
>>842
データ提供元が書かれてるだけだし、publicly available informationっていっても具体的に何よ?と
Alexaって度々個人情報関係で問題起こしてたり、サイトランキングとか言って出鱈目なアクセス数出してるところでしょう

GoogleやMicrosoftがデータを出してるなら、
GoogleやMicrosoft自身がjavascript利用状況の統計を出してそうなものだけど

854 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:39:13.37 ID:???.net]
> GoogleやMicrosoft自身がjavascript利用状況の統計を出してそうなものだけど
なんのために?

855 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:39:19.27 ID:???.net]


856 名前:w3techsが自前で収集したというデータがあるんだったら
それが何らかの形で独立して公開されてないと検証不可能
[]
[ここ壊れてます]

857 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:40:44.00 ID:???.net]
>>846
じゃあ自分でデータ集めて解析すれば良いんじゃないですかね?

嘘か本当かわからないから、
俺は信じない!じゃだめでしょw

858 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:41:57.20 ID:???.net]
私の感を信じてください!

859 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:44:06.62 ID:???.net]
せめて対象サイト一覧ぐらいは無いと、同じようにデータを集めるということができないんじゃね

860 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:44:23.98 ID:???.net]
>>843
問題なく動くことと採用することは等価ではない



861 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:45:06.30 ID:???.net]
>>850
はい。知っています。
動かない場合があっても採用しますよ。
どうせ生JavaScript使っても
動かない場合があるんですから

862 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:46:19.33 ID:???.net]
>>849
> せめて対象サイト一覧ぐらいは無いと、

https://w3techs.com/faq
> Which websites do you count? Do you crawl all the web?
> For the surveys, we count the top 10 million websites according to Alexa,

Alexaのトップ1000万ページだってさ

863 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:46:21.85 ID:???.net]
>>847
いや、いいでしょ
嘘か本当か分からないものを根拠に「jQueryのシェアが延びてる」と主張する方がおかしい

864 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:46:27.41 ID:???.net]
どうせ何使っても動かない場合があるんならjavascriptやめようw

865 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:47:22.86 ID:???.net]
詳しくは https://w3techs.com/technologies を見れって書いてあるな

866 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:48:23.31 ID:???.net]
誰も検証しないからどうでもいいんだよ
オープンソースでも誰も検証しなくて問題が表沙汰にならないのと同じ

867 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:48:39.81 ID:???.net]
>>851
それはお前さん自身が勝手にやれ
>>843のような反応をする意味は何だ?

868 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:49:26.69 ID:???.net]
>>853
嘘か本当かじゃなくて、
w3techsの調査を信用するかどうかでしょ?
で俺は信用してるし、お前は信用してないってだけ。

お前は誰も信用してないんでしょ?
なら何も言う資格はないよ
だってお前のことも信用出来ないんだから

869 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:51:55.63 ID:???.net]
>>852
alexaのトップ1000万サイトそれぞれのURLって誰でも自由に取って来れんの

870 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:53:35.63 ID:???.net]
>>857
意味と言われてもね。

上の方で(逃げたみたいだが)
自分で書いたJavaScriptのコードがブラウザのバグで動かない場合に
どうするんだ?って聞いたら(自分で書いたJavaScriptのコードをなおすのではなく)
ブラウザ開発者に報告している、毎日報告するのが仕事だって言ったから、

じゃあ、ブラウザのバグがなおればOKっていうのなら、
jQueryだってブラウザのバグがなおったら、解決するって話じゃんって指摘しただけ

その延長で、jQueryの土台となるJavaScriptやブラウザ側で対応できるなら、
jQueryをそんなに頻繁にバージョンアップしなくても、なおせるんですよーっていう話



871 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:53:43.83 ID:???.net]
統計は集計方法が変われば、がらりと変わるものだからな
jQueryが下降しているデータもある
https://ferret-plus.com/8989 

872 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:53:53.90 ID:???.net]
>>859
詳しくは https://w3techs.com/technologies を見れって書いてあるな

873 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:55:11.37 ID:???.net]
>>861
そのサイトが信用に値するという根拠を教えてください。
全てはそこですよ。信頼できる根拠があるかどうか

874 名前:Name_Not_Found mailto:sage [2018/07/30(月) 00:56:52.99 ID:???.net]
どうだろう?

jQueryに関する質問が減ったら、
使われてないことにならないだろうか?

ちょっと試してみよう

みたいなことはやめてくださいw
直ぐにバレますから >>861

875 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:00:09.62 ID:???.net]
>>860
上の方など、知らん
同じ奴と見なしてレスするのを止めろ

そもそも、ブラウザ個別のバグにPolyfillで対処などせんぞ

876 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:00:45.18 ID:???.net]
質問の数が減らないのは、今までの質疑応答で解決できてない新たな問題がたくさんあるってことやで・・・

877 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:05:40.23 ID:???.net]
>>858
誰も信用してないってどこから来たんだ?
頭大丈夫か?

878 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:07:05.53 ID:???.net]
>>866
賢いな

879 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:09:26.64 ID:???.net]
https://w3techs.com/ が信用に値するという根拠を教えてください

880 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:11:03.76 ID:???.net]
>>866
stackoverflowは質問者以外にも質問をクローズする権限があるんだが



881 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:14:52.03 ID:???.net]
>>869
FAQ読んで納得したよ

>>870
多く使われてるのに質問が少ない
殆ど使われてないのに質問が多い
ReactとAngularは後者

882 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:18:00.65 ID:???.net]
>>871
870の内容を無視したレスをされてもな

883 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:24:50.36 ID:???.net]
>>872
なら、その質問をクローズする権限を持っていることが、
どう影響するのか、その根拠を示してくれないか?

884 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:27:02.08 ID:???.net]
>>873
ははw どうせ何も知らんってw
クローズされた質問が、統計データに
含まれているかどうかすらも調べてないだろ

だいたい質問の数と使われている数は関係ないのに
自分の都合の良い別のデータを持ち出してきて
勝手に独自解釈してるだけなんだからさ

885 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:28:48.19 ID:???.net]
最後の2行、まさにそのとおり
統計なんてそんなもんだよな

886 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:28:56.90 ID:???.net]
>>871
答えになっていません
それで納得するなら、stackoverflowも「helpを読んで納得」すればいいんじゃないですか
https://stackoverflow.com/help
それにしても、当該サイトの説明だけで納得するとは、他人の言を裏をとらずに鵜呑みにするタイプなんですかね

887 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:29:19.43 ID:???.net]
同じトレンドなら、StackOverflowの質問だけのトレンドじゃなくて
Googleトレンドのほうがまだ信用できるかな

https://trends.google.co.jp/trends/explore?date=all&geo=JP&q=jquery,angular,angularjs,react

888 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:30:09.05 ID:???.net]
>>876
> それで納得するなら、stackoverflowも「helpを読んで納得」すればいいんじゃないですか

質問サイトであるstackoverflowのhelpには
質問サイトの使い方しか乗ってません。

統計データを集めてるサイトじゃないんですから・・・

889 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:30:14.20 ID:???.net]
>>874
2-3行目ってお前は調べて書いてんの?

890 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:30:49.95 ID:???.net]
javascriptコードやライブラリロードの有無じゃなくて
javascriptがOFFでも動くサイトの割合とか
特定ライブラリが実際に使われているかどうかの統計どっか出してくんねーかな



891 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:31:21.34 ID:???.net]
>>879
そういうのって、このデータを信じてください!って
持ってきてるほうが出すのが筋じゃないの?w

892 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:32:07.52 ID:???.net]
>>878
結局、答えになっていませんが、運営のいうことを鵜呑みにする理由は何なんですかね?

893 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:32:22.75 ID:???.net]
>>880
> javascriptがOFFでも動くサイトの割合とか

javascriptがOFFだと「JavaScriptを有効にしてください」って
書いてあるだけのページが表示されるサイトも、
動くってことにして良いのか?

894 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:33:02.74 ID:???.net]
>>882
そりゃ「統計データ」がどういうふうに
集められたかを書いてあるかどうかでしょw

895 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:33:39.68 ID:???.net]
>>881
それはただの言いがかりじゃないの?
可能性の視点なら、いくらでもいちゃもんつけられるでしょ?

896 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:34:01.17 ID:???.net]
stackoverflowのデータに、世界中のサイトを
調べて回ったって書いてありましたっけ?
あくまでstackoverflowに寄せられる質問の数だけでは?

897 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:36:04.15 ID:???.net]
>>885
stackoverに寄せられた質問をもとにしたデータが、世界中のサイトを
調べた結果でないのは可能性ではなく、明らかなことでは?

898 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:36:55.64 ID:???.net]
>>874
というか、根拠を示せというなら、>>871も根拠を示さなければ、公平ではないのでは?

899 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:38:09.77 ID:???.net]
多く使われてるっていうのは、 https://w3techs.com/ で
一応は納得するけどさ

900 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:38:23.63 ID:???.net]
>>887
2-3行目と書いてるのに、なぜ関係ない方を持ってくるの?



901 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:39:10.29 ID:???.net]
>>888
stackoverflowのデータが質問の数であることは納得してるよ。
それと世界中のサイトで使用されている数とをごっちゃにするなってこと

902 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:39:53.76 ID:???.net]
>>890
だから2-3行目を持ってくるのは、
このデータを持ってきたやつの仕事だって言ってるだろ
無視して同じこと言わせるな

903 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:48:56.39 ID:???.net]
>>883
常識的に考えるとそこはNOだよな
サイトの本旨が達成できないといけない
逆も同じで文字サイズ変更のためのjsコードがあっても
画像を拡大するためのjsコードがあってもサイトの本旨は達成できる
だから面倒なんだよな
他の項目も同じで実情が反映されないと

904 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:50:28.79 ID:???.net]
>>892
それはあんたの論でしょ
>>885で否定してんのに、関係ない話でレスすんなよ

905 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:51:33.60 ID:???.net]
2ch/5chの質問スレの数やレス数をみただけでは質問数なんて計れないのと同じ
将棋板だか将棋スレなんてテンプレだけでかなり占めてたりするしな

906 名前:870 [2018/07/30(月) 01:53:42.66 ID:Wg5QXmFw.net]
>>874
お前の拡大解釈だぞ
stackoverflowの統計情報がjQueryのシェアと一致するとは、一言も書いてないのにどうしてそういう解釈になるんだ?

907 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:55:35.02 ID:???.net]
お前らこんなとこでサボってないで仕事しろよ
納期迫ってんぞ

908 名前:Name_Not_Found mailto:sage [2018/07/30(月) 01:58:40.30 ID:???.net]
>>891
>>871の最終行に根拠がなく、あなたの決めつけにしかなってないのですが

909 名前:Name_Not_Found mailto:sage [2018/07/30(月) 02:19:52.48 ID:???.net]
>>896
全てはこいつが悪い

> 861 名前:Name_Not_Found[sage] 投稿日:2018/07/30(月) 00:53:43.83 ID:???
> 統計は集計方法が変われば、がらりと変わるものだからな
> jQueryが下降しているデータもある
> https://ferret-plus.com/8989 

変わったのは集計の方法じゃない。
集計の内容が変わってる。

世界全体のシェアの話をしている所に
stackoverflowの質問の割合を持ち出してきて

「jQueryが(目的からして違うデータだけどそれ隠してやろう。ぷぷぷ)下降しているデータもある」
と言い出したのが悪い

910 名前:Name_Not_Found mailto:sage [2018/07/30(月) 02:36:07.17 ID:???.net]
ロードしているけどろくに使われていない・古いコードが残っているだけの可能性
シェアを直接反映しているかどうかわからないsofの質問数
もう何も信用できない!!



911 名前:Name_Not_Found mailto:sage [2018/07/30(月) 03:25:08.23 ID:???.net]
>>899
>>874>>870を拡大解釈したミスは>>861の責任ではない

912 名前:Name_Not_Found mailto:sage [2018/07/30(月) 03:46:29.87 ID:???.net]
ことにしたい

913 名前:Name_Not_Found mailto:sage [2018/07/30(月) 04:01:33.16 ID:???.net]
もうお前らプププランドでやってくれよ

914 名前:Name_Not_Found mailto:sage [2018/07/30(月) 08:10:23.86 ID:???.net]
恥の上塗りを続ける馬鹿が必死すぎるな

915 名前:Name_Not_Found mailto:sage [2018/07/30(月) 08:20:13.67 ID:???.net]
>>899
責任転嫁君

916 名前:Name_Not_Found mailto:sage [2018/07/30(月) 09:11:19.57 ID:???.net]
なんだ?1日で一体何があったんだ

917 名前:Name_Not_Found mailto:sage [2018/07/30(月) 09:18:25.89 ID:???.net]
俺の髪の毛がまた抜けたんだよ

918 名前:Name_Not_Found mailto:sage [2018/07/30(月) 10:26:21.36 ID:???.net]
jqueryでも特に困らないのでvueなどに移行するタイミングがありません
一度飛び越えてしまえば、移行して良かった〜ってなりそうな気もしますが
どうしたらいいですか?

919 名前:Name_Not_Found mailto:sage [2018/07/30(月) 11:12:16.10 ID:???.net]
str = `あいう$ えおか$ きくけ$`;

$前の文字列を取り出したい時、
それぞれ文字列は(ひらがなだけではなく)$以外の文字で
長さも異なります、スペース込みでもいいです

str.match(/[^\$]+(?=\$)/g);//["あいう", " えおか", " きくけ"]
で取り出せるのですが
[^\$]の部分は、こう書くしかないでしょうか?

str.match(/.+(?=\$)/g);//["あいう$ えおか$ きくけ"]
もやってみましたが$もふくまれてしまい、"け$"からマッチしてしまうのです

920 名前:Name_Not_Found mailto:sage [2018/07/30(月) 12:04:28.20 ID:???.net]
だと思う
正規表現を使わない方向で、$でsplitして得た配列の末尾の1要素を消してもいいけど

ところで、[]の中では、\以外のメタキャラクタは
\つけなくてもメタキャラクタ扱いされないんじゃなかったっけ



921 名前:Name_Not_Found mailto:sage [2018/07/30(月) 12:05:20.46 ID:???.net]
ああ、 ] / なんかも\つけないとダメか

922 名前:Name_Not_Found mailto:sage [2018/07/30(月) 12:07:03.77 ID:???.net]
>>910
[\\]のときは特別だということでしょうか?

923 名前:912 mailto:sage [2018/07/30(月) 12:07:46.69 ID:???.net]
あ、かぶりましたすみません>>911

924 名前:Name_Not_Found mailto:sage [2018/07/30(月) 12:13:38.06 ID:???.net]
splitとmapで一行いけるかも
複数行使ってpopとか空文字列要素削除をやった方が読みやすいけど

925 名前:Name_Not_Found mailto:sage [2018/07/30(月) 12:25:04.34 ID:???.net]
var str = 'ab$cde$$fgh$ijklmn$opq';

console.log( str.split(/\$+/).slice(0, -1) ); // [ 'ab', 'cde', 'fgh', 'ijklmn' ]

926 名前:Name_Not_Found mailto:sage [2018/07/30(月) 12:56:34.36 ID:???.net]
match(/[^$]+/g)
でも実際には問題ないのでは?

927 名前:Name_Not_Found mailto:sage [2018/07/30(月) 16:39:33.44 ID:???.net]
>>908
> jqueryでも特に困らないのでvueなどに移行するタイミングがありません
> どうしたらいいですか?

作るものを変える必要がある。いまウェブサイトを作ってるなら、
アプリケーションに変える。スマホアプリなんかを想像するといいだろう。

ウェブサイトは基本的に静的なものとして作るので、動的なものが
作りやすいフレームワークっていうのは根本的に相性が悪い
jQueryは静的なものに対して、追加で動的なものを追加できるので
ウェブサイトと相性がいいが、最近のJavaScriptフレームワークは
すべてを動的なものとして作ろうとするからウェブサイトとは相性が悪い。

まあ顧客を変えるか、仕事を変えるしかないね
相性が悪いものに移行しても後悔するだけだよ

928 名前:Name_Not_Found mailto:sage [2018/07/30(月) 20:46:23.84 ID:???.net]
つまりはPWAとAMPです

929 名前:Name_Not_Found mailto:sage [2018/07/30(月) 21:53:35.90 ID:???.net]
PWAってステキだけどいかんせんServiceWorkerの扱いが難しい
特に更新周り
アプリならまあバージョンJSON用意しといて
タイトル表示中くらいまでにそれだけ必ず最初にキャッシュレスで取得して
更新されてたらSW含めて全キャッシュ破棄してリロードでいいんだけど
ニュース記事みたいのだと難しい
最近いつも考えてる

930 名前:Name_Not_Found mailto:sage [2018/07/30(月) 22:46:32.73 ID:???.net]
動的なJSのフレームワークにjQuery入れたらダメ?
DefferedとかやっぱりjQuery便利だよね



931 名前:Name_Not_Found mailto:sage [2018/07/31(火) 06:42:35.75 ID:???.net]
uncatchもコンソールに表示してくれるしPromiseで良くね

932 名前:Name_Not_Found mailto:sage [2018/07/31(火) 10:52:21.31 ID:???.net]
PromiseってIE10で動くん?

933 名前:Name_Not_Found mailto:sage [2018/07/31(火) 10:58:47.17 ID:???.net]
IEの話は止めてくれないか!!!!

934 名前:Name_Not_Found mailto:sage [2018/07/31(火) 11:15:19.15 ID:???.net]
>>922
IE6から動く。下手すりゃそれ以前でも

935 名前:Name_Not_Found mailto:sage [2018/07/31(火) 11:42:48.28 ID:???.net]
PromiseはIE11でも動かないよ
promiseの仕組みはあるけど、APIのPromiseのES6からでIE11でも未実装

936 名前:Name_Not_Found mailto:sage [2018/07/31(火) 11:57:38.54 ID:???.net]
実装されてるかどうかじゃなくて
動くかどうかなんだなぁ

937 名前:Name_Not_Found mailto:sage [2018/07/31(火) 12:02:25.80 ID:???.net]
ライブラリやポリフィルコードで擬似的にPromiseっぽい記述を実現できたとして
それを動くと表現しちゃったらもうなんでもアリじゃん

938 名前:Name_Not_Found mailto:sage [2018/07/31(火) 12:17:33.60 ID:???.net]
Polyfillをいくつも読むなら、素直にjqでいいだろ

939 名前:Name_Not_Found mailto:sage [2018/07/31(火) 12:27:58.04 ID:???.net]
>>922
動く
kangax.github.io/compat-table/es6/#test-Promise

テンプレぐらい見ろ、と思ったが、盛大に削除されているな
これは酷い

940 名前:Name_Not_Found mailto:sage [2018/07/31(火) 12:32:17.35 ID:???.net]
はて
https://caniuse.com/promises を見ると真っ赤だが



941 名前:Name_Not_Found mailto:sage [2018/07/31(火) 12:35:54.39 ID:???.net]
IEはすべてのバージョンでPromiseのAPI実装されていません。
Polyfillを入れないといけません。

942 名前:Name_Not_Found mailto:sage [2018/07/31(火) 12:48:12.47 ID:???.net]
そうすると>>929のURLは観点が異なるか全くの嘘っぱちかどっちかということになるが

943 名前:Name_Not_Found mailto:sage [2018/07/31(火) 16:19:17.21 ID:???.net]
テンプレは何スレか前から消されたり改竄されたり復活したりを繰り返してるよ

944 名前:Name_Not_Found mailto:sage [2018/07/31(火) 19:07:18.88 ID:???.net]
>>932
では「動くかどうか」とはどういう意味だ?
>>926は「動かす方法があるか」という意味ではないのか?

945 名前:Name_Not_Found mailto:sage [2018/07/31(火) 21:06:05.94 ID:???.net]
嘘っぱちデコっぱち

946 名前:Name_Not_Found mailto:sage [2018/07/31(火) 21:08:11.33 ID:???.net]
そもそもIEでで動かす必要がない
余計なお世話
IEを使ってるような人はモダンブラウザと同じリッチな体験など求めては居ない

947 名前:Name_Not_Found mailto:sage [2018/07/31(火) 21:10:11.54 ID:???.net]
compatibility tableの「IE11」の項目しか見てないから、>>930の反応になるんだろうね

948 名前:Name_Not_Found mailto:sage [2018/07/31(火) 21:12:34.57 ID:???.net]
は?求めてっし

949 名前:Name_Not_Found mailto:sage [2018/07/31(火) 21:14:14.40 ID:???.net]
>>937
ひどい一覧だよね

950 名前:Name_Not_Found mailto:sage [2018/07/31(火) 21:15:48.79 ID:???.net]
>>939
caniuseを持ってきたのは酷いね
あっちには書いてないから



951 名前:Name_Not_Found mailto:sage [2018/07/31(火) 21:21:05.54 ID:???.net]
>>940
つまり精神が正常な一般人は使わないってことだよ

952 名前:Name_Not_Found mailto:sage [2018/07/31(火) 21:24:42.00 ID:???.net]
>>940
> あっちには書いてないから
Resourcesのリンク先にあるが、真っ赤で思考停止している人はそこまで見ないだろうな

953 名前:Name_Not_Found mailto:sage [2018/07/31(火) 21:33:28.60 ID:???.net]
情報は出尽くしたので、>>922は早めに質問をたたんでくれんかね

954 名前:Name_Not_Found mailto:sage [2018/07/31(火) 21:37:42.61 ID:???.net]
var promise = {...} って自分で定義しても動くよな

955 名前:Name_Not_Found mailto:sage [2018/07/31(火) 21:38:50.52 ID:???.net]
>>922です

IE10どころかIEは全てPromise動かなかったです。
polyfilでなんとかしましたが、なんだかなぁというのが正直な感想です。

956 名前:Name_Not_Found mailto:sage [2018/07/31(火) 21:43:34.69 ID:???.net]
>>945
動かないなら切り捨てればいい

957 名前:Name_Not_Found mailto:sage [2018/07/31(火) 21:46:44.16 ID:???.net]
>>945
古いブラウザが新しいブラウザより機能的に劣るのは当然
Polyfillで動くだけマシだよ
これが文法上の問題になると、トランスコンパイラしか選択肢がない

958 名前:Name_Not_Found mailto:sage [2018/07/31(火) 21:53:56.11 ID:???.net]
IEに何も期待するな

959 名前:Name_Not_Found mailto:sage [2018/07/31(火) 22:02:00.04 ID:???.net]
>>946

要件を勝手に変更する事は出来ません。

960 名前:Name_Not_Found mailto:sage [2018/07/31(火) 22:08:55.87 ID:???.net]
>>945
> polyfilでなんとかしましたが、なんだかなぁというのが正直な感想です。
何が不満なんだろう?



961 名前:Name_Not_Found mailto:sage [2018/07/31(火) 22:09:20.67 ID:???.net]
promiseなんて使わなきゃいいじゃん

たぶん10年待てば全UAでawait使えるようになってるよたぶん

962 名前:Name_Not_Found mailto:sage [2018/07/31(火) 22:29:40.54 ID:???.net]
実際IE使ってる人見たことないや
誰が使ってんだろ

963 名前:Name_Not_Found mailto:sage [2018/07/31(火) 22:39:03.28 ID:???.net]
ITリテラシーの低い人はIEとEdgeの違いなど判らんのだよ
ただ、あるものを使うだけ

964 名前:Name_Not_Found mailto:sage [2018/07/31(火) 22:45:09.36 ID:???.net]
IEは老人や大企業や官庁など、つまり金を持っているそうに多い。
それに対して、スマホは金のない若者が多い。

だから大企業向けのサイトほどIEが重要になる。
でもEDGEは要件に入れなくても良いと言われる。

965 名前:Name_Not_Found mailto:sage [2018/07/31(火) 22:47:08.59 ID:???.net]
資本主義社会ではITリテラシーのある貧民よりも、
ITリテラシーのない金持ちの方が100倍大事。

966 名前:Name_Not_Found mailto:sage [2018/07/31(火) 22:54:55.48 ID:???.net]
>>950
多分、「実装されてないのか。Polyfill使うなんて面倒」が正直な気持ちなんじゃないですかね
IE10リリース当時はES6が生まれていないんですから、実装されるはずがないんですがね
むしろ、「古いブラウザ(IE10)でよくぞ動いてくれた」というのがIE6時代を生きた自分の正直な気持ちですが
Polyfillやらトランスコンパイラやら、今の時代の人は十分に恵まれていると思いますね

967 名前:Name_Not_Found mailto:sage [2018/07/31(火) 23:00:54.53 ID:???.net]
共産党支持の俺様が来ましたよ。

資本主義?
いや金持ちに媚びるのはご免だね。
アベみたいなヴァカが生まれの良さだけで総理なんだぜ。

jQueryなんか使わせるなよ
ヴァカ

968 名前:Name_Not_Found mailto:sage [2018/07/31(火) 23:12:45.26 ID:???.net]
バッカ―さん、jsスレでの出現率が高いっすね

969 名前:Name_Not_Found mailto:sage [2018/08/01(水) 02:48:43.05 ID:???.net]
重要なのは金持ちかどうかじゃなくて、金払いがいいかどうかだ

970 名前:Name_Not_Found mailto:sage [2018/08/01(水) 03:19:26.48 ID:???.net]
ゴミゴミした言語はスレもゴミゴミするんやなー



971 名前:Name_Not_Found mailto:sage [2018/08/01(水) 04:10:08.47 ID:???.net]
汚職献金をどうにかできない限り共産だろうが資本主義だろうが大差ないよ

972 名前:Name_Not_Found mailto:sage [2018/08/01(水) 06:50:05.05 ID:???.net]
>>949
要件ってなんだ?
ここはいつから仕事の為のスレになった?
仕事なら同僚や先輩や、お金払って講師にその時その時で教えてもらえばいいだろ
正直IE10だのIE11だのを特別視して長々とここで語ることはスレチ
ライブラリの用に「IE対応のための」別スレ立ててやれ

973 名前:Name_Not_Found mailto:sage [2018/08/01(水) 07:58:36.09 ID:???.net]
> 要件ってなんだ?

IEでも動くこと。
言われなきゃわからんかね?

974 名前:Name_Not_Found mailto:sage [2018/08/01(水) 09:13:49.42 ID:???.net]
仕事のためにWeb作ってる奴はここから出て行け
ヴァ〜カれ

975 名前:Name_Not_Found mailto:sage [2018/08/01(水) 09:15:31.51 ID:???.net]
ここはいつから仕事の為のスレになった?
正直IE10だのIE11だのを特別視するヴァカ!

jQueryなんかも仕事の為とかだからだろ?


仕事の為にポシリー捨てるヴァカは消えろや

976 名前:Name_Not_Found mailto:sage [2018/08/01(水) 09:30:17.22 ID:???.net]
要件とか知ったことじゃねーよ
IEやらjQueryやらヴァカじゃねーの!?

977 名前:Name_Not_Found mailto:sage [2018/08/01(水) 09:30:26.01 ID:???.net]
IE前提のモーダルダイアログ使いまくりのwebアプリ作っちゃったんだけどどうすれば簡単にchromeに乗せ換えれますか?

978 名前:Name_Not_Found mailto:sage [2018/08/01(水) 09:39:25.56 ID:???.net]
/mywebapp/ie/と/mywebapp/chrome/を別に作ります

979 名前:Name_Not_Found mailto:sage [2018/08/01(水) 09:39:36.11 ID:???.net]
jQueryやらIEやらwww

作りたいものを作りたいように作ればいいだよ
仕事wwwヴァカwww

980 名前:Name_Not_Found mailto:sage [2018/08/01(水) 12:11:08.47 ID:???.net]
selectのオプションで一文字だけ途中から変更したいのですが



981 名前:Name_Not_Found mailto:sage [2018/08/01(水) 12:19:47.53 ID:???.net]
すいません、書き込みミスしました。
selectのオプションで一修飾した一文字を先頭に追加したいのですが
次のようなプログラムでは文字だけは表示できても文字修飾はできませんでした。

dummy = document.createElement('span');
dummy.setAttribute('class', 'index_num');
dummy.setAttribute('style', 'font-family: arial,sans-serif; font-size: small ! ; line-height: 160% ! important; border-color: rgb(255, 255, 255) ! //- 少し長いので略 -
dummy.innerText = "適当";
select.options[0].insertAdjacentElement('afterbegin',dummy);
selectのオプションはそういう仕様なのでしょうか。

982 名前:Name_Not_Found mailto:sage [2018/08/01(水) 12:44:09.57 ID:???.net]
<option></option>の中に入れることができるのは、生テキストだけだと思ってたぜ
<span>なんか入れられるんだなスゲー!!

983 名前:Name_Not_Found mailto:sage [2018/08/01(水) 13:11:25.28 ID:???.net]
>>972
入れられるのは入れられるのですが文字が修飾されてないんです(T_T)
afterbeginをbeforebeginに変更してもダメでした。

984 名前:Name_Not_Found mailto:sage [2018/08/01(水) 13:43:10.65 ID:???.net]
>>973
一応書いておくが、本当に「入れられ」てるか確認したか

HTMLに書いてもいいしjsで入れてみてもいいし、
DOMインスペクタでDOMツリー確認してもいいしjsでinnerHTML確認してもいいが

985 名前:Name_Not_Found mailto:sage [2018/08/01(水) 14:09:37.55 ID:???.net]
optionタグは加飾できないぞ

986 名前:Name_Not_Found mailto:sage [2018/08/01(水) 14:34:26.84 ID:???.net]
>>974
firefoxのインスペクタで確認しましたがそれだけでは不充分と言うことでしょうか。

987 名前:Name_Not_Found mailto:sage [2018/08/01(水) 14:39:10.99 ID:???.net]
https://momdo.github.io/html5/forms.html#the-option-element
>要素がlabel属性およびvalue属性を持つ場合:空。
>要素がlabel属性を持つがvalue属性を持たない場合:テキスト。
>要素がlabel属性を持たない場合:要素内の空白文字でないテキスト。

<span>が許されるならテキストじゃなくてフレージングコンテンツって書かれるはずだよな
仕様と実装の問題なのでjavascriptスレの話題ではないとおもいます

988 名前:Name_Not_Found mailto:sage [2018/08/01(水) 16:40:52.07 ID:???.net]
特定の <div> のなかの <input> の状態を全部sessionStrageに保存して
あとでそれを再セットするって input の数や種類に依存せずにかけませんか?
div にも input にもユニークな id が振られてます
input.type は今の所 text select と checkbox だけです

native js でも jQuery でもいいです

989 名前:Name_Not_Found mailto:sage [2018/08/01(水) 18:39:01.95 ID:???.net]
IEとEdgeの違いが分からないITリテラシーの低い人に同じコンテンツを与えるべきなのだろうか?
async関数を多用したアプリをトランスパイルしたことがあるけど
IEじゃGCに負荷がかかってプチフリ多発&メモリリークした。
基本的に別のページを用意してあげることこそがIE対応と言えると思う。

990 名前:Name_Not_Found mailto:sage [2018/08/01(水) 19:00:59.28 ID:???.net]




991 名前:>>979
IE6SP2-をまだサポートしている時代の人ですか
[]
[ここ壊れてます]

992 名前:Name_Not_Found mailto:sage [2018/08/01(水) 19:14:08.65 ID:???.net]
んにゃIE9,10,11の話だよ
API有る無しだけではなくやっぱりエンジンの出来が段違いだから
同列のコンテンツは提供できない

993 名前:Name_Not_Found mailto:sage [2018/08/01(水) 19:16:53.50 ID:???.net]
>>979
IE対応ページだけを用意すれば、Edgeでも同じように見えるよ
それで問題解決じゃない

994 名前:Name_Not_Found mailto:sage [2018/08/01(水) 20:52:50.09 ID:???.net]
同じように見える必要がない
そんなにWebで同じに拘りたかったらFlashでも使ってろ

995 名前:Name_Not_Found mailto:sage [2018/08/01(水) 20:55:58.49 ID:???.net]
同じように見える必要がないって決めつけるのは
自分の都合しか考えてないからだろうか

996 名前:Name_Not_Found mailto:sage [2018/08/01(水) 20:56:58.75 ID:???.net]
> そんなにWebで同じに拘りたかったらFlashでも使ってろ

ウェブにこだわりたいのは、古いブラウザを使ってる
ユーザーよりも、ウェブのほうが大事だって思ってる人の方だろう

997 名前:Name_Not_Found mailto:sage [2018/08/01(水) 21:03:42.61 ID:???.net]
>>984
同じに見せる必要があるって決めつけるのは
自分の都合しか考えてないからだろうか

998 名前:Name_Not_Found mailto:sage [2018/08/01(水) 21:04:39.43 ID:???.net]
むしろ未だにIEでしか実現できない機能も多いけどな
ActiveX使ったローカルファイルアクセスとかMSアプリとの連携とか

999 名前:Name_Not_Found mailto:sage [2018/08/01(水) 21:07:43.80 ID:???.net]
ActiveX使えばどんな機能でもポリフィルできるからな
IEはEdgeより高機能でポテンシャルが有るとも言える

1000 名前:Name_Not_Found mailto:sage [2018/08/01(水) 21:10:07.77 ID:???.net]
そもそも同じように見せることなんて可能なのか?
うちのオカンは文字サイズをめいいっぱい大きく設定してるから全てのサイトで表示が崩れてるぞ



1001 名前:Name_Not_Found mailto:sage [2018/08/01(水) 21:11:19.53 ID:???.net]
ワロタ

1002 名前:Name_Not_Found mailto:sage [2018/08/01(水) 21:21:19.39 ID:???.net]
>>986
違うよ。顧客とユーザーのためだよ。
自分一人ならどうでもいいって思うでしょ?

1003 名前:Name_Not_Found mailto:sage [2018/08/01(水) 21:31:58.19 ID:???.net]
同じ表示がどうしてユーザーのためになり得るのかが分からん
機能はCh、今日はIE、明日はFxを使うユーザーが戸惑うということか?
それよりもIEは相対的に古い環境で動いてる可能性も高いんだから
機能と表現と負荷を落としたページを提供するほうがよっぽどユーザーのためだと思うけどな

「顧客のため」に至ってはその表現がわけわからん
顧客がそう言わなくともそれを望んでいると知ってるということか?
もうそういうことだったとしても、実はこうした方が良いと思いますよと
顧客を正しい方向性に誘導してあげるほうがよほど顧客のためだろうよ

1004 名前:Name_Not_Found mailto:sage [2018/08/01(水) 21:33:48.77 ID:???.net]
じゃあ間をとってActiveXでネイティブのポリフィルを入れることにしよう
IEじゃJSは遅くて重たいんだから

1005 名前:Name_Not_Found mailto:sage [2018/08/01(水) 21:44:42.90 ID:???.net]
>>992

> 基本的に別のページを用意してあげることこそがIE対応と言えると思う。

別ページを用意したら1ページですむのが
2ページなるだろ。手間が2倍になる

1006 名前:Name_Not_Found mailto:sage [2018/08/01(水) 21:46:47.57 ID:???.net]
一番いいのはEdgeでもIEでも両方で動く技術だけを使ってサイトを作る。
そうすりゃ多少IEで崩れたとしても、基本的なところは問題ない。
これが顧客のための最善の方法だろ

1007 名前:Name_Not_Found mailto:sage [2018/08/01(水) 21:50:54.06 ID:???.net]
下手にasyncとか使わず、jQueryの範囲でやるのが一番かな
jQueryはPromise互換の機能も持ってるわけだしさ

1008 名前:Name_Not_Found mailto:sage [2018/08/01(水) 21:54:19.99 ID:???.net]
IE9とChromeやFirefoxじゃDOM構築やJSの速度が普通に数十倍とか違うからな
GPUも使ってくれんし相対的にスペックも低いことを考えたら
想定段階で同じに作ろうとすることが無理なコンテンツって言うのは出てくるだろうよ

1009 名前:Name_Not_Found mailto:sage [2018/08/01(水) 21:57:48.08 ID:???.net]
サーバーサイドでChromeでレンダリングしてIEにはそれを送ればいいじゃん

1010 名前:Name_Not_Found mailto:sage [2018/08/01(水) 22:01:36.59 ID:???.net]
平気で嘘をつくやつのことなんか信用できんな

GPUで変わるInternet Explorer 9のパフォーマンス
ascii.jp/elem/000/000/561/561415/index-2.html

GPUの種類により
パフォーマンスが2倍以上異なる場合も



1011 名前:Name_Not_Found mailto:sage [2018/08/01(水) 22:02:02.86 ID:???.net]
IEももう一年とちょっとの命
JSスレでも今回が実質最後の盛り上がりかもしれんな

1012 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 58日 5時間 39分 5秒

1013 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<270KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef