require과 import / const 선언 후 배열 객체 추가할 수 있는 이유

새양말·2023년 4월 3일
0

내일배움캠프TIL

목록 보기
69/74
post-thumbnail

require와 import차이점을 설명해주세요. 각각 어떤 상황에서 쓸 수 있나요?

require와 import는 JavaScript에서 외부 모듈과 코드를 프로젝트에 로드하는 데 사용됩니다.
require는 모듈을 동기식으로 로드하는 데 사용됩니다. 즉, 계속하기 전에 필요한 모듈이 로드될 때까지 코드 실행이 대기합니다. require는 로드하려는 모듈의 경로를 지정하는 문자열 인수를 취하고 모듈의 내보내기 객체를 반환합니다.

반면 'import'는 최신 브라우저와 일부 Node.js 버전에서 지원되는 ES6 모듈 시스템의 일부입니다. 모듈을 비동기식으로 로드하는 데 사용됩니다. 즉, 코드 실행은 계속하기 전에 모듈이 로드될 때까지 기다리지 않습니다. import는 require와 다른 구문을 사용하며 모듈에서 기본 내보내기 또는 명명된 내보내기만 로드할 수 있습니다.

일반적으로 Node.js로 작업하는 경우 require를 사용해야 합니다. 최신 브라우저 또는 ES6 모듈을 지원하는 JavaScript 환경에서 작업하는 경우 import를 사용해야 합니다. 그러나 Babel 및 Webpack과 같이 Node.js에서도 import를 사용할 수 있는 도구 및 라이브러리가 있습니다.

배열, 객체를 const로 선언했는데 요소나 속성을 추가할 수 있는 이유에 대해서 설명해주세요

JavaScript에서 const 키워드는 새 값에 재할당할 수 없는 변수를 선언하는 데 사용됩니다. 그러나 const를 사용하여 배열이나 객체를 선언한다고 해서 배열이나 객체의 내용을 수정할 수 없다는 의미는 아닙니다.

배열에 요소를 추가하거나 개체에 속성을 추가할 때 변수 자체를 재할당하는 것이 아니라 해당 내용을 수정합니다. 배열이나 객체에 대한 참조는 동일하게 유지되므로 const 선언은 여전히 유지됩니다.

const로 선언된 배열이나 객체의 내용을 수정할 수 있지만 변수를 새 배열이나 객체에 재할당할 수 없다는 점에 유의해야 합니다. 그렇게 하려고 시도하면 TypeError가 발생합니다.

요약하면 const를 사용하여 배열이나 객체를 선언하면 재할당할 수 없는 변수를 선언하지만 요소나 속성을 추가하거나 제거하여 내용을 수정할 수 있습니다.

profile
매번 기합넣는 양말

0개의 댓글