jQuery는 2006년에 등장한 JavaScript 기반의 DOM 조작 라이브러리입니다.
“Write less, do more” (더 적게 쓰고, 더 많이 하자)를 목표로 만들어졌습니다.
즉,
✅ JavaScript로 하던 복잡한 작업을 간단하고 짧은 코드로 처리할 수 있게 도와주는 도구예요.
document.getElementById()
, addEventListener()
등 코드가 길고 지저분했음👉 그래서 jQuery가 이런 문제를 한 줄 코드로 간단하게 처리할 수 있도록 도와줬습니다.
기능 | 설명 | 예시 |
---|---|---|
DOM 선택 | CSS 셀렉터처럼 요소 선택 | $('div') , $('#id') , $('.class') |
DOM 조작 | 텍스트, HTML, 클래스 변경 등 | $('#title').text('Hello') |
이벤트 처리 | 클릭, 입력 등 | $('button').on('click', fn) |
애니메이션 | 페이드인/아웃 등 | $('#box').fadeIn() |
Ajax | 비동기 서버 요청 | $.ajax({...}) |
체이닝 | 여러 작업 연결 가능 | $('#box').addClass('red').fadeOut() |
<button id="btn">눌러보세요</button>
<div id="msg" style="display:none;">안녕하세요!</div>
<script>
$('#btn').on('click', function () {
$('#msg').fadeIn().text('반가워요!');
});
</script>
→ 버튼을 누르면 #msg
가 나타나면서 텍스트 변경
장점 | 설명 |
---|---|
✅ 문법이 간단하고 직관적 | JavaScript보다 적은 코드로 많은 기능 구현 |
✅ 브라우저 호환성 우수 | 옛날 IE 포함 다양한 브라우저에서 동일하게 작동 |
✅ Ajax, 애니메이션 통합 지원 | 별도 라이브러리 없이 가능 |
✅ 플러그인 생태계 | 수많은 jQuery 기반 플러그인 존재 (달력, 슬라이더 등) |
✅ 과거에는 “표준처럼” 사용됨 | 많은 기업/기관 사이트에 적용됨 |
한계 | 설명 |
---|---|
❌ 최신 JavaScript가 발전함 | querySelector , fetch , classList 등으로 대체 가능 |
❌ 퍼포먼스 한계 | 가볍지만 React/Vue처럼 구조화된 방식엔 부족 |
❌ 규모 확장 어려움 | 대규모 앱에서 코드 분리, 컴포넌트화가 어려움 |
❌ SPA 개발 부적합 | 상태 관리, 라우팅 등 기능이 없음 |
비교 항목 | jQuery | React/Vue |
---|---|---|
구조화 | ✖ 전역 함수 위주 | ✔ 컴포넌트 구조 |
상태 관리 | ✖ 직접 구현 필요 | ✔ useState, Vue의 reactive 등 |
재사용성 | ✖ 낮음 | ✔ 높음 (컴포넌트 기반) |
가독성 | ✔ 간단한 작업에는 최고 | ✔ 규모가 크면 컴포넌트 방식이 유리 |
항목 | 설명 |
---|---|
정의 | DOM 조작을 쉽게 해주는 JavaScript 라이브러리 |
장점 | 쉬운 문법, 브라우저 호환성, Ajax/이벤트/애니메이션 처리 |
단점 | SPA 구조에 부적합, 최신 JS로 대체 가능 |
현재 용도 | 간단한 UI 조작, 레거시 시스템 유지보수에 사용됨 |
현대 대체 기술 | React, Vue, Angular, Vanilla JS (ES6+) |
윈도우 운영체제의 노트북에서는 iPhone 유선 테더링이 잘 안되는 경우가 많습니다. 보통 iPhone의 드라이버가 설치가 안되있어서인…
안녕하세요, 혹시 이런 생각해 본 적 없으신가요? "내가 투자한 회사는 누가 감시하고, 어떻게 운영될까?" 오늘은…
1. Gemini CLI란 무엇인가요? Gemini CLI는 터미널 환경에서 직접 Gemini 모델과 상호작용할 수 있도록 만들어진…
과적합은 머신러닝에서 학습용데이터를 과하게 학습하여, 실제데이터를 예측하지 못하는 현상을 말합니다. 인공지능(AI)의 학습 방법은 우리가 시험공부를…