스택에 값을 저장
스택과 힙을 연결 -> 자료형의 크기를 늘릴 수 있기에 속성과 메소드 가질 수 있다.
const a = 10
a.속성 = 15
a.속성 -> undefined
const a = []
a.속성 = 10
a.속성 -> 10
const b = function () {}
b.속성 = 15
b.속성 -> 15
const a = []
typeof(a) -> "object"
배열인지 확인하려면 다른 메소드를 사용해야한다
Array.isArray(a) -> true
Array.isArray(10) -> false
함수는 그냥 typeof로 확인이 가능하다
const b = function () {}
typeof(b) -> "function"
이렇게 함수처럼 객체가 아닌거같은데 객체로 다뤄질 때 이것을
일급 객체(first-class object) 라고한다
자료형 변환에서 다룬 Number(), String(), Boolean() 앞에 new를 붙인다
const a = new Number(1)
const b = new String('부기')
const c = new Boolean(true)
const d = 1
typeof(a) -> "object"
typeof(b) -> "object"
typeof(c) -> "object"
a.속성 = 10
a.속성 -> 10
d.length -> 1
d는 기본 자료형인데 어떻게 메소드를 사용할 수 있지??
자바스크립트는 코드를 편리하게 작성할 수 있게 기본 자료형 뒤에 .을 찍는 순간
일시적으로 객체로 승급시킨다