#back_to_basic 다시 처음부터!라는 마음으로 공부해보자! 아자아자! ES6에서는 새로운 기능들이 많이 등장하였는데, 그 중 하나가 변수 선언에 사용할 수 있는 let과 const의 추가였다. 그렇다면 var, let, const 이들 사이의 차이점은 무엇일까! 1. Var ES6의 등장 이전에는 문제점들이 있음에도 불구하고, var로 변수를 선언하였다. 1) Scope of var scope는 기본적으로 변수를 사용할 수 있는 위치를 의미한다. var 선언은 전역 범위 혹은 함수 범위로 지정되는데, 즉, 함수 외부에서 선언될 때의 범위는 전역, 함수 블록 내부에서 선언되는 경우엔 함수 내에서만 사용하고 접근할 수 있다. 위 예시에서는 greeter는 전역에서 사용 가능하고, hello는 함수 ..
#back_to_basic 다시 처음부터!라는 마음으로 공부해보자 1. 실행 컨텍스트란 실행 컨텍스트(Execution Context)는 실행할 코드에 제공할 환경 정보들을 모아놓은 객체이다. 자바스크립트는 동일한 환경에 있는 환경 정보들을 모은 실행 컨텍스트를 콜스택에 쌓아올린 후 실행하여 코드의 환경과 순서를 보장할 수 있게 한다. 스택은 FILO(First In, Last Out)의 구조이기때문에 순서를 보장할 수 있고, 그러므로 콜스택 내부에 쌓인 실행 컨텍스트의 정보를 통해 환경을 보장할 수 있다. 여기서 말하는 환경은 전역공간이 될 수도 있고, 함수 내부의 환경이 될 수도 있다. 처음 자바스크립트 코드를 실행하면, 위 사진의 (1)처럼 전역 컨텍스트가 콜스택에 담긴다. 1) 콜스택엔 전역 컨텍..
#back_to_basic 다시 처음부터!라는 마음으로 공부해보자 1. 자료형 자바스크립트에서 값은 항상 문자열이나 숫자형 같은 특정한 자료형에 속한다. 자바스크립트에서의 변수는 자료형에 관계없이 모든 데이터일 수 있다. 즉 문자가 될 수도 있고, 숫자가 될 수도 있다. 이처럼 자료의 타입은 있지만, 변수에 저장되는 값의 타입은 언제든지 바꿀 수 있는 언어를 '동적 타입(dynamically typed)'언어라고 부른다. (1) 숫자형 숫자형은 정수 및 부동소수점 숫자(floating point number)를 나타낸다. 이 숫자형엔 일반적인 숫자 외에도 infinity, -infinity, NaN같은 특수 숫자 값이 포함된다. ❓ NaN 계산 중에 에러가 발생했다는 것을 나타내주는 값이다. 부정확하거나..
#back_to_basic 다시 처음부터!라는 마음으로 공부해보자 1. CSS? CSS는 Cascading Style Sheets의 약자로, HTML, XHML, XML 같은 문서의 스타일을 꾸밀 때 사용하는 스타일 시트 언어이다. (개인적으로는 HTML이 What을 담당하고 CSS가 How를 담당한다고 머리에 입력했었다) 초반엔 HTML 문서를 꾸밀 때 HTML 하나로만 문서의 뼈대와 꾸밈을 같이 했으나, 수정에 어려움이 있었다고 한다. CSS는 문서의 내용(content)과 표현(presentation)을 분리하여 CSS 파일 하나만 수정하면 스타일에 해당하는 HTML 문서가 한번에 수정이 가능하기 때문에 유지보수를 훨씬 용이하게 하였다. (정보와 디자인을 분리하여 관리 가능) 2. CSS 구문 CS..
#back_to_basic 리액트를 다 안다!고 생각했던 나....반성하며 다시 처음부터!라는 마음으로 공부해보자 1. Javascript 자바스크립트는 프로토타입 기반 객체지향 스크립트 프로그래밍 언어이다 ❓프로토타입 프로토타입의 사전적인 의미는 '본래의 형태'인데, 프로그래밍에서의 개념은 "객체를 복제하면서 생성"한다는 개념으로 사용된다. 즉, 자바스크립트는 프로토타입 기반 언어이기 때문에, 복제를 통해 객체를 생성한다. 위 console이 찍힌 것을 보면, even 타입은 함수가 아닌 객체로 되어있다. 자바스크립트의 모든 객체는 prototype 객체를 가지고 있고, 이 prototype을 복제하면서 객체를 생성한다. 즉, evan은 user함수의 prototype 객체를 복제한 것이다. 그렇다면 ..
#back_to_basic 리액트를 다 안다!고 생각했던 나....반성하며 다시 처음부터!라는 마음으로 공부해보자 1. 좋은 주석 2. let vs var 그리고 Symbol() 3. Typescript에서 falsy value 처리하기 References 클린코드와 주석: https://kiwinam.com/posts/39/ts-clean-code-test/ 좋은 주석: https://leffept.tistory.com/414 let vs var 과 다른 타입들: https://velog.io/@denmark-banana/TypeScript-%EB%B3%80%EC%88%98-%EC%84%A0%EC%96%B8%EA%B3%BC-%EA%B8%B0%EB%B3%B8-%ED%83%80%EC%9E%85 블록레벨 스..