-
<TIL> 220106 스택, 스코프, 훅스클래스/└ TIL 2022. 1. 6. 20:06728x90
🌱
{ 자료구조 }
스택
후입선출 방식(LIFO 구조)의 자료구조입니다.
스택은 push, pop, peek 연산을 포합합니다.
프로그램상에서 작성하는 연산문은 컴파일러에 의해 후위 표기법으로 바뀌어 처리가 됩니다.
큐
선입선출 방식(FIFO 구조)의 자료구조입니다.
큐는 enqueue, dequeue 연산을 포함합니다.
덱
deque은 double-ended queue의 줄임말입니다.
덱은 앞 또는 뒤로 자료를 넣을 수 있고, 앞 또는 뒤로 자료를 뺄 수도 있는 자료구조입니다.
{ 자바스크립트 }
13장: 스코프
매개변수를 참조할 수 있는 유효범위를 매개변수의 스코프라고 합니다.
스코프는 식별자를 검색할 때 사용하는 규칙이라고 생각할 수 있습니다.
자바스크립트 엔진은 참조할 식별자를 검색할 때 스코프 체인을 활용합니다.
스코프에는 전역 스코프, 지역 스코프가 있습니다.
함수를 "어디서" 정의했는지에 따라 함수의 상위 스코프를 결정하는 방식을 렉시컬 스코프 또는 정적 스코프라고 합니다.
14장: 전역 변수의 문제점
호이스팅은 스코프를 단위로 동작합니다.
전역 변수는 생명 주기가 깁니다. 따라서 메모리 리소스를 오랜 기간 소비하고 전역 변수의 상태가 변경될 수 있는 기회가 많습니다.
전역 변수는 스코프 체인 상에서 종점에 존재하기 때문에, 변수 중 검색 속도가 가장 느립니다.
15장: let, const 키워드와 블록 레벨 스코프
let 키워드는 변수의 중복 선언이 금지되어 있으며, 블록 레벨 스코프를 따릅니다.
let 키워드로 선언한 변수를 초기화 전에 참조하면 참조에러가 발생하며, 이 구간을 일시적 사각지대라고 합니다.
let 전역 변수는 전역 객체의 프로퍼티가 아닙니다. 다만, 전역 렉시컬 환경의 선언적 환경 레코드 내에 존재합니다.
const 키워드는 상수를 선언하기 위해 사용하며, 선언과 동시에 초기화해야 합니다.
const 키워드는 재할당을 금지할 뿐, 불변을 의미하는 것은 아닙니다.
변수 선언은 const 키워드로 하고, let 키워드는 재할당이 필요한 경우에만 사용합니다.
{ 리액트 }
리액트 상태 관리
컴포넌트 트리의 상태가 바뀌면 프로퍼티도 바뀝니다.
상태를 리액트 컴포넌트에 추가하고 싶을 때 useState 훅을 사용합니다.
순수 컴포넌트는 상태가 없기 때문에 같은 프롭에 대해 같은 사용자 인터페이스를 렌더링해줍니다.
리액트에서 참조는 컴포넌트의 생명주기 값을 저장하는 객체입니다.
콘텍스트 프로바이더를 활용하면, 데이터를 콘텍스트에 실어서 공유할 수 있습니다.
훅스로 컴포넌트 개선하기
useEffect는 렌더링이 끝난 다음 실행되는 함수입니다.
useLayoutEffect를 활용하면 화면을 그리기 전에 필요한 정보를 얻을 수 있습니다.
리액트 함수의 최상위 수준에서만 훅을 사용해야 합니다.
리듀서 함수는 현재 상태를 받아서 새 상태를 반환하는 함수입니다.
📌
윤성우의 열혈 자료구조 / 윤성우 지음 / 오렌지미디어
모던 자바스크립트 Deep Dive / 이웅모 지음 / 위키북스
러닝 리액트 / 알렉스 뱅크스, 이브 포셀로 지음 / 오현석 옮김 / 한빛미디어
728x90'클래스 > └ TIL' 카테고리의 다른 글
<TIL> 220108 탐색, 함수 객체 (0) 2022.01.08 <TIL> 220107 이진트리, 프로퍼티 어트리뷰트, 생성자 함수 (0) 2022.01.07 <TIL> 220105 연결 리스트, 함수, 컴포넌트 (0) 2022.01.05 <TIL> 220104 리스트, 객체 리터럴, 함수형 프로그래밍 (0) 2022.01.04 <TIL> 220101 캐시, 주기억장치 (0) 2022.01.01