1. 자바스크립트의 탄생
자바스크립트는 1995년, 넷스케이프(Netscape)라는 브라우저 회사에서 탄생했는데, 웹 페이지를 좀더 동적으로 만들 수 있는 스크립트를 만드는 것이 목표었다. (넷스케이프는 마이크로소프트의 인터넷 익스플로러(IE)에 밀려 역사 속으로 사라짐)
- HTML과 CSS는 정적인 구조와 스타일만 제공.
- 자바스크립트는 이를 보완해 사용자와 상호작용할 수 있는 웹을 가능하게 한다.
특징
- 브라우저에서만 동작하도록 설계됨.
- 주로 보조적인 기능(예: 버튼 클릭, 폼 검증)에 사용.
초기 사용 예시
// 버튼 클릭 시 경고창 띄우기
function showAlert() {
alert("버튼이 클릭되었습니다!");
}
HTML과 연결:
<button onclick="showAlert()">클릭하세요</button>
2. ECMA 표준화와 발전
ECMA는 컴퓨터 시스템의 표준을 관리하는 비영리 기구로,
1997년부터 자바스크립트의 표준화를 담당하며 이름을 ECMAScript(ES)라 명명했다.
- ECMAScript는 자바스크립트의 기능을 규정하는 표준이다.
- 매년 새로운 버전이 발표되며, 최신 기능이 추가된다.
현대 자바스크립트의 발전
- 2015년 ES6(ECMAScript 2015): 클래스, 화살표 함수, let/const 등이 추가되며 대대적인 업그레이드 됨.
- 이후 매년 업데이트: 모듈, 비동기 처리, 데이터 구조 등 풍부한 기능 추가됨.
예시: 최신 문법 화살표 함수
// ES6 이후의 화살표 함수
const greet = (name) => {
return `안녕하세요, ${name}님!`;
};
console.log(greet("지민")); // "안녕하세요, 지민님!"
3. 자바스크립트 신분 상승
자바스크립트는 단순한 웹 브라우저 스크립트에서 벗어나, 플랫폼을 확장했다.
- Node.js의 등장(2009년):
자바스크립트 엔진(자바스크립트를 해석하고 실행하는 도구)을 브라우저에서 분리하여,
서버에서도 자바스크립트를 사용할 수 있게 됐다. - 프론트엔드 + 백엔드 개발:
자바스크립트 하나로 전체 애플리케이션 개발이 가능. - 데스크톱 및 모바일 앱 개발:
Electron, React Native 등의 프레임워크를 통해 앱 개발에도 활용.
예시 : Node.js를 이용한 서버 개발
const http = require("http");
const server = http.createServer((req, res) => {
res.writeHead(200, { "Content-Type": "text/plain" });
res.end("안녕하세요, Node.js 서버입니다!");
});
server.listen(3000, () => {
console.log("서버가 http://localhost:3000 에서 실행 중입니다.");
});
4. 자바스크립트의 특징
1) 동적 타입 언어
- 변수 선언 시 타입을 명시하지 않음.
- 하나의 변수에 다양한 자료형을 할당 가능.
let value = 42; // 숫자
value = "Hello"; // 문자열
value = true; // 불리언
- 장점: 유연하고 빠르게 코드를 작성할 수 있다.
- 단점: 타입 에러가 발생할 가능성이 높다.
해결책: 타입스크립트(TypeScript) 같은 정적 타입 언어를 사용해 보완.
- 타입스크립트는 코드 작성 시 타입을 명확히 지정하도록 개발할 때 쓰는 도구일 뿐.
- 작성된 타입스크립트 코드는 최종적으로 컴파일되어 자바스크립트로 변환된다.
2) 함수형과 객체 지향형 프로그래밍 가능
자바스크립트는 다양한 스타일로 개발할 수 있다.
함수형 프로그래밍 예시:
const numbers = [1, 2, 3, 4];
const doubled = numbers.map((num) => num * 2);
console.log(doubled); // [2, 4, 6, 8]
객체 지향형 프로그래밍 예시:
class User {
constructor(name, age) {
this.name = name;
this.age = age;
}
greet() {
return `안녕하세요, ${this.name}님!`;
}
}
const user = new User("지민", 25);
console.log(user.greet()); // "안녕하세요, 지민님!"
요약
- 자바스크립트의 변천사: 브라우저 스크립트 → 플랫폼 확장(Node.js) → 앱 개발
- ECMAScript 표준: 최신 기능을 정의하며 매년 업데이트
- 특징: 동적 타입, 유연한 프로그래밍 스타일(함수형, 객체 지향형)
실무 팁
- ES6+ 문법을 익히고 연습하자.
- Node.js와 같은 환경에서 서버 개발도 가능하다.
- 프로젝트 규모가 커지면 타입스크립트를 도입해 안정성을 높이는 것도 고려.
'바닐라 코드 > Java Script' 카테고리의 다른 글
5. 변수와 상수 (3) | 2024.12.05 |
---|---|
4. use strict (1) | 2024.12.04 |
3. 문과 식 (2) | 2024.12.03 |
2. html에 자바스크립트 추가하기 (1) | 2024.12.02 |
0. 자바스크립트 용어 (3) | 2024.12.01 |