728x90
전역 객체(global object)
전역 객체란 자바스크립트에 미리 정의된 객체로 전역 프로퍼티나 전역 함수를 담는 공간의 역할을 한다.
전역 객체 그 자체는 전역 범위(global scope)에서 this 연산자를 통해 접근할 수 있다.
자바스크립트에서 모든 객체는 전역 객체의 프로퍼티가 된다.
웹 브라우저가 새로운 페이지를 로드(load)하면, 자바스크립트는 새로운 전역 개체를 만들고 해당 프로퍼티들을 초기화한다.
래퍼 객체(wrapper object)
var str = "문자열"; // 문자열 생성
var len = str.length; // 문자열 프로퍼티인 length 사용
위의 예제에서 생성한 문자열 리터럴 str은 객체가 아닌데도 length 프로퍼티를 사용할 수 있다.
프로그램이 문자열 리터럴 str의 프로퍼티를 참조하려고 하면, 자바스크립트는 new String(str)을 호출한 것처럼 문자열 리터럴을 객체로 자동 변환해주기 때문이다.
이렇게 생성된 임시 객체는 String 객체의 메소드를 상속받아 프로퍼티를 참조하는 데 사용된다.
이후 프로퍼티의 참조가 끝나면 사용된 임시 객체는 자동으로 삭제된다.
이렇게 숫자, 문자열, 불리언 등 원시 타입의 프로퍼티에 접근하려고 할 때 생성되는 임시 객체를 래퍼 객체(wrapper object)라고 한다.
var str = "문자열"; // 문자열 리터럴 생성
var strObj = new String(str); // 문자열 객체 생성
document.write(str.length + "<br>"); // 리터럴 값은 내부적으로 래퍼 객체를 생성한 후에 length 프로퍼티를 참조함.
document.write((str == strObj) + "<br>"); // 동등 연산자는 리터럴 값과 해당 래퍼 객체를 동일하게 봄.
document.write((str === strObj) + "<br>"); // 일치 연산자는 리터럴 값과 해당 래퍼 객체를 구별함.
document.write(typeof str + "<br>"); // string 타입
document.write(typeof strObj + "<br>"); // object 타입
실행 결과
3
true
false
string
object
표준 객체(Standard Object)
자바스크립트에서 표준 객체(standard object)는 다른 객체의 기초가 되는 핵심적인 객체다.
자주 사용되는 대표적인 자바스크립트 표준 객체는 다음과 같다.
- Number 객체
- Math 객체
- Date 객체
- String 객체
- Array 객체
'Language > JavaScript' 카테고리의 다른 글
[JavaScript] Number 메소드 (0) | 2022.07.02 |
---|---|
[JavaScript] Number 객체 (0) | 2022.07.01 |
[JavaScript] 객체 프로퍼티와 메소드 (0) | 2022.07.01 |
[JavaScript] 객체 다루기 (0) | 2022.07.01 |
[JavaScript] 프로토타입 (0) | 2022.07.01 |