jQuery 4.0.0 BETAがリリースされた
2024年2月6日にjQuery 4.0.0 BETAがリリースされました。
2024年3月にはベータ版でないjQuery v4がリリースされて、jQueryのダウンロードページに貼られるため、利用者の増加が見込まれます。
jQuery v3からv4に変えて使用するとエラーになる
jQuery v4はv3と互換性がないので、コードによってはエラーになって動作しない可能性があります。
例えばjQuery 4.0.0からは以下のメソッドが削除されているため使えません。
- jQuery.cssProps
- jQuery.isArray
- jQuery.parseJSON
- jQuery.nodeName
- jQuery.isFunction
- jQuery.isWindow
- jQuery.camelCase
- jQuery.type
- jQuery.now
- jQuery.isNumeric
- jQuery.trim
- jQuery.fx.interval
そのため、jQuery.now ($.now())を使用したコードの場合、jQuery v3は動作しますが、v4だとエラーになります。
// <p id="result"></p>
$('#result').text($.now())
※ v4だとConsoleに「Uncaught TypeError: $.now is not a function」のエラーが表示されます。
v4だと使用できないメソッドが含まれているかどうかは、以下の正規表現で検索すれば検出できます。
(jQuery|\$)\.(cssNumber|cssProps|isArray|parseJSON|nodeName|isFunction|isWindow|camelCase|type|now|isNumeric|trim|fx\.interval)
push, sort, and splice も削除されている
jQueryで指定した要素にArrayが存在していて、そこにpushできる仕様が存在します。
// <p id="result"></p>
const $result = $('#result')
$result.push('foo')
$result.text($result[1])
// <p id="result">foo</p>
jQuery 4.0.0からはこちらも使用不可になります。
これを使用しているケースはかなり少ないですが、v4でエラーになると「Uncaught TypeError: $result.push is not a function」などのエラーが発生するため、覚えておくと良いでしょう。