2021.01.26 TIL <Scope>

최영노·2021년 1월 26일
0

원시타입, 참조타입 데이터

원시타입 (primitive) 데이터는 고정된 저장공간을 차지한다.

  • number,string,boolean 등등..

참조타입(reference) 는 데이터 공간이 유동적이다.

  • 배열, 객체, 함수 등등..

원시 자료형이 할당 될 때에는 변수에 값 (value) 자체가 담긴다.

참조 자료형이 할당 될 때에는 변수에 보관함의 주소 (reference) 가 담긴다.

(여기서 주소 (reference) 란, 동적으로 크기가 변할 수 있는 공간이다)

let 과 const 의 차이

  • let

let word = 'abc'
word = 'def'

// let 으로 선언한 변수는 변수의 내용을 변경할 수 있다!
  • const

const word = 123
word = 456 (X)

// const 로 선언한 변수는 내용을 변경 할 수 없다! 456으로 변경되지 않는다!

Scope (유효 범위)

  • 예시
let example = 'Hello'

function A(){
  let firstName = 'Josh'
  return example + firstName
}

example() // ---> 'HelloJosh'
firstName // ---> ReferenceError
  1. 여기서 LocalScope (지역변수) 는 functionA 부터 function 중괄호가 종료되는 곳 까지이다.

  2. 여기서 GlobalScope (전역변수) 는 코딩 전체의 범위이다.

  • 알아야 할 점!

  1. LocalScopeGlobalScope 에서 참조 할 수 없다!

  2. LocalScopeGlobalScope 보다 더 우선운위를 가진다!

  3. 자바스크립트는 기본적으로 함수 (function) 가 선언되면 함수 (function) 가 자신만의 범위를 가진다!

profile
개발자를 꿈꾸는 한 사람

0개의 댓글