자바스크립트 객체는 크게 3개의 객체로 분류할 수 있음
- 표준 빌트인 객체
- ECMAScript 사양에 정의된 객체를 말하며, 애플리케이션 전역의 공통 기능을 제공
- 전역 객체의 프로퍼티로서 제공되어, 별도의 선언 없이 전역 변수처럼 언제나 참조할 수 있음
- 호스트 객체
- ECMAScript 사양에 정의되어 있지 않지만 자바스크립트 실행 환경(브라우저 환경 또는 Node.js환경)에서 추가로 제공하는 객체
- 브라우저 환경에서는 클라이언트 사이즈 Web API를 호스트 객체로 제공하고, Node.js환경에서는 Node.js 고유의 API를 호스트 객체로 제공
- 사용자 정의 객체
- 사용자가 직접 정의한 객체를 뜻함
자바스크립트는 0bject, String, Number, Boolean, Symbol, Date, Math, RegEXp, Array, Map/Set, Weaknap/Weakset, Function, Promise, Reflect, Proxy, JSON, Error 등 40 여 개의 표준 빌트인 객체를 제공
- Math, Reflect, JSON을 제외한 표준 빌트인 객체는 모두 인스턴스를 생성할 수 있는 생성자 함수 객체
- String, Number, Boolean, Function, Array, Date 는 생성자 함수로 호출하여 인스턴스를 생성할 수 있음
- 생성자 함수 객체인 표준 빌트인 객체는
프로토타입 메서드
와정적 메서드
를 제공하고 생성자 함수 객체가 아닌 표준 빌트인 객체는정적 메서드
만 제공
- 예시
// Number 생성자 함수에 의한 Number 객체 생성 const numObj = new Number(1.5); // Number {1.5} // toFixed 는 Number•prototype의 프로토타입 메서드다. // Number.prototype. torixed는 소수점 자리를 반올림하여 문자열로 반환한다. console.log(numObj.toFixed()); // 2 // isinteger는 Number 의 정적 메서드다. // Number.isInteger는 인수가 정수 (integer)인지 검사하여 그 결과를 Boolean 으로 반환한다. console.log(Number.isInteger(0.5)); // false
const str = 'hello';
// 원시 타입인 문자열이 래퍼 객체인 String 인스턴스로 변환된다.
console. log(str.length); // 5
console.log(str.toUpperCase()); // HELLO
// 래퍼 객체로 프로퍼티에 접근하거나 메서드를 호출한 후, 다시 원시값으로 되돌린다.
console.log(typeof str); // string
eval 함수
isFinite 함수
parseFloat 함수
/**
*
* 전달받은 문자열 인수를 실수로 해석하여 반환한다.
*@param {string} string - 변환 대상 값
*@returns {number} 변환 결과
*/
parseFloat(string)
/**
*
* 전달받은 문자열 인수를 정수로 해석하여 반환한다.
* @param {string} string - 변환 대상 값
* @param {number} [radix] - 진법을 나타내는 기수 (2~ 36, 기본값 10)
* @ returns {number} 변환 결과
*/
parseInt(string, radix);
/**
*
*완전한 URI를 문자열로 전달받아 이스케이프 처리를 위해 인코딩한다.
*@param {string} uri- 완전한 URI
*@returns tstring} 인코딩된 URI
*/
encodeURI(uri)
// 완전한 URI
const uri = 'http://example.com?name=0|&9&job=programmer&teacher';
// encodeURI 함수는 완전한 URI 를 전달받아 이스케이프 처리를 위해 인코딩한다.
const enc = encodeURI(uri);
console.log(enc);
// http://example.com?name=%EC%9D%B4%EC%9B%85%EBXAA%A8&job=programmer&teacher
URI 문법 형식 표준에 따르면 URL은 아스키 문자 셋으로만 구성되어야 하며, 한글을 포함한 대부분의 외국어나 아스키 문자 셋에 정의되지 않은 특수 문자의 경우 URL에 포함될 수 없음 ➡️ 이스케이프 처리 필요!