전역 객체와 래퍼 객체

2023. 1. 4. 12:48Javascript/TCP school

전역 객체(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); // 문자열 객체 생성
str.length;                   // 리터럴 값은 내부적으로 래퍼 객체를 생성한 후에 length 프로퍼티를 참조함.
str == strObj;                // 동등 연산자는 리터럴 값과 해당 래퍼 객체를 동일하게 봄.

str === strObj;               // 일치 연산자는 리터럴 값과 해당 래퍼 객체를 구별함.
typeof str;                   // string 타입
typeof strObj;                // object 타입

코딩연습 ▶


표준 객체(Standard Object)

다른 객체의 기초가 되는 핵심적인 객체

1. Number 객체

2. Math 객체

3. Date 객체

4. String 객체

5. Array 객체


참고

http://www.tcpschool.com/javascript/js_standard_object

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

 

'Javascript > TCP school' 카테고리의 다른 글

Number 메소드  (1) 2023.01.05
Number 객체  (0) 2023.01.05
객체 프로퍼티와 메소드  (0) 2023.01.04
객체 다루기  (0) 2023.01.03
객체의 생성  (0) 2023.01.03