변수나 데이터에 할당 할 수 있어야 한다.
파라미터로 넘길 수 있어야 한다.
반환 값(return value)으로 사용할 수 있다.
할당에 사용된 이름과 관계없이 고유한 구별이 가능하다.
동적으로 프로퍼티 할당이 가능하다.
JS는 변수 선언과 함수 선언을 위로 끌어 올린다.
코드 전반에 걸쳐 선언된 부분을 위로 끌어 올리는 작업을 호이스팅이라 한다.
크게 Primitive Type과 Reference Type이 있다.
2가지의 가장 큰 차이점은 다음과 같다.