TIL 13일차

HyeRyun CHOI·2021년 5월 29일
0

Bootcamp TIL

목록 보기
13/29

원시자료형 & 참조자료형

주소타입(reference type)데이터 : 공간을 사용하는 데이터 타입 -> 배열, 객체, 함수등이 해당

원시타입 데이터 : 변수에 한나의 데이트를 저장해 호출시 해당 값이 호출되는 데이터 -> string, number, boolean, null, undefined 등이 해당

참조타입 데이터 : 변수에 값대신 주소를 저장하고 값은 'heap'에서 보관하고 주소가 힙과 연결, 값을 찾을 땐 주소를 보고 힙에서 반환

원시자료형과 참조자료형의 특징
• 원시자료형이 할당될 때에는 변수에 값 자체가 담기고, 참조자료형이 할당 될때는 보관함의 주소가 담김
• 참조자료형은 기존에 고정된 크기의 보관함이 아닌 동적으로 크기가 변하는 특별한 보관함을 사용할 수 있음

스코프
스코프 : 변수 접근 규칙에 따른 유효 범위

스코프 규칙 :
1. 안쪽 스코프에서 바깥쪽 스코프로는 접근가능, 바깥쪽 스코프에서 안쪽 스코프로는 접근불가
2. 스코프 중첩 가능
3. 지역변수는 전역변수보다 더 높은 우선순위를 가짐

블록스코프(block scope) : 중괄호 기준으로 범위가 구분
함수스코프(function scope) : function키워드가 등장하는 함수선언식 및 함수표현식은 함수스코프를 만듬
※ 화살표함수는 블록스코프로 취급(함수스코프 X)

var선언과 let선언
var키워드로 정의한 변수는 블록스코프를 무시하고 함수스코프만 따름
let키워드는 재선언 방지(var는 버그가 있어 주의요망)

letconstvar
유효범위블록스코프 및 함수스코프블록스코프 및 함수스코프함수스코프
값 재할당가능불가능가능
재선언불가능불가능가능

전역변수 : 가장 바깥 스코프에 정의한 변수(어디서든 접근 가능)
전역변수는 편리하지만 다른 함수 혹은 로직에서 의도되지 않은 side effect가 발생할 수 있음

클로저
클로저 : 외부함수의 변수에 접근할 수 있는 내부함수
클로저 함수의 특징 :
1. 함수를 리턴하는 함수가 클로저의 형태를 만듬
2. 변수 및 함수 선언의 형태
3. 내부함수는 외부함수에 선언된 변수에 접근 가능

클로저 함수의 장점 :
1. 데이터를 보존하는 함수 : 외부함수의 실행이 끝나더라도 외부함수 내 변수를 사용할 수 있음
2. 정보의 접근 제한(캡슐화)
3. 모듈화에 유리, 함수의 재사용성을 극대화, 함수 하나를 완전히 독립적인 부품의 형태로 분리하는 것

여담 : 어려워! 어려워! 근데 이해하면 괜찮은거 같기도..?(이해를 도와주신 크루님 감사합니다 (˘・ᴗ・˘)

profile
(˘・ᴗ・˘)

0개의 댓글