본문 바로가기

JavaScript2

this this? 공부를 하면서도 뭔가 애매한 개념 this. 그래서 핵심부터 말하고 더 자세하게 설명하도록 하겠습니다. this의 값은 함수를 호출할 때(호출하는 방법에 의해) 결정되는 것이고, 호출한 객체가 바로 this이다. 그리고 예외적으로 this를 호출과 무관하게 묶어줄 수 있는(고정시킬 수 있는)함수가 bind이다.(ES5) 자바스크립트에서 this는 샐행 컨텍스트가 생성 될 때 호출되고, 실행 컨텍스트는 함수를 호출할 때 생성됩니다. 그럼 this는 함수가 호출될 때 결정되는 것이라 할 수 있습니다. 이제는 자세하게 this가 어디서 어떻게 호출되는지 아는 것이 중요합니다. 다양한 상황에 따라 this가 어떤 것을 바라보게 되는지 알아보겠습니다. 상황에 따라 달라지는 this 전역 공간에서 thi.. 2021. 6. 24.
불변 객체 | 얕은 복사 & 깊은 복사 가변성을 가진 참조형 데이트의 '가변'은 데이터 자체가 아니라 내부 프로퍼티를 변경할 때만 성립하고, 데이터 자체를 변경하고자 한다면 (기본형 데이터와 마찬가지로) 기존 데이터가 변하지는 않습니다. 내부 프로퍼티를 변경 할 필요가 있을 때마다 매번 새로운 객체를 만들어 재할당 하기로 규칙을 정하거나 immutable.js, immer.js 등의 라이브러리를 사용한다면 객체도 불변성을 확보할 수 있습니다. 객체가 불변성을 확보해야하는 경우는 언제일까요? 값으로 전달받은 객체에 변경을 하더라도 원본 객체는 변하면 안되는 경우입니다. 예를 들어 정보가 바뀐 시점에서 알림을 보내거나, 바뀌기 전의 정보와 바뀐 후의 정보를 가시적으로 보여줘야 하는 등의 기능을 구현해야 하는 경우가 있습니다. 이럴 경우레는 변경 .. 2021. 6. 18.