JavaScript 문법 완전 가이드 TOC
1. 기본 문법
-
변수 선언:
var
,let
,const
-
자료형: String, Number, Boolean, Null, Undefined, Symbol, BigInt
-
연산자
- 산술 연산자
- 비교 연산자
- 논리 연산자
- 할당 연산자
- 삼항 연산자
-
주석: 한 줄, 여러 줄
-
콘솔 출력:
console.log
,console.error
2. 제어문
- 조건문:
if
,else if
,else
,switch
- 반복문:
for
,while
,do...while
,for...in
,for...of
- 예외 처리:
try...catch...finally
,throw
3. 함수
- 함수 선언
- 함수 표현식
- 화살표 함수
- 기본 매개변수
- 가변 인자 (
...rest
) - 즉시 실행 함수(IIFE)
- 콜백 함수
4. 객체
- 객체 리터럴
- 속성 접근 (
.
,[]
) - 메서드
this
키워드- 객체 메서드:
Object.keys
,Object.values
,Object.entries
,Object.assign
- 깊은 복사와 얕은 복사
- 생성자 함수
- 클래스와 인스턴스
5. 배열
- 배열 리터럴
- 배열 요소 접근 및 수정
- 배열 메서드
- 변형 메서드:
push
,pop
,shift
,unshift
,splice
- 조회 메서드:
indexOf
,includes
,find
,findIndex
- 반복 및 변환:
forEach
,map
,filter
,reduce
,some
,every
- 정렬과 조작:
sort
,reverse
,concat
,slice
,join
- 변형 메서드:
6. 문자열
- 문자열 생성과 연결
- 템플릿 문자열 (Template Literal)
- 문자열 메서드:
length
,charAt
,includes
,startsWith
,endsWith
,indexOf
,slice
,substring
,replace
,split
,toUpperCase
,toLowerCase
7. ES6+ 기능
- 디스트럭처링 (
object
,array
) - 스프레드 연산자 (
...
) - 모듈 (
export
,import
) - 클래스 (
class
,extends
,super
) - 심볼(Symbol)
- Set과 Map
- Promise, async/await
- Optional Chaining (
?.
) - Nullish Coalescing (
??
) - BigInt
8. DOM 조작
- 요소 선택:
getElementById
,querySelector
,querySelectorAll
- 속성 및 내용 변경:
textContent
,innerHTML
,setAttribute
- 스타일 변경:
style
- 이벤트 처리:
addEventListener
- DOM 생성, 삽입, 삭제:
createElement
,appendChild
,removeChild
,replaceChild
9. 이벤트
- 마우스 이벤트:
click
,dblclick
,mouseover
,mouseout
- 키보드 이벤트:
keydown
,keyup
,keypress
- 폼 이벤트:
submit
,change
,input
- 이벤트 버블링과 캡처링
- 이벤트 객체 사용:
event.preventDefault()
,event.stopPropagation()
10. 비동기 처리
- 콜백 함수
- Promise (
then
,catch
,finally
) - async/await
- fetch API
- setTimeout, setInterval
11. 오류 처리
- try...catch
- throw
- 커스텀 에러 생성
12. 고급 문법
- 클로저
- IIFE (Immediately Invoked Function Expression)
- 제너레이터 함수 (
function*
) - Proxy와 Reflect
- Symbol과 Iterator
- 메모이제이션(Memoization)
13. 브라우저 API
- LocalStorage / SessionStorage
- Cookie 처리
- Fetch / XMLHttpRequest
- WebSocket
- Geolocation
- Canvas API
- History / Location / Navigator
14. 유틸리티
- JSON (
JSON.stringify
,JSON.parse
) - 날짜와 시간 (
Date
,Intl.DateTimeFormat
) - 정규 표현식(RegExp)
- URL 처리 (
URL
,URLSearchParams
) - 난수 생성 (
Math.random
,Math.floor
)