자바스크립트 객체는 다음과 같이 크게 3개의 객체로 분류 할 수 있다.

표준 빌트인 객체

JS는 String, Number, Boolean, Function, Array , Date 등등 40여개의 표준 빌트인 객체를 제공한다.

const date = new Date(); // Fri May 08 2020 10:43:25
console.log(typeof date); // object
  1. 표준 빌트인 객체의 prototype 프로퍼티에 바인딩된 객체(String.prototype)은 다양한 빌트인 프로토타입 메서드를 제공함.

스크린샷 2022-09-22 오후 11.43.10.png

  1. 표준 빌트인 객체(Number, String…)은 인스턴스 없이 정적으로 호출 가능한 정적 메서드 제공

스크린샷 2022-09-22 오후 11.42.30.png

원시값과 래퍼 객체(===임시 객체)

원시값은 객체가 아니므로 프로퍼티나 메서드를 가질 수 없는데도 원시값인 문자열이 마치 객체처럼 동작한다.

<aside> ♻️ 🤔 말이되??????? 원시값인데…… 객체도아니고 메서드를 어케 가지고있누……

</aside>

const str = 'hello';

// 원시 타입인 문자열이 프로퍼티와 메서드를 갖고 있는 객체처럼 동작한다.🤔
console.log(str.length); // 5
console.log(str.toUpperCase()); // HELLO

문자열, 숫자, 불리언 값의 경우 이들 원시값에 대해 마치 객체처럼 마침표 표기법으로 접근하면,

<aside> ♻️ 이유 : **자바스크립트 엔진이 일시적으로 원시값을 연관된 객체로 변환 해준다.

그 객체 가 Wrapper 객체이다. (그 임시 객체)**

</aside>