2023-04-03 월요일

·2023년 4월 3일
0

Today I Learned

목록 보기
93/114
post-thumbnail

✏️ 무엇을 배웠나


1. require와 import

require와 import는 파일 또는 모듈을 불러오는 데 사용하는 키워드다. 하지만 require는 node.js에 내장된 Common JS 모듈에 일부이고, import는 ES6에 추가된 모듈 시스템의 일부다.

require와 import의 차이
  1. require는 node.js Common JS 모듈의 일부이고 import는 ES6에 추가된 모듈 시스템이다.
  2. require는 동기적으로 작동하고 import는 비동기적으로 작동한다.
require와 import 언제 쓰나
  1. 모던 웹에서는 보통 import를 사용한다. 브라우저와 호환성이 좋고 비동기 로 작동하기 때문에 효율적인 개발이 가능하다.
  2. 서버를 개발하거나 require로 된 레거시 코드를 만져야 할 때 require를 쓴다.

2. const로 선언한 객체를 수정할 수 있는 이유

  1. const는 재선언과 재할당을 금지하는 키워드인데, 객체와 배열은 참조형 데이터라 객체나 배열의 요소를 수정하더라도 메모리 위치를 가리키는 참조는 바뀌지 않기 때문임.
변하지 않는 객체나 배열을 만들려면?
  • Object.freeze()를 사용하면 됨

3. 배열의 합을 구할 때 for를 쓸까 reduce를 쓸까?

둘 다 시간복잡도는 O(n)으로 효율면에서는 같다. 하지만 reduce가 작성하기 더 간결해서 코드 가독성이 좋다.

비교를 해보자.

for를 이용했을 때

const nums = [1, 2, 3, 4, 5, 6, 7, 8];

for (let i = 0; i < nums.length; i++) {
	let sum = 0;
	sum += nums[i];
	return sum;
}

reduce를 이용했을 때

const nums = [1, 2, 3, 4, 5, 6, 7, 8];
const sum = nums.reduce((sum, num) => sum + num, 0)

일단 눈으로 보기에도 reduce를 이용한 쪽이 더 짧다. 그리고 reduce 메서드는 기본적으로 반복 로직을 가지고 있으니까 굳이 for문을 쓸 필요는 없겠다.

profile
⛰ 프론트엔드 개발 공부 블로그

0개의 댓글