
[JS] 클로저(Closure)
2022. 7. 21. 00:49
🔥 Front-End/JavaScript
클로저의 의미 및 원리 이해 앞에서 실행컨텍스트에 대해 배운 지식을 바탕으로 클로저를 정의해본다면, 클로저란 외부 함수의 변수를 참조하는 내부 함수를 외부로 전달할 때 외부 함수의 실행 컨텍스트가 종료된 후에도 외부 함수를 참조할 수 있는 현상이라고 생각합니다. 제가 왜 클로저를 정의했는지 예제를 통해 살펴보겠습니다. 우선 외부 함수에서 변수를 선언하고 내부 함수에서 해당 변수를 참조하는 형태의 간단한 코드를 작성해보겠습니다. var outer = function () { var a = 1; var inner = function () { console.log(++a); }; inner(); }; outer(); outer 함수에서 변수 a를 선언했고, outer의 내부 함수인 inner 함수에서 a의 값..

[JS] JavaScript 객체와 불변성
2022. 7. 20. 22:46
🔥 Front-End/JavaScript
기본형 데이터와 참조형 데이터 데이터 타입의 종류 자바스크립트 데이터 타입은 기본형, 참조형 이렇게 크게 두가지로 볼 수 있습니다. 기본형은 할당이나 연산시 복제되고 참조형은 참조됩니다. 엄밀히 말하면 둘 모두 복제를 하긴 하지만, 다만 기본형은 값이 담긴 주솟값을 바로 복제하는 반면 참조형은 값이 담긴 주솟값들로 이루어진 묶음을 가리키는 주솟값을 복제한다는 점이 다릅니다. 불변값(Immutable Value) 기본형 데이터들은 모두 불변값(immutability을 띕니다. 기본형이 궁금하시다면, [JS] 모던자바스크립트 Deep Dive - 데이터 타입 6장 데이터 타입(Data Type) ES6부터는 7개의 데이터 타입을 제공한다. 7개의 데이터 타입은 원시 타입(Primitive Type)과 객체 ..