元スレ+ JavaScript の質問用スレッド vol.133 +
JavaScript覧 / PC版 /みんなの評価 :
451 = :
=== ES5だったら他の分岐試すの無駄だろ
453 = :
>>1-451
突っ込まれて反論できなくなったら他人の振りします
454 = :
>>451-452
あ、、、!なるほど、ありがとうございます
455 = :
>>436
> .forEach(v => {console.log(v);})などは想定されていないと。
.forEach(v => console.log(v))
こう書いたほうがスッキリするで?
456 = :
>>448
> 主に一行で書く関数の理想の姿として作られたかというとそうではないわな
ちょっと違うな。結果として一行にはなるが、
「関数値」のようなものだな。
関数は定義してから、呼び出す。
でもアロー関数の場合は、関数の値化して渡すって感じ
457 = :
>>455
それだとわざわざundefined返してから利用せずに潰してるが何か意図があるのか?
スッキリするとかしないとか感覚で決めるなよ
458 = :
>>456
っていう妄想ですか?
それなら妄想ですが、って頭に書いてくれません?
妄想じゃないならソースプリーズ
459 = :
ふと思ったんですがSPAだとIDのバッティングが容易に起きますよね
たとえばモーダルウインドウにフォーム要素を表示する場合、
そのフォーム要素一つ一つにIDをふると、同じIDが複数の要素に対してふられるような状況が容易に発生します
SPAではIDをふらずに属性セレクタを使って指定するようにしたりして
極力IDをふらないようにした方がいいのでしょうか?
460 = :
容易に起きません
461 = :
>>460
SPA作ったことありますか?
たとえばtitleというような一般的な名前は複数の文脈で使われるのでぶつかりやすいですし
エリアにふるIDと要素にふるIDもぶつかりやすいです
IDは言ってみればグローバル変数みたいなものなのですよ
463 = :
つーかサンプルを示してくれたほうが伝わりやすいと思う
464 = :
> 極力IDをふらないようにした方がいいのでしょうか?
はい
465 = :
設計や実装がアホだと容易にバッティングするかもしれないな
そのようなアホを営業にでも配置転換すればよい
466 = :
>>459
formX-title みたいに要素の所属を表す名前でも接頭すればいい
特定の要素を参照する用途に属性セレクタは大げさかもしれない
467 = :
>>450
最適化というものがあるので速度は変わらないと考えるべき
468 = :
>>467
これ最適化されんの?
469 = :
>>461
IDは極力使わない。
俺がIDを使う時は、”サイト全体で" 一意になる時
ページのIDとしてしか使わない
IDはページ内で一意であればいいんだが、ある時
ページを縮小したプレビューを複数、1つのページに表示する
ということをやった時にぶつかってしまったから
基本的にいらねぇよなぁを突き詰めていったら
ページのIDだけで十分となった
470 = :
アロー関数についてWebArchiveも使って関連資料や立案者のBEのコメントなどをできる限り探ってみたんだが
結局JSに取り入れられる際に新しく思案されたのはthisの取り扱いくらいで
アロー関数自体は新しいものではなく関数を短く書きたいというモチベーションが確かにあって
他にも案があった中、BEがCSやC#から輸入したものであるので、その言語でどうして実装されたかを調べよう
CSはアローをどこから輸入したのかハッキリとはわからなかったが、
GitHubの最初の方のコメントをざっと読んでいくとアロー関数関連の話中に
開発陣が度々Haskellのことを引き合い出してるのでそこからだろう
ソースは不明だがWikipediaの影響を受けた言語の中にも確かにある
C#の方の調査は手を抜くが公式では「ラムダ式」と呼ばれている
Haskellのものも含めてこれらは究極的にはラムダ計算に由来している
そこまで調べたところでどうでも良くなった
471 = :
CoffeeScriptでは
thisをバインドしないアロー関数(->)と
thisをバインドするファットアロー関数(=>)の
二種類があるんだよな。
JavaScriptで採用されたのは前者のみ(書き方は=>なんだがw)
単に短く書きたいのであれば、DOMイベントハンドラなんか
後者が有ったほうが便利と思うはずんだが採用されなかった
これもさ、アロー関数が、それは関数じゃなくて値っぽく考えるべし
と考えれば、thisが変わらないのも納得できるんだよな
アロー関数は短く書きたいと同時に、thisを気にしなくて良いものとして
必要だったんだと思うよ
472 = :
猿と人間の中間がいないのもさ、神様みたいな行為存在が俺たち人間を作ったと考えれば納得できるんだよなwww
473 = :
> これもさ、アロー関数が、それは関数じゃなくて値っぽく考えるべし
> と考えれば、thisが変わらないのも納得できるんだよな
___ ━┓
/ ―\ ┏┛
/ノ (●)\ ・
. | (●) ⌒)\
. | (__ノ ̄ |
\ /
\ _ノ
/´ `\
| |
| |
474 = :
bindする方採用しなかったのはfunctionが既にあるからだろうが。
短くしたいのが理由ならfunctionと被ろうがbindする方のアローも入れてたはずだろう。
方々から集めた情報すべてに自分の妄想をサポートさせようとして矛盾しまくってるな。
おまえの妄想がセンスないからそうなっちゃうんだと思うよ。
475 = :
だからそう言ってるじゃん。
単に短くしたいだけじゃなくて、
値のように使いたかったのは、thisバインドなしの方だって
476 = :
jQueryニキ、分かってないくんに続くマジモンだぞ。カッコいい名前募集!
477 = :
その子がさ、踏み切りでこっち見て笑ったんだよ。
それもさ、俺のこと好きだと考えたら納得いくんだよな!
天なおチャック開いてた模様
478 = :
うわっ、そんなこと考えてきたんだw
479 = :
話は聞かせてもらった。
人類が滅亡すると考えると納得がいく。
480 = :
妄想納得くん
481 = :
てか根拠が俺はこう思うだけでしょ。
お前が思うんならそうかもなくらいしかかけてやれる言葉ないわ。同意求められても困る。
値っぽく考えるの意味もフワッっとし過ぎててよくわからんw
jsの関数はアロー関数以前から第一級オブジェクトとして自由にとりまわせたが。
482 = :
アプリはやらずWebサイトのみを製作しているんですけど、レスポンシブサイトを作るのにReactって向いていますか?
483 = :
>>482
レスポンシブサイトを作るという理由でReactを選ぶ人はあまり聞いたことがないかも
(どちらかというとSPAを作りたいと理由が多いかなーと個人的には思う)
メディアクエリーを勉強した方が近道な気がするよ
484 = :
やっぱりそうなんですね
オブジェクト指向に則って制作するときに相性がよいと聞いたのですが、サイトや書籍を見ると対象がアプリ開発のものばかりだったので…
メディアクエリっていうのは、ブラウザの幅を取得して処理を出し分けるといったことを指しているのでしょうか
485 = :
アドバイスありがとうございました
IDにはプリフィックスを付けて
まず衝突しないようにすることにします
486 = :
BEのコメントを読んでるとbindしない方を採用しなかったのは
似たのを2ついれても煩雑になるから
つまりバランスの問題が大きかったんだと思うよ
2014~15年くらいのESDiscasでも何回か挙がってたと記憶してるが
そういう結論になってたと思う
487 = :
いいえ、関数を値のように見せて使うためです。
当たり前すぎて議論すらされていないので残っていないのです。
488 = :
1回目.toDataURLでcanvasから画像データ取り出すことに成功しましたが
2回目以降
Uncaught DOMException: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.
でエラーでてしまうのですがどうにかなりませんか
function hoge(){ /* .toDataURLを取得するまでの処理 */ }
hoge(); // 1回目のhoge()内ならループなどで何度.toDataURLしても取得できる
hoge(); // なぜか2回目からは最初の.toDataURLでエラーでる
みたいな感じです
(クロスドメインの画像です)
あと疑問なのは、クロスドメインが問題ならなぜ最初は取得できたのか・・?というところです
489 = :
補足というか訂正です
>>488では.toDataURLの処理をするスクリプトを置いたサーバーとは全く関係のない
別サーバーの画像を取得できたのですが
試しに(>>488とはまた別の)別のクロスドメインサイトの画像を指定したらCROSエラーが出てきました
できるのとできないクロスドメインサイトあって混乱してきたので
>>488の質問は一時保留しときます
490 = :
追記 >>488
2回目実行でエラーが出てくる問題は
img.src='画像url';
img.crossOrigin = "Anonymous";
としていたのを逆にしたら問題なくなりました
491 = :
canvasから画像データ取り出すと、
たいてい、安全ではないとか言われる
492 = :
別ドメインの画像を貼り付けたりすると
以後そのCanvasは汚染されてるものとみなされてデータの取得が禁止される
493 = :
その理屈だと別ドメインのJavaScriptを読み込んだら
HTMLは汚染されてるってことになるのか?
494 = :
>>493
その理屈を満たすにはcanvasでjsファイルを読み込む必要があるわけだが、やりかたを是非教えてくれ
495 = :
入力中の文字列の中に、前もって登録していたキーワードがあったら、
自動的にリンクになるような機能を実装しようと思います
どうやれはいいですか?
496 = :
onchangeでvalueに正規表現でmatchかける
498 = :
なにがしたいのかよくわからんな
入力中ってことはtextareaとかなんだろうが、リンクってことは違うよね
あと、リンクにした後で変更する時はどうしたいのか
そのtextarea内にaタグがあっていいのかどうか
>>496
「入力中」だから違うね
onchangeはフォーカスが外れた時に発火する
499 = :
リンクさせないといけないので、textareaじゃないです
google documentみたいな、まぁそこまではいきませんが、
リンクだけはリッチテキストでやるみたいな感じです
500 = :
前提が明らかでなくて構造が入り組んでるなら自分で考えてくれしかないじゃん
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.113 + (1001) - [97%] - 2014/1/25 12:46
- + JavaScript の質問用スレッド vol.135 + (1002) - [97%] - 2018/11/23 10:30
- + JavaScript の質問用スレッド vol.123 + (1002) - [97%] - 2015/4/27 23:30
- + JavaScript の質問用スレッド vol.130 + (974) - [97%] - 2016/10/26 14:18
- + JavaScript の質問用スレッド vol.113 + (1001) - [97%] - 2014/3/15 21:30
- + JavaScript の質問用スレッド vol.131 + (1000) - [97%] - 2017/1/25 8:01
- + JavaScript の質問用スレッド vol.130 + (1001) - [97%] - 2017/11/25 20:45
- + JavaScript の質問用スレッド vol.131 + (1004) - [97%] - 2018/3/7 13:30
- + JavaScript の質問用スレッド vol.132 + (1001) - [97%] - 2018/4/19 11:00
- + JavaScript の質問用スレッド vol.134 + (1001) - [97%] - 2018/8/3 23:15
- + JavaScript の質問用スレッド vol.123 + (966) - [97%] - 2020/10/20 2:30
- + JavaScript の質問用スレッド vol.136 + (1001) - [97%] - 2019/1/8 11:30
- + JavaScript の質問用スレッド vol.139 + (1001) - [97%] - 2019/5/27 15:15
- + JavaScript の質問用スレッド vol.137 + (1003) - [97%] - 2019/3/26 11:46
- + JavaScript の質問用スレッド vol.143 + (753) - [97%] - 2020/4/19 5:00
- + JavaScript の質問用スレッド vol.103 + (1001) - [97%] - 2012/11/9 15:30
- + JavaScript の質問用スレッド vol.138 + (1004) - [97%] - 2019/4/20 23:45
トップメニューへ / →のくす牧場書庫について