원시타입, 참조타입 데이터
원시타입 (primitive) 데이터는 고정된 저장공간을 차지한다.
number,string,boolean
등등..참조타입(reference) 는 데이터 공간이 유동적이다.
배열, 객체, 함수
등등..원시 자료형이 할당 될 때에는 변수에 값 (value)
자체가 담긴다.
참조 자료형이 할당 될 때에는 변수에 보관함의 주소 (reference)
가 담긴다.
(여기서 주소 (reference)
란, 동적으로 크기가 변할 수 있는 공간이다)
let 과 const 의 차이
let word = 'abc'
word = 'def'
// let 으로 선언한 변수는 변수의 내용을 변경할 수 있다!
const word = 123
word = 456 (X)
// const 로 선언한 변수는 내용을 변경 할 수 없다! 456으로 변경되지 않는다!
Scope (유효 범위)
let example = 'Hello'
function A(){
let firstName = 'Josh'
return example + firstName
}
example() // ---> 'HelloJosh'
firstName // ---> ReferenceError
여기서 LocalScope (지역변수)
는 functionA 부터 function 중괄호가 종료되는 곳 까지이다.
여기서 GlobalScope (전역변수)
는 코딩 전체의 범위이다.
LocalScope
는 GlobalScope
에서 참조 할 수 없다!
LocalScope
가 GlobalScope
보다 더 우선운위를 가진다!
자바스크립트는 기본적으로 함수 (function)
가 선언되면 함수 (function)
가 자신만의 범위를 가진다!