웹사이트 검색

jQuery 4.0, 10년 만에 현대화 변경과 함께 출시


jQuery 팀이 4.0 버전을 출시했습니다. 이번 버전에서는 호환성이 깨지는 변경 사항, 최신 브라우저 지원, 오랫동안 계획되어 온 정리 작업이 포함되었습니다.

웹 개발자들이 웹 페이지 작업에 널리 사용하는 자바스크립트 라이브러리인 jQuery가 공식적으로 버전 4.0을 출시했으며, 이는 거의 10년 만에 프로젝트의 첫 번째 주요 업데이트입니다.

주요 변경 사항 중 하나는 Internet Explorer 10 이하 버전에 대한 지원이 제거된 것입니다. IE 11에 대한 지원은 당분간 유지되지만 일부에 한정되며, 이 프로젝트는 jQuery 5.0에서 완전히 지원을 종료할 계획입니다.

또한 Edge Legacy, 매우 오래된 Firefox 버전, 초기 iOS 버전, 그리고 Android 브라우저에 대한 지원이 중단되었습니다. 여전히 이러한 환경에 의존하는 프로젝트는 jQuery 3.x 시리즈를 계속 사용하는 것이 권장됩니다.

보안 측면에서, jQuery 4.0은 Trusted Types를 지원하여 TrustedHTML 객체로 감싼 HTML을 엄격한 콘텐츠 보안 정책 설정 하에서도 안전하게 jQuery 조작 메서드에 전달할 수 있도록 합니다. 또한 대부분의 비동기 스크립트 로딩은 이제 인라인 스크립트 대신 동적으로 생성된 <script> 요소를 사용하며, 제한된 예외만 존재합니다.

내부적으로 jQuery 소스 코드는 AMD 모듈에서 ES 모듈로의 마이그레이션을 완료했습니다. 이제 프로젝트는 패키징에 Rollup을 사용하여 소스를 현대적인 빌드 도구와 워크플로우와 직접 호환되도록 하고, 지원되는 브라우저에서는 <script type="module">를 통해 사용할 수 있습니다.

예상대로, 오랫동안 사용되지 않던 여러 API가 제거되었습니다. 여기에는 jQuery.isArray, jQuery.parseJSON, jQuery.trim, jQuery.now와 같은 유틸리티 메서드와 몇 가지 CSS 관련 내부 기능이 포함됩니다. 모든 경우에 있어서, 브라우저의 기본 API가 직접적인 대체 기능을 제공합니다.

추가적인 내부 정리 작업에는 jQuery 프로토타입에서 push, sort, splice를 제거하는 것이 포함됩니다.

jQuery 4.0은 또한 현재 W3C 사양에 맞게 포커스 관련 이벤트의 순서를 변경합니다. 이에 따라 라이브러리는 더 이상 네이티브 브라우저 동작을 덮어쓰지 않으며, 이벤트 순서는 이제 최신 브라우저에서 사용하는 표준화된 순서를 따르게 됩니다.

마지막으로, 슬림 빌드는 Deferred와 Callback을 제거하여 더욱 작아졌으며, gzipped 기준 약 19.5KB가 되었습니다. 지원되는 브라우저에서는 Native Promise가 대부분의 Deferred 사용을 대체할 수 있습니다. 여전히 IE 11 지원이 필요한 프로젝트는 전체 빌드를 사용하거나 Promise 폴리필을 추가해야 합니다.

자세한 정보와 모든 변경 사항의 목록은 공지를 참조하세요.