크로스 브라우징 이슈 - 브라우저에 따라 웹 페이지가 정상 동작하지 않는 현상
Ajax의 등장 - 웹 페이지의 변경이 필요 없는 부분은 다시 렌더링하지 않고, 서버로부터 필요한 데이터만을 전송 받아 변경이 필요한 부분만을 한정적으로 렌더링하는 방식이 가능해짐
jQuery의 등장 - 다소 번거롭고 논란이 있던 DOM을 보다 쉽게 제어할 수 있게 되었고 크로스 브라우징 이슈도 어느 정도 해결
인터프리터 언어 - 소스코드를 한 줄 한 줄 읽어가며 명령을 바로 처리하는 프로그램(언어)
번역과 실행이 동시에 이루어짐
번역 빠름, 실행 느림
컴파일 언어 - 소스코드를 한꺼번에 기계어로 번역한 후, 한 번에 실행하는 프로그램(언어)
번역 느림, 실행 빠름
절차지향 - 물이 위에서 아래로 흐르는 것처럼 순차적인 처리가 중요시 되며 프로그램 전체가 유기적으로 연결되도록 만드는 프로그래밍 기법
실행속도가 빠름, 유지보수/디버깅 어려움
객체지향 - 기능별로 모듈화한 객체라는 최소 단위로 나누고 객체의 상호작용을 통해 정해진 알고리즘대로 프로그램을 서술하는 방법
특징: 캡슐화(클래스(Class)는 객체의 모양을 선언한 틀이며, 클래스 모양 그대로 생성된 실체(Instance)가 객체), 상속(하위 개체가 상위 개체의 속성을 모두 가지는 관계-확장(Extends)), 다형성(같은 이름의 메소드가 클래스 혹은 객체에 따라 다르게 구현되는 것-ex)강아지는 '멍멍', 고양이는 '야옹')
JS 파일 터미널에서 실행 - node 파일명