[Javascript] JS Flow (1)

SOLEE_DEV·2021년 1월 2일
0

Javascript

목록 보기
1/19
post-thumbnail

Core JavaScript 강의를 기준으로 정리하는 자바스크립트 문법 공부!
(자세한 내용은 책과 강의를 참고하세욥🙌)

DATA TYPES

  • Primitive Type (기본형)
    Number, String, Boolean, null, undefined

  • Reference Type (참조형)
    Object (Array, Function RegExp)

기본형과 참조형을 구분하는 이유?

  • 기본형 : 만들어진 데이터를 계속 재사용함 (똑같은 값은 오직 하나의 메모리만 차지)
  • 참조형 : 데이터를 묶음으로 처리하기 위해 기존 Primitive 타입과 비교했을 때 데이터 저장을 위해 한 단계를 더 거쳐야 함

cf) 헷갈렸던 부분 (증감 연산 프로세스가 실행되면 기본형 데이터가 값이 변화하는지?)

1. 우선 값을 증가시킨 다음, 해당 값이 저장된 메모리가 있는지 여부를 먼저 찾음
2. 있다면 해당 메모리 주소를 참조
3. 없다면 새로운 값을 저장해서 그 메모리 주소를 참조
 == 즉, 메모리에 한번 저장된 '기본형 데이터'는 사라지지 않는 한 영원히 변하지 않음

Execution Context

함수를 실행할 때 필요한 환경정보(를 담은 객체)
코드 흐름상의 배경이 되는 조건 / 환경
동일한 조건 / 환경을 지니는 코드 뭉치를 실행할 때 필요한 조건, 환경 정보

cf) Context의 사전적 의미
맥락, 문맥 (특정 건축물에 관계하는 역사적,문화적, 지리적인 배경이 되는 조건!)

Execution 예제

  • Execution (동일한 조건 / 환경을 지니는 코드 뭉치 == function or 전역공간)
var a = 1;
function outer() {
	console.log(a); // 1

	function inner() {
		console.log(a); // 2
		var a = 3;
	}
	inner();
	console.log(a); // 3
}
outer();
console.log(a); // 4

Call Stack

현재 어떤 함수가 동작하고 있는지, 다음에 어떤 함수가 호출되어야 하는지 등을 제어하는 자료 구조

profile
Front-End Developer

0개의 댓글