logo

DowanKim

14. 기본 문법 요약

2026년 4월 10일

자바스크립트

🏗️ 1. 코드 구조 및 엄격 모드

세미콜론 (Semicolon)

  • 자동 삽입: 보통 줄 바꿈이 있으면 엔진이 세미콜론을 자동으로 넣어주지만, [로 시작하는 행 등에서는 오류가 날 수 있습니다.
  • 권장 사항: 모든 문장의 끝에는 명시적으로 세미콜론을 붙이는 습관을 들이세요.
  • 예외: 코드 블록({...}) 뒤에는 세미콜론이 필요 없습니다.

엄격 모드 (Strict Mode)

  • 활성화: 'use strict'를 스크립트나 함수 최상단에 작성합니다.
  • 효과: 옛날 방식의 실수를 에러로 잡아주며, 모던한 최신 기능을 활성화합니다.
  • 참고: 클래스(Class)나 모듈(Module)을 쓰면 자동으로 활성화되니 안심하세요.

💎 2. 변수와 8가지 자료형

변수 선언

  • let: 일반적인 변수.
  • const: 재할당이 불가능한 상수. 기본적으로 const를 쓰고, 값이 바뀌어야 할 때만 let으로 바꾸는 것이 좋습니다.

8가지 자료형 (Data Types)

자료형특징
Number정수 및 부동 소수점. Infinity, NaN 포함.
BigInt$2^{53} - 1$ 보다 큰 정수 처리.
String문자열. 따옴표나 백틱(```)으로 감쌈.
Booleantruefalse.
null'비어있음'을 나타내는 독립 타입.
undefined'할당되지 않음'을 나타내는 독립 타입.
Object복잡한 데이터 구조.
Symbol고유 식별자.

⚠️ typeof의 함정

  • typeof null"object" (언어 설계상의 오류)
  • typeof function(){}"function" (함수는 객체이지만 특별 취급)

🤝 3. 브라우저 상호작용 (UI)

  • alert(msg): 단순 메시지 노출.
  • prompt(q, [default]): 텍스트 입력받기. 취소 시 null 반환. (IE를 위해 기본값 "" 권장)
  • confirm(q): 확인(true) 또는 취소(false) 선택.

⚡ 4. 연산자 (Tricky Points)

  • 이항 연산자 +: 하나라도 문자열이면 문자열 연결이 우선됩니다. ('1' + 2 == '12')
  • 단항 연산자 +: 숫자가 아닌 값을 숫자형으로 변환합니다. (+true == 1)
  • 일치 연산자 ===: 형 변환 없이 값과 타입을 모두 비교합니다. ==보다 ===를 쓰세요.
  • nullish 병합 연산자 ??: 값이 null이나 undefined일 때만 폴백(fallback) 값을 선택합니다. (0이나 ""은 유효한 값으로 취급)

🔄 5. 제어 흐름 (반복문 & Switch)

반복문

  • while, do..while, for 문 사용.
  • break는 반복문을 종료, continue는 현재 루프를 건너뜁니다.
  • 중첩 반복문 탈출 시에는 **레이블(Label)**을 활용하세요.

Switch 문

  • 내부적으로 일치 연산자(===) 비교를 수행합니다.
  • 즉, prompt로 받은 "18"과 케이스 18(숫자)은 일치하지 않으니 주의하세요!

📦 6. 함수 (Functions)

함수를 만드는 세 가지 스타일

구분함수 선언문함수 표현식화살표 함수
문법function sum() {}let sum = function() {}let sum = () => {}
호이스팅선언 전 호출 가능불가능불가능
특징가독성이 좋고 자유로움조건부 선언 등에 유리간결함, 자체 this 없음

💡 기억해야 할 중요한 내용

  1. 에러 메시지를 두려워하지 마세요. 특히 NaN이나 undefined가 나오면 데이터 타입이 꼬였는지(typeof) 먼저 확인하는 것이 디버깅의 핵심입니다.
  2. 가독성이 곧 실력입니다. 짧은 삼항 연산자나 &&를 남발하기보다, 남이 읽기 편한 if문과 명확한 함수 이름을 짓는 데 더 공을 들이세요.