[Javascript] Part 1: 자바 스크립트란, 자바스크립트 기본 문법

cowmin·2025년 6월 28일

1. 자바 스크립트

1.1 자바 스크립트란?

  • 웹 브라우저에서 실행되는 프로그래밍 언어
  • 웹 페이지를 동적으로 만들거나 상호작용을 추가하는 데 사용
  • 초기에는 브라우저 내에서만 실행되었지만, 현재는 Node.js와 같은 런타임 환경을 통해 서버 측 개발에서도 사용 가능

1.2 브라우저와 자바스크립트

  • 브라우저는 자바스크립트 코드를 실행하기 위한 환경
  • 브라우저에는 자바스크립트 코드를 해석하고 실행하는 JavaScript 엔진이 내장되어 있다. (인터프리터)

1.3 자바스크립트의 특징

  • 동적 타이핑 : 변수의 타입을 명시하지 않아도 사용 가능
  • 인터프리터 언어 : 코드를 즉시 실행
  • 이벤트 기반 프로그래밍 : 사용자의 상호작용을 기반으로 동작
  • 플랫폼 독립성 : 브라우저만 있으면 실행 가능
  • 확장성 : 다양한 라이브러리와 프레임워크와 함께 사용 가능 (React, Vue, Angular 등)

인터프리터와 컴파일러

구분인터프리터 (Interpreter)컴파일러 (Compiler)
작동 방식코드를 한 줄씩 읽고 바로 실행전체 코드를 한 번에 번역해서 실행 파일 생성
실행 시점프로그램 실행 중실행 전에 미리 전체 코드를 번역
속도실행 속도는 느림실행 속도는 빠름
오류 처리오류 발생 시 그 줄에서 멈춤전체 코드 분석 후 모든 오류를 한 번에 알려줌
대표 언어JavaScript, Python, Ruby 등C, C++, Go, Rust 등
개발 편의성실험이나 스크립트 작성에 편리최적화된 프로그램 제작에 적합


2. 자바스크립트 기본 문법

2.1 변수와 상수

  • var : 함수 레벨 스코프를 가지는 변수 선언 키워드
  • let : 블록 스코프를 가지는 변수 선언 키워드
  • const : 블록 스코프를 가지는 상수 선언 키워드

함수 스코프와 블록 스코프

비교 기준함수 스코프블록 스코프
범위함수 전체 내부{} 블록 내부
(조건문, 반복문, 함수 등)
사용 키워드varlet, const
접근 가능성함수 내부에서 어디서든 접근 가능블록 내부에서만 접근 가능

2.2 데이터 타입

2.2.1 기본 타입(Primitive Type)

원시적인 값 그 자체로 저장

타입설명예시
숫자(Number)숫자 형태의 데이터 (정수 및 실수)1, -10, 3.14
문자열(String)텍스트 형태 데이터 (문자 나열)'hello', "world"
불리언(Boolean)참(true)과 거짓(false)을 나타냄true, false
null명시적으로 비어있음을 나타내는 값null
undefined값이 아직 할당되지 않음undefined
Symbol유일무이한 값을 가진 식별자 생성 (ES6부터)Symbol('id')

null 과 undefined 차이
null : 명시적으로 비어있는 값 (개발자가 설정)
undefined : 값이 할당되지 않은 상태

2.2.2 참조 타입(Reference Type)

메모리 주소를 참조하여 데이터에 접근

타입설명예시
객체(Object)키-값(key-value) 형태로 데이터를 저장하는 자료구조{name: 'Alice', age: 30}
배열(Array)순서가 있는 값들의 모음, 인덱스 접근 가능[1, 2, 3]
함수(Function)실행 가능한 코드 블록function(){}

2.3 연산자

2.3.1 산술 연산자

연산자의미예시결과
+더하기3 + 25
-빼기5 - 23
*곱하기4 * 28
/나누기10 / 25
%나머지7 % 31

문자열 연결 : 문자열 + 문자열

"Hello" + " " + "World"  // "Hello World"

2.3.2 비교 연산자

연산자의미예시결과
==값만 비교'5' == 5true
===값과 타입 모두 비교 (권장)'5' === 5false
!=값만 다름 비교'5' != 5false
!==값 또는 타입 다름 비교'5' !== 5true
<작다3 < 5true
>크다3 > 5false
<=작거나 같다5 <= 5true
>=크거나 같다5 >= 3true

== 과 ===

// ==: 느슨한 비교 (타입이 다르면 자동 변환해서 비교함)
// ===: 엄격한 비교 (타입과 값이 모두 같아야 true)

console.log(5 == '5');   // true → 값만 비교
console.log(5 === '5');  // false → 값과 타입 둘 다 비교

console.log(null == undefined);   // true → 예외적 허용
console.log(null === undefined);  // false

2.3.3 논리 연산자

연산자의미예시결과
&&AND (그리고)true && falsefalse
||OR (또는)true || falsetrue
!NOT (부정)!truefalse

2.3.4 할당 연산자

연산자의미예시결과
=값 할당x = 5x5 할당
+=더해서 할당x += 2x = x + 2
-=빼서 할당x -= 1x = x - 1
*=곱해서 할당x *= 3x = x * 3
/=나눠서 할당x /= 2x = x / 2
%=나머지 연산 후 할당x %= 2x = x % 2

2.4 조건문과 반복문

2.4.1 조건문

  • if
  • switch

2.4.2 반복문

  • for
  • while

0개의 댓글