うしろのこの本ください

なんでもかきます

GitHubがjQuery辞めたので

やめたらしい

Removing jQuery from GitHub.com frontend | Hacker News

hacker news に流れてきたこれのコメント欄で案の定 jQuery 不要派とまだいける派の議論が交わされていて、これが面白かった

殆どが日本でも頻繁に観られる document.querySelector() への置き換えや fetch の IE 非対応の話だったが、特に面白かったのはこの部分

Most DOM manipulation in jQuery goes through jQuery.globalEval, which uses eval(). Meaning if you want to have a CSP, you have to allow unsafe-eval if you need to support jQuery. CSP is an incredibly useful tool, and it’s close to impossible to use it properly with jQuery.

jQuery が DOM 操作の際に eval() を多用しているため CSP を safe モードで使えないらしい

これは jQuery の核になる部分の仕様らしく、 .html() はどんな時でも任意のコードを実行する可能性があると

developer.mozilla.org

CSP

developers.google.com

やっぱり jQuery といえば Sizzle でのセレクタ解析が遅いとか(querySelectorが使える場合優先されるらしい)ネイティブへの置き換えとかに目が行きがちだけどもこういう深い話でのデメリットもあるんだなと

何にせよ IE が完全に死ぬ2025年までは確実に生き残るので、やめろだの使えだの騒いでも体力消耗するだけな気もするが

ちなみに僕はネイティブ使っていこう派です、長いとは言うけどエディタの補完効くし全然気にならないからね

逆に殆ど同じ形してる jQuery の構文より長いけどぱっと見構文の差で違いが分かりやすいネイティブの方が読みやすいと感じる

人に寄るかもしれん、Array.prototype は長くて冗長なのでアレ

おわり