JavaScript는 웹브라우저에서 작동하는 스크립트이다.
JQuery 역시 자바스크립트이지만 빈번하게 사용되는 기능들을 조금 더 함축적인 코드를 통해 사용하게 만든 라이브러리, 즉 기능 덩어리이다.
자바스크립트는 아래와 같이 크게 4가지 요소로 구성되어있다.
1. 자바스크립트 core 문법
2. 자바스크립트 core 라이브러리
3. 자바스크립트 BOM (Browser Object Model)
4. 자바스크립트 DOM (Document Object Model)
제이쿼리는 이중 자바스크립트 DOM 작업을 쉽게 처리 할 수 있도록 도와주는 라이브러리이다.
이때,제이쿼리는 DOM 작업을 쉽게 도와주는 라이브러리일 뿐,자바스크립트 문법이나 라이브러리를 대체하는 프로그래밍 언어가 아님을 인지해야한다.
<script>
// javascript
//ul 찾기
var ul = document.getElementById("ul");
//li 리스트 구하기
var liList = menu.getElementsByTagName("li");
//li 개수만큼 루프 돌며 스타일 변경
for(var i=0;i<liList.length;i++){
//i번째 li 접근
var li = liList[i];
//스타일 변경
li.style.color="#f00";
}
// jquery
$("#ul li").css("color", "#f00");
</script>
제이쿼리의 사용법들을 알고 있다면 개발 속도가 빨라진다.
위의 예시는 간단한 예제이기 때문에 별 차이를 못 느낄 수 있지만 실제 제이쿼리의 한줄에 해당하는 기능은 자바스크립트로는 수십~수백줄을 작성해야한다.
하지만 제이쿼리가 항상 자바스크립트보다 우월한 것은 아니다.
제이쿼리는 어디까지나 자바스크립트를 토대로 만든 것이기 때문에 개발 속도가 아닌 처리 속도 부분에서 성능이 떨어지게된다.
제이쿼리 라이브러리를 거치면서 브라우저에 맞는 네이티브 자바스크립트로 변환된 뒤 실행되기 때문이다.
콘텐츠를 효율적으로 전달하기 위해 분산된 서버에 데이터를 저장해 사용자에게 전달하는 시스템.
CDN 선언 시 특정 서버에 트래픽이 집중되지 않고, 컨텐츠를 자동으로 가장 가까운 서버에서 다운로드 하도록하여 직접 파일을 다운로드 받지 않고도 사용할 수 있다.
아래의 코드를 cdn으로 선언해 주면 제이쿼리를 항상 최신버전으로 사용할 수 있다.
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
이때 .js와 min.js의 차이로는 전자는 사용자가 모든 소스를 볼 수있는 풀버전 이라 생각하면 되고,
후자는 불필요한 부분을 삭제하여 용량을 줄인것이라 생각하면 된다.
jQuery는 JS를 '대체'하는 것은 아니며, DOM을 감출 뿐이다.
jQuery의 성공은 DOM API가 실패했다는 증거이다.
jQuery가 현재 사용되지 않는 주요한 이유는 다음과 같다.