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)