jQueryの代替ライブラリとして「min.js」がオススメなので紹介する

jQuery不要論が出て久しいですが、趣味でWEBサイトを作っていると、Vue.jsを使うまでもないけど素のJavaScriptで書きたくない、かといってjQueryを使いたくない、という場合があります。

ボク自身もこのような状況にモヤモヤしていましたが、色々漁っているとmin.jsというライブラリを見つけたので紹介していきます。

min.jsとは?

参考:remy/min.js: Super minimal selector and event library

min.jsとは、jQueryの超軽量版とも言えるライブラリで、jQueryの$()onメソッド,、forEachメソッドを使えるライブラリです。

$('p:first-child a').on('click', function (event) {
event.preventDefault();
// do something else
});

先ほどjQueryの$()と書きましたが、min.jsの$()は単なるquerySelecterAll()メソッドのaliasなので、jQueryの$()と比較して高速に動きます。

参考:min.js/$.js at master · remy/min.js

実際に、以下のようにDOMを10,000回呼び出す処理を計測した所、速さに3倍ほどの違いがありました。

const startTime = performance.now(); // 開始時間
for(let i = 0; i < 10000; i++) {
let dom = $('.foo');
}
const endTime = performance.now(); // 終了時間
console.log(endTime - startTime);
jQuery  26.550000000042928
min.js    6.080000000110886

jQueryとmin.jsの使い分け

もし、あなたが「jQueryを使うのは論外だけど、生のJavaScriptでgetElementByIdというコードも書きたくない」というのであれば、min.jsは使い勝手の良いライブラリになります。min.js自体が100行に満たないライブラリですし、本当に最低限の機能だけを提供しているのも良い点です。

逆に、「既存のjQueryライブラリを使いたい」のであれば、jQueryが良いです。先ほども言ったように、jQueryとmin.jsの$()は内部処理的には別物なので、jQueryライブラリを使う場合はmin.jsは選択肢から外れます。

しかし、依存性がないJavaScritpライブラリも増えていますし、今まではjQueryでないと使えなかったメソッド(append,prepend,afterとか)もJavaScriptでサポートされ始めているので、これからどんどんjQueryの役割はなくなって行くでしょう。

ReratedPosts

JavaScriptにおいてif文を一行で記述する方法
JavaScriptでHTMLを表示・非表示の選択をしたい時の良い感じの書き方
Jqueryのクリックとかミスしたこととかのメモ
JavaScriptでファイルダウンロードを実現するための5ステップ
JavaScriptで配列の要素やハッシュ(連想配列)のバリューを変数に変換する方法
オセロをMinMax法を導入する方法(JavaScript編)