면접준비

[면접준비] JavaScript

개발자 문문 2025. 9. 21. 16:06

1. 데이터 타입

- 원시 타입(Primitive)

string, number, boolean, null, undefined, symbol, bigint 값 자체가 저장되고 불변(immutable)함

 

- 참조 타입(Reference)

object, array, function 등 참조(주소)가 저장되며 가변(mutable)함

 

- typeof 연산자

변수의 데이터 타입을 문자열로 변환

 

- Truthy / Falsy 값

조건문에서 참/거짓으로 평가되는 값.

Falsy → false, 0, '', null, undefined, NaN
(나머지는 전부 truthy)

 

2. 연산자

- 동등 비교(==) : 타입 변환 후 값 비교

- 일치 비교(===) : 타입 변환 없이 값 비교

- Nullish 병합(??) : 좌항이 null 또는 undefined일 때만 우향 반환

- 옵셔널 체이닝(?.) : 참조가 없으면 undefined 반환, 에러 방지

 

3. 변수 & 스코프 (Variables & Scope)

- var : 함수 스코프, 호이스팅 발생

- let : 블록 스코프, 재할당 가능

- const : 블록 스코프, 재할당 불가(상수)

- 호이스팅(Hoisting) : 변수, 함수 선언이 스코프 최상단으로 끌어올려지는 현상 (var는 선언만, 초기화는 호이스팅 안 됨)

 

4. 함수(Functions)

- 함수 선언문 : function foo() {} (호이스팅 O)

- 함수 표현식 : const foo = function() {} (호이스팅 X)

- 화살표 함수 : const foo = () => {} (this 바인딩 없음)

- 콜백 함수(Callback) : 다른 함수의 인자로 전달되어 실행되는 함수

- 클로저(Closure) : 함수가 선언될 당시의 스코프를 기억하여 외부 변수에 접근할 수 있는 함수

 

5. 객체 & 배열(Objects & Arrays)

- 객체(Object) : Key-Value 형태 데이터 저장

- 배열(Array) 주요 메서드

> 수정 : push, pop, shift, unshift

> 탐색/변환 : map, filter, reduce, forEach, find, some, every

- 스프레드 연산자(...) : 배열,객체 복사/병합에 사용

 

7. 프로토타입 & 객체지향 (Prototype & OOP)

- 프로토타입 : 모든 객체가 참조하는 상위 객체, 프로토타입 체인을 통해 상속 구현

- class (ES6) : 객체 생성 및 상속을 간편하게 표현하기 위한 문법적 설탕(Syntactic sugar)

 

8. 비동기 처리(Asynchronous)

- 콜백(callback) : 비동기 작업 완료 후 호출되는 함수

- Promise : 비동기 작업의 성공/실패 상태를 관리하는 객체

- async/await : Promise 기반 비동기 코드를 동기처럼 작성 가능

- 이벤트 루프(Event Loop) : Call Stack, Callback Queue, Microtask Queue를 이용해 비동기 코드 실행을 관리

 

9. DOM & 이벤트 (DOM & Events)

- DOM : HTML 문서를 객체 트리로 표현한 것

- DOM 조작 : getElementById, querySelector, innerHTML, appendChild

- 이벤트 전파

> 캡처링 : 부모  ➡️  자식

> 버블링 : 자식  ➡️  부모

> event.stopPropagation()으로 전파 중단 가능

 

10. 모듈 시스템(Modules)

- ES6 모듈 : export / import 사용

- CommonJS (Node.js) : module.exports / require 사용

 

11. 최신 문법(ES6+)

- 템플릿 리터럴 : `Hello ${name}`

- 디스트럭처링 : const {name, age} = obj

- Rest 파라미터 : function sum(...args) {}

- Null 병합 연산자 : value ?? 'default'

- 옵셔널 체이닝 : obj?.prop?.method()

 

12. 기타 중요 개념

- 고차 함수(HOF) : 함수를 인자로 받거나 반환하는 함수

- Garbage Collection : 참조되지 않는 객체 메모리 해제

- JSON : 데이터 교환 포멧, JSON.stringify(), JSON.parse()

- 에러 처리 : try { ... } catch(e) { ... } finally { ... }

'면접준비' 카테고리의 다른 글

[면접준비] WEB  (2) 2025.09.17
[면접준비] 네트워크  (0) 2025.09.17
[면접준비] DB  (0) 2025.09.17
[면접준비] Spring  (0) 2025.09.17
[면접준비] JAVA  (0) 2025.09.16