썸네일 자바스크립트 얕은 복사와 깊은 복사 완벽 이해하기 자바스크립트를 배우면서 중요한 개념이라고 할 수 있는 얕은 복사와 깊은 복사에 대해 이해하고 활용할 수 있도록 공부하려고 한다. 특히나 리액트 같은 경우는 원본 데이터를 변경하지 않고 데이터를 복사해서 새롭게 사용하기 때문에 이 개념에 대해 정확하게 알고 있어야 한다고 생각한다. 얕은 복사와 깊은 복사 복사는 그냥  =  해서 할당하면 되는 거 아닌가?라고 생각했었던 사람으로 얕은 복사와 깊은 복사는 많은 차이를 가지고 있다. 얕은 복사는 최상위 에서만 복제가 되는 것을 말하고 깊은 복사는 객체의 끝까지 모두 복사가 되는 것을 말한다. 예시 코드를 보면서 더 자세하게 살펴보자 const bookshelf1 = { 책1: "해리포터", 책컬렉션: { 소설1: "반지의제왕", ..
썸네일 자바스크립트 클로저 완벽하게 이해하기 자바스크립트의 어려운 문법 중 하나로 손꼽히는 클로저에 대해 자세하게 알아보려고 한다. 특히나 React 를 공부하는 사람으로써 클로저의 개념이 다양한 부분에서 활용되는 만큼 확실하게 이해하고 넘어가야 한다고 생각한다. 그럼 이제 클로저에 대해 좀 더 상세하게 알아보려고 한다. 클로저클로저는 함수와 함수가 선언된 렉시컬 환경의 조합을 의미한다. 좀 더 쉽게 말해 내부 함수가 외부 함수의 변수에 접근할 수 있는 구조를 의미하는데 이러한 클로저는 데이터를 숨기고, 캡슐화하는데 주로 사용된다.  클로저를 사용하는 이유let num = 0;const increase = function () { return ++num;};console.log(increase()); // 1num = 100; // num에 다시..
썸네일 자바스크립트 실행 컨텍스트 복습 및 정리하기 자바스크립트 문법을 공부하면서 가장 이해가 어려운 부분을 손에 꼽으라고 한다면 실행 컨텍스트 부분이 아닐까 싶다. 낯선 단어들과 이해가 어려운 내용들로 되어있지만 자바스크립트 엔진이 코드를 실행하는 방식을 이해하는데 중요한 역할을 하기 때문에 꼭 짚고 반복학습하면서 넘어가기로 결정했다. 이해하고 정리한 내용을 작성하려고 한다. 실행 컨텍스트실행 컨텍스트란 무엇인가? "실행 컨텍스트는 소스코드를 실행하는데 필요한 환경을 제공하고 코드의 실행 결과를 실제로 관리하는 영역" 혹은 "실행할 코드에 제공할 환경 정보들을 모아놓은 객체"라는 설명이 많다. 무슨 설명인지 하는 마음이 크지만 예시 코드와 그림들을 보면 좀 더 이해가 쉬워질 수 있다.  보통 자바스크립트가 실행되는 런타임은 브라우저 혹은 Node.Js ..
자바스크립트 자료형 Set 학습 및 정리하기 코드에 현실 세계를 반영하기 위해서 다양한 자료구조들이 있지만 기존의 것들 만으로는 부족하기 때문에 Map, Set이 추가되었다. 이 Map과 Set은 기존의 자료구조와 비슷한 점이 있으면서도 다른 점이 있다. 기존에 사용하던 객체와 배열로는 구현하기 어려웠던 특정한 기능들 또한 제공한다. SetSet은 중복이 없는 값들의 집합이라고 볼 수 있다. 모든 유형의 고유한 값을 저장할 때 사용한다. Set은 배열과 유사하게 순서를 가지지만 서로 인덱스가 달라 동일한 값을 여러 번 저장할 수 있지만 Set은 중복된 값을 허용하지 않는다.   1. 특징각각의 값들은 Set 내에서 한 번만 나타날 수 있다. 즉 유일한 값이다.데이터의 삽입 순서를 가지고 있다.NaN을 포함한 모든 데이터를 저장할 수 있다. 2. S..