[Javascript] 재귀함수/ 재귀적 수행
재귀 1) 재귀란? 원래의 자리로 되돌아가거나 되돌아오는 것 2) 재귀함수란? 자기 자신을 호출하는 함수이며 반복적으로 작업을 해야하는 문제를 더 간결한 코드로 풀어낼 수 있기에 사용한다. 또한, 중첩된 반복문이 많거나 반복문의 중첩 횟수를 예측하기 어려운 경우에 사용하면 좋다. 그외에도 불변성을 유지하는 방법으로 재귀적 수행방법이 가장 적합하기에 사용된다. 3) 재귀적 수행 (1) 중첩된 객체에 대한 깊은 복사 살펴보기 객체의 프로퍼티 중, 기본형 데이터는 그대로 복사하고 참조형 데이터는 다시 그 내부의 프로퍼티를 복사 -> 재귀적 수행 재귀적으로 수행한다는 것? 함수나 알고리즘이 자기 자신을 호출하여 반복적으로 실행되는 것을 말한다. 완벽하게 다른 객체를 반환한다. 이렇게 되면, 깊은 복사를 완벽하게..
- Programming Language/HTML\CSS\JavaScript
- · 2024. 1. 2.
[Javascript] this 바인딩 정리
01 기본 바인딩(Default Binding) 여러 this 바인딩 규칙 중 해당하는 것이 없을 때 적용되는 가장 기본이 되는 규칙이다. 기본 this 바인딩이 적용될 경우 this는 전역 객체에 바인딩된다. (브라우저 환경인 경우 window, Node.js 환경인 경우 global) function foo() { const a = 10; console.log(this.a); } foo(); // undefined 위와 같은 경우 this는 전역객체에 바인딩되고 전역객체에는 a라는 프로퍼티가 없기 때문에 undefined가 출력된다. 전역객체에 a라는 프로퍼티가 있는 경우 해당 a프로퍼티의 값을 출력하게 된다. window.a = 10; function foo() { console.log(this.a..
- Programming Language/HTML\CSS\JavaScript
- · 2024. 1. 2.
[Javascript] 실행컨텍스트(스코프, 변수, 객체, 호이스팅)
01 실행 컨텍스트 개념 1) 실행 컨텍스트란? 실행할 코드에 제공할 환경정보들을 모아놓는 객체로, 동일환경에 있는 코드를 실행할 때 한 환경 정보들을 모아 컨텍스트를 구성하고 이것을 위에서 설명드린 스택의 한종류인 콜스택에 쌓아올린다. 가장 위에 쌓여있는 컨텍스트와 관련된 코드를 실행하는 방법으로 코드의 환경 및 순서를 보장할수있다 (1) 선언된 변수를 위로 끌어올린다(==호이스팅) (2) 외부 환경 정보를 구성 (3) this 값을 설정 실행 컨텍스트를 이해하기 위해서는 먼저 콜 스택에 대한 이해가 필요하다. 늘 비교가 되는 두개의 대상을 정리하면 스택과 큐가 있는데 먼저 들어온 것이 먼저 나가는 FIFO의 형태인 큐와는 달리 스택은 마지막에 들어온 것이 가장 먼저 나가는 형태를 띄고 있다. 스택 :..
- Programming Language/HTML\CSS\JavaScript
- · 2024. 1. 2.
[Javascript] undefined, null의 차이
undefined와 null은 무슨 차이일까? 01 undefined undefined는 값이 있어야 할 것 같은데 값이 없는 경우 자동으로 부여되는 것 - 변수에 값이 지정되지 않은 경우 - 데이터 영역의 메모리 주소를 지정하지 않은 식별자에 접근하는 경우 - 객체(.)나 배열([ ])로 접근하려 할 때, 해당 데이터가 존재하지 않는 경우 - return 문이 없거나 호출되지 않는 함수를 실행하는 경우 값이 없다는 것을 표현할 때에는 undefined를 사용하는 것이 아닌 null값을 사용해야 한다. 02 null 값이 없다는 것을 표현할 때에 사용 예제와 함께 보았을때 우선 typeof null로 나오는 부분은 자바스크립트의 버그라서 신경쓰지 않아도 된다. 동등연산자(==)는 타입까지는 같지 않아도 ..
- Programming Language/HTML\CSS\JavaScript
- · 2024. 1. 2.
[Javascript] 데이터 타입 - 종류/ 변수 할당/ 복사/ 가비지 컬렉터
01 데이터 타입의 종류 자바스크립트에서 데이터 값의 타입은 기본형(Primitive Type)과 참조형(Reference Type)으로 구분된다. 기본형과 참조형의 구분 기준은 값의 저장 방식과 불변성 여부이다. 💡 [기본형과 참조형의 구분 기준] 1. 복제의 방식 (1) 기본형 : 값이 담긴 주소 값을 바로 복제 (2) 참조형 : 값이 담긴 주소 값들로 이루어진 묶음들을 가리키는 주소 값을 복제 2. 불변성의 여부 (1) 기본형 : 불변성을 띔 (2) 참조형 : 불변성을 띄지 않음 02 변수 할당 예시 - 참조형 데이터의 변수 할당 과정 아래의 코드를 바탕으로 변수 할당 예시를 봐보면 변수(객체) obj1을 1001이라는 주소에 할당해두고 그 안에 들어가는 a와 b 변수를 7103, 7104 주소에 ..
- Programming Language/HTML\CSS\JavaScript
- · 2024. 1. 2.