require과 import는 자바스크립트에서 모듈을 가져오는 두 가지 방법이다
require
- 사용되는 환경 : 주로 Node.js
- 구문 : const module = require('module-name');
- 동기적 : 모듈을 불러올 때, 해당 모듈이 로드될 때까지 코드의 실행이 멈춘다
- 모듈 캐싱 : 한 번 불러온 모듈은 캐시되어 이후에 같은 모듈을 요청할 경우 캐시된 버전을 사용한다
- 실행 시점 : 구문이 실행되는 시점
import
- 사용되는 환경 : ES6(ECMAScript 2015)에서 도입된 구문으로, 주로 브라우저와 최신 Node.js에서 사용
- 구문 : import module from 'module-name';
- 동기적 : 모듈을 불러오는 동안 다른 코드가 계속 실행된
- 정적 분석 : (= 자바스크립트 코드가 실행되기 전에 코드를 읽고 이해)
import 구문은 코드가 실행되기 전에 미리 분석되므로, 코드의 상단에 위치해야 한다 - 명시적 수출 (export, import) : 특정 기능이나 변수를 가져오려면 모듈에서 명시적으로 내보내야 한다
import는 사용자가 필요한 모듈 부분만 선택하고 로드할 수 있기 때문에 더 선호된다
import는 require보다 성능이 우수하며 메모리를 절약할 수 있다
'Javascript' 카테고리의 다른 글
| Arrow function를 사용하는 경우 (0) | 2024.11.01 |
|---|---|
| null, undefined, undeclared, NaN 차이점 (0) | 2024.10.30 |
| 실행 컨텍스트 (0) | 2024.10.29 |
| 이벤트 전파 (0) | 2024.10.27 |
| 마이크로태스크 큐(Microtask Queue)와 태스크 큐(Task Queue) (0) | 2024.10.26 |