3.0 ๋ฒ์ ์ถ์ ํ ๊ฑฐ์ 10๋ , ๊ทธ๋ฆฌ๊ณ ํ๋ก์ ํธ ์ฐฝ๋ฆฝ ํ 20๋ ๋ง์ jQuery 4.0 ์๋ฐ์คํฌ๋ฆฝํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ถ์๋์์ต๋๋ค. W3Techs์ ๋ฐ๋ฅด๋ฉด, ์น์์ ๊ฐ์ฅ ๋ง์ด ๋ฐฉ๋ฌธํ๋ ์์ 10์ฒ๋ง ๊ฐ ์น์ฌ์ดํธ ์ค 70.9%๊ฐ jQuery๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. jQuery ์ฝ๋๋ MIT ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
jQuery 4.0 ๋ฆด๋ฆฌ์ค์๋ ํ์ ํธํ์ฑ์ ๊นจ๋จ๋ฆฌ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ํฌํจ๋์ด ์์ง๋ง, ๊ฐ๋ฐ์๋ ๋๋ถ๋ถ์ ์ฌ์ฉ์๊ฐ ์ฝ๋ ๋ณ๊ฒฝ์ ์ต์ํํ๋ฉด์ ์ ๋ฒ์ ์ผ๋ก ์ํํ๊ฒ ๋ง์ด๊ทธ๋ ์ด์ ํ ์ ์๋ค๊ณ ๋ณด์ฅํฉ๋๋ค. ๋ง์ด๊ทธ๋ ์ด์ ์ ๊ฐ์ํํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ์ ์ฉ ํ๋ฌ๊ทธ์ธ์ด ์ ๊ณต๋ฉ๋๋ค. ํ์ ํธํ์ฑ์ด ๊นจ์ง๋ ๋ณ๊ฒฝ ์ฌํญ์๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ ์ฝ๋ ์ ๊ฑฐ, ์ผ๋ถ ๋ด๋ถ ๋ฌธ์ํ๋์ง ์์ ๋งค๊ฐ๋ณ์ ์ ๊ฑฐ, ์ง๋์น๊ฒ ๋ณต์กํ ๋์์ ์ฌ์ฉ ์ค๋จ, ๊ทธ๋ฆฌ๊ณ ์ด์ ์ ์ฌ์ฉ์ด ์ค๋จ๋ API์ ์ฌ์ฉ ์ค๋จ์ด ํฌํจ๋ฉ๋๋ค. ์ฌ์ฉ์ด ์ค๋จ๋ API์ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ ๊ฑฐํจ์ผ๋ก์จ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํฌํจํ๋ gzip ์์นด์ด๋ธ ํฌ๊ธฐ๊ฐ 3KB ์ค์ด๋ค์์ต๋๋ค(์ฌ๋ฆผ ๋ฒ์ ์ 19.5KB, ์ ์ฒด ๋ฒ์ ์ 27.5KB).
๋ณ๊ฒฝ ์ฌํญ:
- IE 10 ๋ฐ ์ด์ ๋ฒ์ ๋ธ๋ผ์ฐ์ ์ ๋ํ ์ง์์ด ์ค๋จ๋์์ต๋๋ค(IE 11 ์ง์์ ์ ์ง๋์ง๋ง Query 5.0์์ ์ ๊ฑฐ๋ ์์ ์ ๋๋ค). Edge Legacy์ ๊ฐ์ ๋ค๋ฅธ ๊ตฌํ ๋ธ๋ผ์ฐ์ ์ ๋ํ ์ง์๋ ์ค๋จ๋์์ต๋๋ค. Android ๋ธ๋ผ์ฐ์ ๋ฐ Firefox๋ 115๋ฒ ๋ธ๋์น๊น์ง ์ง์ํฉ๋๋ค.
- TrustedTypes API ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ด API๋ eval() ๋ธ๋ก์์ ์ฌ์ฉ์ ์ ๊ณต ๋ฐ์ดํฐ๋ฅผ ์๋ชป ์ฒ๋ฆฌํ๊ฑฐ๋ ".innerHTML"์ ์ฝ์ ํ๋ ๋ฑ ํน์ ํ์ด์ง ์ปจํ ์คํธ์์ JavaScript ์ฝ๋๊ฐ ์คํ๋ ์ ์๋ DOM ์กฐ์์ผ๋ก ์ธํ ํฌ๋ก์ค ์ฌ์ดํธ ์คํฌ๋ฆฝํ (DOM XSS) ๊ณต๊ฒฉ์ ๋ฐฉ์งํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ์ด์ jQuery ๋ฉ์๋๋ TrustedHTML ๊ฐ์ฒด ํํ์ HTML ์ฝ๋๋ฅผ ์ธ์๋ก ๋ฐ์ ์ ์์ต๋๋ค.
- jQuery ์ฝ๋๋ ESM(ECMAScript Module) JavaScript ๋ชจ๋์ ์ฌ์ฉํ๋๋ก ๋ณํ๋์์ผ๋ฉฐ ๋ชจ๋๋ก ๋ฐฐํฌ ๋ฐ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
- ๋ค์ ํจ์๋ค์ ์ ๊ฑฐ๋์์ผ๋ฉฐ ์ด์ ์ ์ฌ์ฉ์ด ๊ถ์ฅ๋์ง ์๋ ํจ์๋ก ํ์๋์์ต๋๋ค. jQuery.isArray, jQuery.parseJSON, jQuery.trim, jQuery.type, jQuery.now, jQuery.isNumeric, jQuery.isFunction, jQuery.isWindow, jQuery.camelCase, jQuery.nodeName, jQuery.cssNumber, jQuery.cssProps ๋ฐ jQuery.fx.interval. ์ด๋ฌํ ํจ์ ๋์ ํ์ค JavaScript ํจ์์ธ Array.isArray(), JSON.parse(), String.prototype.trim() ๋ฐ Date.now()๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
- Array ๊ฐ์ฒด์ ๋ฌธ์ํ๋์ง ์์ ๋ด๋ถ ๋ฉ์๋(push, sort, splice)๋ฅผ ์ ๊ฑฐํ์ต๋๋ค.
- ์ด์ ๋ณ๊ฒฝ ์ด๋ฒคํธ ์ฒ๋ฆฌ ์์๊ฐ W3C ๊ท๊ฒฉ์ ๋ง์ถฐ ๋ธ๋ฌ, ํฌ์ปค์ค์์, ํฌ์ปค์ค, ํฌ์ปค์ค์ธ ์์๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.
- ajax ๋ฐ effects ๋ชจ๋์ด ํฌํจ๋์ง ์์ ์ฌ๋ฆผ ๋ฒ์ ์ ํฌ๊ธฐ๋ Deferred ๊ฐ์ฒด(ํ์ค Promise ์ฌ์ฉ์ ๊ถ์ฅ) ๋ฐ ์ฝ๋ฐฑ ์ ๋ฌ์ ์ค๋จํจ์ผ๋ก์จ 19.5KB๋ก ์ค์์ต๋๋ค.
์ถ์ฒ : opennet.ru
