자바스크립트 기초
1. 자바스크립트 개요 및 특징
자바스크립트(JavaScript)는 웹 페이지에서 사용자와 상호작용하는 동적 웹 페이지를 구현하는 데 필수적인 언어입니다.
가장 많이 사용되는 웹 표준 프로그래밍 언어이며, 모든 브라우저가 지원하고 HTML5의 공식적인 스크립트 언어입니다.
자바와 의 차이점
| 구분 | 자바(Java) | 자바스크립트(JavaScript) |
|---|---|---|
| 실행 방식 | 컴파일 언어 (JVM 위에서 실행) | 인터프리트 언어 (브라우저에서 직접 해석 및 실행) |
| 변수 선언 | 변수의 타입을 반드시 선언 | 변수의 타입 선언 없이 사용 가능 |
| 언어적 특성 | 클래스 기반 객체지향 | 프로토타입 기반 객체지향, 함수형 프로그래밍 지원 |
| 용도 | 서버, 데스크톱, 모바일 등 다양한 환경 | 주로 웹 클라이언트, 최근에는 서버(Node.js)까지 확장 |
- 자바스크립트는 자바와 구문이 유사하지만, 완전히 다른 언어입니다.
역사
- 1995년 넷스케이프의 브렌든 아이크(Brendan Eich) 가 개발
- 최초 이름: 라이브스크립트(LiveScript)
- 1997년 ECMA(European Computer Manufacturer’s Association) 에서 ECMAScript라는 이름으로 표준 제정
주요 특징
- 인터프리트 언어: 컴파일 과정 없이 바로 실행
- 동적 타이핑(Dynamic Typing): 변수의 자료형 선언 없이 사용 가능
- 구조적 프로그래 밍 지원:
if-else,while,for등 제어 구조 지원 - 객체 기반: 객체는 연관 배열(associative array)과 유사
- 함수형 프로그래밍 지원: 함수도 객체이며, 속성과 메서드를 가질 수 있음
- 프로토타입 기반: 클래스 대신 프로토타입을 통한 상속 구조
주요 용도
- 이벤트에 반응하는 동작 구현
- Ajax를 이용한 서버와의 비동기 통신
- HTML 요소의 크기, 색상 등 동적 변경
- 게임, 애니메이션 등 상호작용 콘텐츠 구현
- 사용자 입력값 검증
미래와 확장성
- 원래는 클라이언트 웹 페이지용 언어였으나,
Node.js를 통해 서버 프로그래밍 언어로도 확장 - jQuery 등 다양한 라이브러리와 함께 사용
- JSON(JavaScript Object Notation): 데이터 전송 및 저장 형식으로 널리 활용
2. 자바스크립트 코드 작성 위치
자바스크립트 코드 작성 위치
자바스크립트 코드는 HTML 문서 내에서 다양한 방식으로 삽입할 수 있습니다. 각 방식은 목적과 사용 환경에 따라 선택할 수 있습니다.
내부 자바스크립트
HTML 문서의 <head> 또는 <body> 섹션 내에 <script> 태그를 사용하여 코드를 직접 작성합니다.
HTML5에서는 type 속성 지정이 필요하지 않습니다.
<!DOCTYPE html>
<html>
<head>
<script>
document.write("컴퓨터공학과!");
</script>
</head>
<body>
<br />
컴퓨터공학과입니다.
</body>
</html>
외부 자바스크립트
자바스크립트 코드를 별도의 .js 파일로 분리하여 관리할 수 있습니다.
여러 웹 페이지에서 공통으로 사용하는 코드를 작성할 때 유용합니다.
<script src="myscript.js"></script>
인라인 자바스크립트
HTML 태그의 이벤트 속성(예: onclick)에 직접 자바스크립트 코드를 작성합니다.
<button type="button" onclick="alert('컴퓨터공학과')">학과 구성</button>
참고:
- 내부/외부 자바스크립트는 주로 기능 구현 에 사용하며,
- 인라인 자바스크립트는 간단한 이벤트 처리에 적합합니다.
3. 문장과 자료형
자바스크립트의 기본 문법 요소와 데이터를 다루는 방법을 알아봅니다.
문장(Statement)
- 문장: 웹 브라우저에게 내리는 명령입니다.
- 세미콜론(
;): 문장 끝에 사용하며, 줄 바꿈 시 생략할 수 있습니다.
let x = 10;
let y = 20;
console.log(x + y);
블록(Block)
- 블록:
{}로 묶인 문장들의 집합입니다. - 조건문, 반복문, 함수 등에서 여러 문장을 함께 실행할 때 사용합니다.
if (x > y) {
console.log("x가 y보다 큽니다.");
}