일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 호이스팅
- 자바스크립트 함수
- CSS
- 주소창에 naver 입력시 일어나는 일
- 로컬 스토리지
- 깊은 복사
- CORS
- undeclared
- props와 state 차이점
- 가상 dom
- 서버 사이드 렌더링
- 리액트의 생명 주기
- 변수 생성 단계
- 자바스크립트
- 클라이언트 사이드 렌더링
- 자바스크립트의 클래스
- 이벤트 캡처링
- 브라우저 렌더링원리
- 리액트
- MPA
- 이벤트 버블링
- react
- polyfill
- async/await
- 스코프 체인
- webpack
- 실행 컨텍스트
- 세션 스토리지
- 프로미스
- 얕은 복사
- Today
- Total
목록프론트엔드/JavaScript (23)
Gapus Dev Blog
비동기 처리 특정 작업이 완료되기를 기다리지 않고 다음 작업을 수행하는 것 여러 작업을 동시에 처리하거나 시간이 오래 걸리는 작업을 효율적으로 가능 비동기 처리 구현 방식 콜백(callback) 함수 비동기 작업이 완료됬을때 호출되는 함수로, 작업이 완료되면 함수가 실행 비동기 작업의 결과를 처리 가능 콜백 함수를 중첩해서 사용하면 코드의 가독성과 유지 보수성이 떨어질 수 있다. 예시 function fetchData(callback) { setTimeout(function() { const data = "비동기 데이터"; callback(data); }, 2000); } function processData(data) { console.log("데이터 처리: " + data); } fetchData(p..
실행 컨텍스트 코드가 실행되는 환경 변수, 함수 선언 등의 정보를 담고있는 레코드 레코드는 실행 컨텍스트 스택에 쌓이며, 현재 실행중인 컨텍스트가 무엇인지 추적한다. 코드가 실행될 때 단계적으로 생성되며, 실행 컨텍스트 스택에 쌓이고 제거된다. 스택의 가장 상단에 있는 실행 컨텍스트가 현재 실행 중인 컨텍스트이다. 함수가 호출될 때마다 새로운 실행 컨텍스트가 생성되어 스택에 추가되며, 함수 실행이 완료되면 해당 컨텍스트가 스택에서 제거된다. 구성 요소 변수 객체 해당 컨텍스트에서 선언된 변수와 함수 선언이 저장되는 공간 이 객체는 실행 컨텍스트가 생성될 때 생성되며, 변수와 함수 선언은 초기화되지만 할당은 이후에 이뤄진다. 스코프 체인 변수 객체의 리스트로, 현재 컨텍스트의 변수 및 함수를 참조할 수 있..
클로저란? 함수와 함수가 선언된 렉시컬 환경의 조합으로 함수가 선언될 당시의 스코프 체인을 기억하고, 함수가 호출될 때에도 그 스코프 체인을 참조하여 변수에 접근할 수 있게 해준다. 동작 원리 함수가 선언될 때, 해당 함수의 렉시컬 환경이 생성된다. 이 렉시컬 환경에는 함수 내부에서 선언된 변수들과 그 값을 담고 있는 스코프 체인이 포함된다. 클로저는 외부 함수의 변수에 접근할 수 있다. 이는 내부 함수가 외부 함수의 변수를 계속해서 참조할 수 있게 해준다. 함수가 반환되거나 다른 함수에 전달될 때, 클로저가 형성된다. 예시 function outerFunction() { var outerVariable = 'Outer'; return function innerFunction() { console.log..
null 의도적으로 null이라는 빈 값을 할당했을 때 생기는 타입 undefined 미정의 변수 변수를 선언하고 값을 할당하기 전의 값이며 타입이 결정되지 않은 변수 undelared 미선언 변수 변수 선언조차 되어있지 않은 상태 타입 확인 시 undefined로 확인 NaN Not a Number의 약어 표현을 못하는 수치형 결과 컴퓨터로는 표현할 수 없는 숫자값
var (은)는 변수의 동일 네임으로 재선언 가능, 재할당 가능 let (은)는 변수 재선언 불가, 재할당 가능 const (은)는 변수 재선언, 재할당 모두 불가 var (은)는 function-level scope 이다. 함수 외부에서 호출 시 에러발생 let, const (은)는 block-level scope 이다. 한 블록 내에서만 호출 가능

JS파서 중 내부적으로 끌어올려지는 JS 특징이다. 컴파일 단계에서 var, let, const, function, class의 선언을 스캔하여 레티컬 환경이라는 메모리에 저장한다. 변수 생성 단계를 거치며 변수를 생성한다. 선언(Declaration) - 스코프와 변수 객체가 생성되고, 스코프가 변수 객체를 참조한다. 초기화 전까지는 TDZ(Temporal Dead Zone) 상태이다. TDZ란? 초기화 전 메모리에 할당되지 않는 구간을 말하며, 참조 에러(ReferenceError)가 발생한다. 초기화(Initialization): 변수 객체 값을 위한 공간을 메모리에 할당한다. 이 때 할당되는 값은 undefined다. 할당(Assignment): 변수 객체에 값을 할당한다. var은 선언과 동시에..