21. 빌트인 객체

자바스크립트 객체 : 표준빌트인, 호스트, 사용자 정의

  1. 표준빌트인 객체: ECMAScript에 정의된 객체. 전역객체의 프로퍼티로 제공, 별도의 선언 없이 전역변수처럼 언제나 참고가능
    → Object, String, Number, Boolean, Date, Math, RegExp, Array, Map/Set , WeakMap/WeakSet, Function, Promise, Proxy, JSON, Error등 40여개
    Math, Reflect, JSON(정적메서드 제공) 이외의 표준 빌트인 객체는 생성자함수객체, 인스턴스 생성가능, 프로토타입메서드 정적 메서드 제공.

  2. 호스트 객체 : ECMAScript에는 정의디어있지 않으나 자바스크립트 실행환경에서 추가로 제공하는 객체 ex 브라우저 환경에서는 DOM, BOM, Canvas, XMLttpRequest, fetcj, requestAnimationFrame, SVG, Web Storage, Web Component, Web Worker ..같이 클라이언트 사이드 Web API를 호스트 객체로 제공. node.js에서는 Node.js 고유의 API를 호스트 객체로 제공

  3. 사용자정의 : 사용자가 직접 정의한 객체
    원시값(문자열, 숫자, 불리언, 심벌)에 마침표표기법/ 대괄호 표기법시, JS 엔진이 일시적으로 객체로 변환
    ->wrapper Object(객체처럼 접근하면 생성되는 임시객체) 생성해 생성된 객체로 프로퍼티 접근/ 메서드 호출
    -> 원시값으로 되돌림.
    이때, null,undefined는 객체 사용불가(에러 발생)

전역객체

코드 실행 전 자바스크립트 엔진에 의해 먼저 생성되고 어떤 객체에도 속하지 않은최상위 객체.
브라우저 환경 : window,self,this.frame
Node.js 환경 : global

전역객체는 표준빌트인 객체와 호스트 객체. var로 선언한 전역변수, 전역 함수를 프로퍼티로 갖음

전역객체는 어떤 객체의 프로퍼티도 아니고, 객체 계층적 구조상 표준빌트인 객체와 호스트 객체를 프로퍼티로 소유

특징

  • 개발자가 의도적 생성불가능, 전역 객체 프로퍼티 참조시 window (global)생략 o

  • 브라우저환경의 모든 자바스크립트 코드는 하나의 전역객체 window 공유함.

  • 빌트인 전역 프로퍼티 : 전역 객체의 프로퍼티 . 애플리케이션 전역에서 사용
    Infinity , Nan, undefined

  • 빌트인 전역 함수 : 애플리케이션 전역에서 호출할수 있음. 전역 객체의 메서드

  • eval : 자바스크립트 나타내는 문자열을 인수로 전달 받음. 표현식을 인수로 받으면, eval 함수는 런타임에 평가하고 문 이라면 런타임에 실행


*객체, 함수 리터럴은 () 로 묶어줘야함

eval 함수는 보안에 취약하고 느려서 eval로 입력받아 실행하는 것 비추
isFinite 절달받은 인수가 유한수인지 검사

@param {number} testValue 
@returns {boolean}
isFinite(testValue)

isNaN 전달 받은 인수가 NaN인지 검사개 불리언 타입으로 반환. 숫자가 아닐떄 숫자로 변환후 검사 수행

parseFloat 전달받은 문자열 인수를 부동 소수점 숫자, 실수로 해석해 반환함

parseInt(값, 진수)


숫자를 8진수 16진수로 바꾸고싶을떄 toString(진수) 쓰면됨

encodeURI/ decodeURI 문자열로 전달받아 이스케이프 처리를 위해 인코딩한다. URI : 인터넷에있는 자원을 나타내는 유일한 주소 하위개념으로 URL, URN있음

인코딩하는것 URI문자들을 이스케이프처리

encodeURIComponent/ decodeURIComponent

쿼리 스트링 구분자로 사용되는 = ? & 까지 인코딩함텍스트

좋은 웹페이지 즐겨찾기