
아쉽게도 공식 홈페이지를 찾지 못했다. 여러 설명 글들을 참고하여 적어보고자 한다.

웹 페이지를 동적(dynamic)으로 만들어주는 프로그램이 언어
정의부터 '동적'인 것이 포인트라는 것을 알 수 있다.
동적인 것은 무엇이고 정적(static)인 것과 어떻게 다를까
이는 우리가 이전에 학습했던 HTML과 CSS와의 비교로 쉽게 알 수 있다.
HTML + CSS :
사용자의 행동에 반응하지 않음, 화면이 자동으로 변하지 않음, 데이터가 변하지 않음, 단순 정보 제공 목적 → 정적 웹페이지 | 구조와 디자인은 있지만 "행동"은 없다
HTML + CSS + JavaScript : 사용자와 상호작용 가능, 화면이 반응함, 페이지가 살아있는 것처럼 동작 → 동적 웹페이지
JavaScript의 정의는 알아보았다. 이제 특징을 알아보자.
인터프리터 언어란, 컴파일러 작성 없이 바로 실행되는 것을 말한다.
C나 JAVA는
코드 작성 → 컴파일 → 실행의 과정을 거치는 반면
JavaScript는코드 작성 → 바로 실행으로 가능하다
즉, 결과를 바로 확인할 수 있다. 웹 브라우저 콘솔에서 바로 테스트 할 수 있다는 큰 장점을 가지고 있다.
📍 웹 브라우저 콘솔에서 바로 테스트 하는 방법
개발자 도구 열기
Windows/Linux: F12 또는 Ctrl + Shift + I
Mac: Cmd + Option + I
Console 탭 클릭
→ 바로 JavaScript 코드 실행 가능!
JavaScript는 변수의 타입을 미리 선언하지 않는다.
let data = 10; // number
data = "Hello"; // string
data = true; // boolean
하나의 변수에 서로 다른 타입의 값이 들어갈 수 있다.
이것은 유연하지만, 동시에 실수를 만들기 쉬운 특징이기도 하다.
JavaScript는 객체를 중심으로 동작한다.
let person = {
name: "Alice",
age: 25,
greet: function() {
console.log("Hello");
}
};
데이터와 기능을 하나의 객체 안에 묶을 수 있다.
현대 JavaScript는 클래스 문법도 지원한다.
JavaScript에서는 함수도 값처럼 다룰 수 있다.
- 변수에 저장 가능
- 다른 함수의 인자로 전달 가능
- 함수의 반환값으로 사용 가능
function greet() {
return "Hello";
}
let say = greet;
console.log(say());
이 특징 덕분에 콜백, 클로저, 고차 함수 같은 개념이 등장한다.
JavaScript는 “이벤트”에 반응한다.
- 클릭
- 입력
- 스크롤
- 로드 완료
button.addEventListener("click", function() {
console.log("clicked");
});
이벤트 기반 구조가 바로 “dynamic”의 핵심이다.
처음 JavaScript는 웹 브라우저에서 실행되는 언어였다.
브라우저는 단순히 HTML을 보여주는 프로그램이 아니라,
JavaScript 코드를 해석하고 실행하는 엔진(JavaScript Engine)을 가지고 있다.
예:
Chrome → V8 엔진
Firefox → SpiderMonkey
Safari → JavaScriptCore
즉,
브라우저가 JavaScript를 실행해준다.
이러한 브라우저 환경에서 실행되는 JavaScript는 다음과 같은 것들을 제어할 수 있다.
이 부분이 바로 “dynamic web page”를 만드는 핵심이다.
Node.js가 등장하면서 JavaScript는 서버에서도 실행할 수 있게 되었다.
| 환경 | 역할 |
|---|---|
| Browser | 사용자 인터페이스 제어 |
| Node.js | 서버 프로그램 실행 |
그렇다면 왜 이 JavaScript를 배우고 사용해야할까?
JavaScript는 현재 웹 생태계에서 가장 영향력 있는 언어 중 하나다.
GitHub 통계 (2024):
1위: JavaScript
2위: Python
3위: Java
Stack Overflow 개발자 설문:
- 가장 많이 사용되는 언어 1위
- 8년 연속 1위 유지
또한, 하나의 언어로 모든 것을 할 수 있다. 크로스 플랫폼인 것이다.
"Write once, run anywhere"
이렇기에 아주 많은 사용자들이 존재하고 그에 따라 커뮤니티도 매우 활발하다.
커뮤니티의 활발함은 무엇인가에 막혔을 때 그 해결책을 찾기에 아주 용이하다.
이렇게 JavaScript의 기본 개념에 대해 살펴보았다.
다음 장에서부터 기본 문법에 대하여 알아보겠다. Peace🤘