본문 바로가기

분류 전체보기28

호이스팅 자바스크립트를 사용할 때 var를 쓰면 안되고 let과 const를 써야한다는 말을 많이 들었습니다. 왜냐하면 var는 호이스팅이 가능하기 때문에 혹시 실수로 같은 식별자로 선언을 2번했을 경우 찾기 어려운 오류를 만들 수 있기 때문이죠. 그런데 이번에는 var를 넘어서 Hoisting이 왜 일어나는지에 대해 더 자세히 알아보고 더 중요한 함수의 호이스팅에 대해서도 다뤄보겠습니다! environmentRecord와 hoisting 자바스크립트가 실행 될 때 environmentRecord라는 것이 있는데 environmentRecord에서 호이스팅이라는 개념으로 식별자 정보들을 저장합니다. environmentRecord는 실행 컨텍스트를 다루며 더 자세하게 알아보겠습니다. 즉, '자바스크립트 엔진은 코.. 2021. 6. 19.
REST API란? 1. REST API란 무엇인지 2. RESTful 한 것의 의미 3. REST API와 GraphQL의 차이점 에 대해 다뤄볼 것입니다. REST API ? REST API란 정보들을 주고받는데 있어서 개발자들이 널리 쓰이는 일종의 '형식'입니다. 어떤 기술이나 제품이 아닌 '형식'이기 때문에 어떤 프로그래밍 언어, 프레임워크 등을 쓰는지간에 REST API 폼에 맞춰서 어디에서든 사용할 수 있습니다. 전에 더 쉽게 이해하기 위해 API에 대한 개념에 대해 살짝 정리하겠습니다. API는 소프트웨어가 다른 소프트웨어로 부터 지정된 형식으로 요청, 명령을 받을 수 있는 수단입니다! 우리가 자주 접할 수 있는 것은 Web API, Windows API, Kakao API 등이 있죠? REST API도 그런 .. 2021. 6. 18.
불변 객체 | 얕은 복사 & 깊은 복사 가변성을 가진 참조형 데이트의 '가변'은 데이터 자체가 아니라 내부 프로퍼티를 변경할 때만 성립하고, 데이터 자체를 변경하고자 한다면 (기본형 데이터와 마찬가지로) 기존 데이터가 변하지는 않습니다. 내부 프로퍼티를 변경 할 필요가 있을 때마다 매번 새로운 객체를 만들어 재할당 하기로 규칙을 정하거나 immutable.js, immer.js 등의 라이브러리를 사용한다면 객체도 불변성을 확보할 수 있습니다. 객체가 불변성을 확보해야하는 경우는 언제일까요? 값으로 전달받은 객체에 변경을 하더라도 원본 객체는 변하면 안되는 경우입니다. 예를 들어 정보가 바뀐 시점에서 알림을 보내거나, 바뀌기 전의 정보와 바뀐 후의 정보를 가시적으로 보여줘야 하는 등의 기능을 구현해야 하는 경우가 있습니다. 이럴 경우레는 변경 .. 2021. 6. 18.
기본형 데이터 & 참조형 데이터 기본형 데이터(숫자, 문자열, 불리언, null, undefiend ...)와 참조형 데이터(object - array, function, date, 정규표현식 ...)을 설명할 때 일반적으로 기본형 데이터는 할당이나 연산 시 복제가 되고, 참조형 데이터는 참조가 된다고 알려져 있습니다. 결론을 미리 말하자면 사실 기본형 데이터와 참조형 데이터 모두 복제를 합니다. 다만 기본형은 값이 담긴 주솟값을 바로 복제하는 반면 참조형은 값이 감긴 주솟값으로 이루어진 묶음을 가리키는 주소값을 복제합니다. 복제에 대한 예시를 공부하기 전에 불변값과 가변값에 대한 개념을 먼저 알아보겠습니다. 불변 값 먼저 기본형 데이터는 모두 불변값입니다. var a = 6; var b = 6; a = 7; 이 경우 컴퓨터 내에서는 .. 2021. 6. 17.