스터디/모던 자바스크립트 Deep Dive(24.02-24.06)

21장. 빌트인 객체

minseokiim 2024. 4. 16. 18:00

1. 자바스크립트 객체 분류
- 표준 빌트인 객체 : ECMA Script 사양에 정의된 객체, 애플리케이션 전역의 공통 기능 제공. 실행환경과 관계없이, 별도의 선언 없이 사용 가능.
- 호스트 객체 : ECMA Script 사양에 정의되지는 않았지만, 실행환경에서 추가로 제공되는 객체 (클라이언트 사이드 web API / Node.js 고유 API)
- 사용자 정의 객체
 
 
 
2. 래퍼 객체
원시값은 객체가 아니므로 프로퍼티나 메서드를 가질 수 없는데, 원시값이 마치 객체처럼 동작함
* 이유 :  원시 값인 문자열, 숫자, 불리언 값의 경우 객체처럼 마침표 표기법으로 접근하면, 자바스크립트 엔진이 일시적으로 원시값을 연관된 객체로 변환해주기 때문, 
원시값을 객체처럼 사용하면, 자바스크립트 엔진은 암묵적으로 연관된 객체를 생성하여 생성된 객체로 프로퍼티에 접근하거나 메서드를 호출하고 다시 원시값으로 되돌림
이 처럼 문자열, 숫자, 불리언 값에 대해 객체처럼 접근하면 생성되는 임시객체가 래퍼객체!
 
 
 
3. 전역 객체
어떤 객체에도 속하지 않는 최상위 객체로, 자바스크립트 엔진에 의해 어떤 객체보다도 먼저 생성되는 특수한 객체
표준 빌트인 객체와 환경에 따른 호스트 객체, var 키워드로 선언한 전역 변수/함수를 프로퍼티로 가짐
 
특징 : 개발자가 의도적으로 생성 할 수 없고, 전역 객체의 프로퍼티를 참조할 때 window/global 생략 가능
(+ let/const 키워드로 선언한 전역 변수는 전역 객체의 프로퍼티가 아님, 전역 렉시컬 환경의 선언적 환경 레코드 내에 존재)
 
- 빌트인 전역 프로퍼티 : Infinity, NaN, undefined
- 빌트인 전역 함수 : eval, isFinite, isNaN, parseFloat, parseInt, encodeURI/ decodeURI ...
 
 
 
4. 암묵적 전역
선언하지 않은 식별자에 값을 할당하면, 전역 변수처럼 동작하는데 변수가 아니라 전역 객체의 프로퍼티로 추가된 것
ex) y=10을 window.y=10 으로 해석

'스터디 > 모던 자바스크립트 Deep Dive(24.02-24.06)' 카테고리의 다른 글

23장. 실행 컨텍스트  (0) 2024.04.24
22장. this 키워드  (0) 2024.04.24
19장. 프로토타입  (0) 2024.04.16
20장. strict mode  (0) 2024.04.08
18장. 함수와 일급 객체  (0) 2024.04.08