본문 바로가기
Javascript

require과 import 차이점

by 이매➰ 2024. 10. 31.

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보다 성능이 우수하며 메모리를 절약할 수 있다