TIL(2021.01.26)

한국·2021년 1월 31일
0

TIL

목록 보기
7/33
post-thumbnail

Primitive type (원시 자료형)

  • string , number , Boolean , null , undefined , symbol 이 있다.
  • 하나의 정보만을 가지고 있다.
  • Primitive type은 변수에 할당될 때 메모리 상에 고정된 크기로 저장되며 해당 변수자체에 데이터의 값을 보관한다.
  • 원시 타입의 데이터는 각 변수간에 원시타입 데이터를 복사하게 될 경우 데이터의 값 자체가 복사되기 때문에 기존의 데이터에 영향이 가지 않는다.

Reference type (참조 자료형)

  • array (배열) , object(객체), function (함수) 가 있다.
  • 변수 안에 값 대신 주소 를 넣고 그 주소는 heap 이라는 공간안에 들어가게 된다. 해당 주소지에 값들을 줄줄이 연결 하고 값을 찾을 경우엔 heap에서 값을 찾아오게 된다. 참조된 주소에서 값을 가져오는 것이기 때문에 참조 자료형이라 부른다.
  • 동적으로 크기를 변하게 할 수 있다.
  • 참조 타입의 경우 주소를 복사하기 때문에 복사한 데이터에서 element (원소) 를 복사 하게 된다면 주소 안의 데이터가 변경이 되기 때문에 기존의 데이터에 영향이 간다.

Scope (스코프)

  • 변수에 접근 규칙에 따른 유효 범위
  • 변수는 어떠한 환경 내에서만 사용이 가능하다.
  • 중첩이 가능하다 ( 스코프안에 스코프를 넣을 수 있다.)
  • Global 스코프는 최상단의 스코프 이며 global 스코프 내에 있는 변수를 전역변수라 부른다.
  • 전역변수는 어디서든 접근이 가능하다.
  • 지역 변수의 경우 전역변수보다 높은 우선순위를 가진다.
  • 각 프로그래밍 언어마다 접근 규칙이 다르다. 여기서 말하는 스코프는 자바스크립트의 규칙이다.
  • 안쪽 스코프 에서 바깥의 스코프의 함수/변수에 접근은 가능하다.
  • 반대로 바깥의 스코프에서 안쪽 스코프의 함수/변수에는 접근이 불가능하다.
  • 전역 스코프(global scope)와 지역 스코프(local scope)로 나뉜다.
  • 자바스크립트는 함수를 선언하게 될경우(lexical) 자신만의 영역(function scope)를 갖는다.
  • local scope 안에서 선언된 변수는 바깥에서 사용 할 수 없다.

Closure (클로저)

  • 함수와 함수가 선언된 어휘적(lexical) 환경의 조합
profile
소통하는 개발자를 꿈꾸는

0개의 댓글