본문 바로가기

FE21

[Modern Javascript Deep Dive] #5 표현식과 문 들어가기 앞서, 본 포스팅에서 언급되는 값, 표현식, 평가, 문 등의 용어를 제대로 이해한다면 자바스크립트 엔진 입장에서 생각할 수 있고 실행결과를 쉽게 예측할 수 있다. 이 용어들을 잘 구분하고 이해해보자. 5.1 값 값(value): 표현식(expression)이 평가(evaluate)되어 생성된 결과. 모든 값은 데이터 타입을 가진다. 평가: 식을 해석해서 값을 생성하거나 참조하는 것 10+20; 위 표현식은 평가되어 값 30을 가진다. 변수는 '값을 저장하기 위한' 메모리 공간(또는 메모리 공간을 식별하기 위한 이름)이라 했다. 여기서 변수에는 값이 할당된다는 것을 알 수 있다. 10+20이라는 표현식이 할당되기 전에 이것이 평가된 값인 30이 할당되어야 한다는 뜻이다. 5.2 리터럴 리터럴(li.. 2024. 2. 5.
[Modern Javascript Deep Dive] #4 변수 4.1 변수란 무엇인가? 10+20이라는 간단한 식이 있다. 사람이 이를 계산하기 위해서는 10, 20, +라는 정보들을 기억하고 해석할 수 있어야 한다. 컴퓨터도 마찬가지다. 식에서 제공된 세 정보(10, 20, +)를 알고 있어야 하고 10+20을 해석할 수 있어야 한다. 컴퓨터는 CPU로 계산하고 메모리로 기억한다. 메모리는 데이터를 저장하는 셀의 집합이다. 셀 하나는 1byte이고, 컴퓨터는 셀 단위로 데이터를 읽고 쓴다. 메모리의 셀들은 메모리 주소값을 가진다. 셀이 메모리 공간의 어디에 위치하는지 나타내는 값이다. 메모리 주소값은 0부터 메모리 크기만큼의 정수로 표현된다. 이때, 메모리에 저장되는 모든 데이터는 2진수로 저장된다. 10+20을 성공적으로 연산하면 30이라는 값이 메모리에 저장된.. 2024. 2. 5.
[React Official Document] #6 Updating object on state 리액트의 상태로는 다양한 타입이 할당될 수 있다. 우리는 숫자, 문자열, 불리언 등의 값들을 사용했는데, 객체 또한 상태가 될 수 있다. 하지만, 우리는 불변성을 유지하기 위해 객체를 바꿔서는 안된다. 객체를 바꾸는 것 대신, 새로운 객체를 만들어서 기존 객체와 교체해야한다. 내부의 값을 바꾸는게 아니라, 객체 자체를 교체한다는 뜻이다. 이 문서에서는 객체인 상태를 업데이트, 중첩된 객체 업데이트, 불변성, Immer를 활용하여 간단하게 객체 상태를 업데이트 하는 방법을 배울 것이다. Mutation(변경)이란? 숫자, 문자열, 불리언, 객체 등 모든 자바스크립트 타입은 객체가 될 수 있다. 여기서 숫자, 문자열, 불리언 등은 불변적인 값인데, 변할 수 없고 read-only인 것으로 받아들여도 된다. .. 2023. 10. 4.
[TypeScript] #1 Setting 대부분의 현업 프로젝트에서는 ts 사용을 거의 필수적으로 하고있다. 왜 그럴까? 안정성을 위해서다. js와는 다르게 타입이 추가된 것이 ts이다. 타입체크를 통해 더욱 안정적인 개발을 할 수 있게 해준다. 게다가 js를 알고있으면 ts에 대한 러닝커브도 그렇게 크지 않다고 하니 배우지 않을 이유가 없었다. 인프런에서 조현영님의 [타입스크립트 올인원 part1] 강의를 수강하며 이곳에 기록한다. 목표 본 강의의 최종 목표는 axios, react와 같은 js기반 라이브러리들의 타입을 스스로 분석할 수 있게 되는 것이다. 이를 통해 처음 마주하는 라이브러리를 분석하고 더 용이하게 사용할 수 있을 것이다. 배경지식 가장 중요한 것은 ts는 js로 변환된다는 사실이다. 애초에 ts는 실행이 안된다(유일하게 de.. 2023. 9. 28.