[재귀] 재귀란? (반복문 vs 재귀 누가더 성능이좋은가!)
·
과거의 이력/기본개념 (손필기)
. 재귀(Recursion) 란? : 재귀함수란 자기 자신을 계속 호출하는 함수를 뜻한다. - 자기 자신을 호출할 수 있기 때문에 반복 연산에 자주 사용된다. - 모든 재귀함수는 무한재귀가 발생하는것을 방지하기 위해 탈출 조건인 기본단계와 재귀단계로 나누어져 있다. - 함수가 호출될 때 스택 메모리(stack memory)를 사용하게 되는데, 함수의 스택 call이 반복적으로 이루어지므로 메모리를 많이 차지하며 반복문에 비해 성능이 좋지 않다. - 메모리가 부족한 상황까지 반복된다면 stack overflow가 발생하며 프로그램이 비정상 종료 된다. 재귀 vs 반복문 여기까지의 결론 재귀는 반복문보다 느리고 성능이 좋지 않다. 그럼 대체 재귀를 왜 사용하는걸까?... 재귀함수를 사용하는 이유 1. 재귀적..
[javascript] for in 과 for of 사용법(차이)
·
과거의 이력/javascript
막상 쓰려고하면 두개가 헷갈려서 기록한다. for ... in for ... of 반복문으로 사용되는 for in 과 for of는 ES6부터 추가되었다. 우선 두개의 차이는 다음과 같다. for in - 객체 탐색 for of - 배열 요소 탐색(Array뿐 아니라 Map, Set, String 에도 사용 가능하다.) 그럼 예시를 살펴보자 1. for in const param = { a: 1, b: 2, c: 3 } 위와같은 param이라는 변수가 있을때, >> a, b, c 라는 출력값을 얻기위해서는 다음과 같은 로직을 짜면 된다. for (let item in param) { console.log(item) } // output >> a, b, c 해당 로직을 보면 item이 객체의 키값을 반환하..