원시값의 메서드

345·2023년 2월 7일

모던 JavaScript

목록 보기
6/23

✅ 원시값을 객체처럼

원시형 자료의 종류는 문자(string), 숫자(number), bigint, 불린(boolean), 심볼(symbol), null, undefined 형으로 총 일곱 가지 입니다.
객체는 대괄호 { } 를 이용해 만들며 함수를 프로퍼티로 저장한 메서드를 가집니다.

자바스크립트에서는 원시형 자료도 객체처럼 메서드를 가질 수 있습니다.

래퍼 객체

원시값을 객체처럼 사용하기 위해 래퍼 객체 를 이용합니다.
원시 래퍼 객체 는 원시값이 메서드나 프로퍼티에 접근할 수 있도록 해주며, 기능 수행 완료 시 곧 삭제되어 메모리 등 효율성 문제를 해결합니다.

래퍼 객체 는 원시 자료형의 이름을 그대로 착안하여 String, Number, Boolean, Symbol 이라 부르며, 객체마다 다른 메서드를 제공합니다.

메서드 불러오기

let str = "Hello";

alert( str.toUpperCase() ); // HELLO

위처럼 객체가 아닌 원시형 자료에서 메서드를 호출할 수 있습니다.
원시값으로 메서드를 불러오는 과정은 다음과 같습니다.

  1. 원시값 str 에서 프로퍼티 toUpperCase 에 접근하는 순간 래퍼 객체 String 생성
  2. 래퍼 객체는 문자열 "Hello" 의 값을 알고, 다양한 메서드를 지님
  3. 메서드 toUpperCase 실행, 새로운 문자열 반환
  4. 래퍼 객체 삭제, 원시값 str 만 남음

이렇듯, 객체로서 사용하면 래퍼 객체를 생성하여 기능을 수행하고,
기능 수행이 끝나면 생성한 래퍼 객체를 없애는 식으로 동작합니다.

특징

원시값을 객체처럼 사용할 수는 있지만, 기본적으로 객체와는 차이점이 있습니다.

  • 객체는 프로퍼티나 메서드를 임의로 추가 가능하지만, 원시값은 제공되는 프로퍼티만 사용!
  • 원시값은 프로퍼티를 사용할 때 읽기 만 가능. 쓰기 는 ❌
profile
기록용 블로그 + 오류가 있을 수 있습니다🔥

0개의 댓글