본문 바로가기

Understanding JavaScript10

[JS] _TIL_재귀적 사고하기 재귀 함수의 입력값과 출력값을 정의하기. 재귀적으로 사고하는데에 가장 먼저 해야할 일은 문제를 추상적이고 단순하게 정의 하는 것이다. => 함수의 입출력값을 잘 정의할 수 있어야한다. 함수 arrSum의 경우 number 타입을 요소로 갖는 배열을 '입력'으로 받고 number타입을 리턴한다. arrSum = [number] => number // 입출력값의 정의 문제를 쪼개고 경우의 수를 나누기 문제를 쪼갤 기준을 정하고 정한 기준에 따라 문제를 더 큰 경우와 더 작은 경우로 구분할 수 있는지 확인한다. 일반적으로 입력값을 이 떄 정한 기준으로 정하게된다. 이 때 중요한 점은 입력값이나 문제의 순서와 크기다. 주어진 입력값 또는 문제 상황을 크기로 구분할 수 있거나 순서를 명확히 정할 수 있다면 문제를.. 2023. 2. 13.
[JS] 재귀 함수 (Recursive Function) 재귀 호출 : 함수가 자기 자신을 호출하는 것 재귀함수 자기 자신을 호출하는 (재귀 호출을 수행하는) 함수. 재귀함수를 표현하는 공식?이 있다. 1) 함수 표현식으로 함수를 선언 2) 재귀호출을 탈출할 조건 3)재귀 호출 및 리턴 왜 재귀함수를 사용할까? 재귀함수는 반복되는 처리를 위해 사용한다. 예를 들어 10부터 0까지 호출하는 함수가 있다고 가정해보자. function countDown(n) { for (let i = n; i >= 0; i--) console.log(i); } countDown (10); 위와 같이 for문을 사용해 이상없이 구현할 수 있지만 for문을 사용하지 않고 구현이 가능하다. 바로 재귀함수를 이용하면 된다. function countDown(n) { if (n < 0) r.. 2023. 2. 12.
이벤트 위임(Event Delegation)이란 무엇인가? 이벤트 위임이란? 이벤트 위임이란 이벤트 버블링과 이벤트 갭처링을 활용한 방식으로 하위 요소에 이벤트 핸들러를 할당하는 것이 아니라 공통의 상위 요소에 이벤트 핸들러를 할당하는 것을 말한다. 이벤트 위임의 작동원리 이벤트 위임은 이벤트 버블링과 이벤트 캡처링에서 기인한다. 그렇다면 이벤트 버블링과 이벤트 캡처링이란 무엇일까? 이벤트 버블링(Event Bubbling) 이벤트 버블링이란 특정 HTML 요소에서 이벤트가 발생했을 때 해당 요소의 부모 요소들로 이벤트가 전달되는 현상을 말한다. 다시 말해, 자식 요소에서 발생한 이벤트가 부모 요소로 전달되며 그 과정에서 해당 이벤트에 연결된 핸들러가 동작한다. Click me! 예를 들어 위와 같은 HTML 구조가 있다고 생각해보자. 여기서 'button' 요.. 2023. 1. 23.
[JS] What is Spread Operator, Rest Parameter?(스프레드 연산자, 나머지 매개변수란 무엇인가?) Spread Operator란? 하나로 뭉쳐있는 여러 값들의 집합을 펼쳐서 개별적인 값들의 목록으로 만드는 것을 말한다. "..."으로 표현한다. 편하게 생각하면 괄호를 제거해주는 역할을 한다. Spread Operator를 사용할 수 있는 대상은 Array,String, Map, DOM collection(NodeList, HTMLCollection, arguments)와 같이 for...of문으로 순회할 수 있는 이터러블에 한정된다. console. log(...[1, 2, 3]); // (1, 2, 3) // 문자열은 이터러블이다. console. log(...['Hello']); // H e l l o // Map이나 Set은 이터러블이다. console. log(...New Map([['a', .. 2023. 1. 3.