자바스크립트 원시 값과 메서드

필영·2021년 3월 18일
0

원시값의 메서드

원시값이란?

  • 원시형 값
  • 자바스크립트에서는 string, number, bigint, boolean, symbol, null, undefined, 총 7가지

객체와 다른점은?

  • 객체는 {} (중괄호)를 사용하는 형태
  • 객체는 속성 값에 다양한 종류의 값을 저장할 수 있다.
  • 반면, 원시값 에는 종류에 맞는 값 하나만 저장 할 수 있다.
  • 객체는 함수를 속성 값으로 저장 할 수 있다. (남용하면 시스템 자원이 많이 소모된다는 단점)
  • 객체는 원시값에 비해 무겁고, 구조를 유지하기 위해서 추가적인 자원이 필요하다

원시값을 객체처럼 사용할 수 있다?

  • 원시값은 원시 값 그대로 단일 형태 유지
  • 언어적 차원에서 각 원시 값에 대하여 사용가능 한 (문자열, 숫자, 불린 등) 프로퍼티에 접근 할 수 있도록 허용해준다.

이게 어떻게 가능하지?

  • 원시값이 메서드나 프로퍼티에 접근하기 위해서 추가 기능을 제공해주는 특수한 객체가 생성 되는데, object wrapper 라고 한다.
  • 원시 타입의 종류에 따라 object wrapper 또한 다르다.
  • 얘는 사용 후 삭제된다.

예시

String 형태의 원시 값으로 예시를 확인 해 보자면,

const name = 'pilyeong'
console.log(name.length) // 8

name이라는 원시값의 프로퍼티에 접근해보면, object wrapper 가 생성되고 이에 따라 length라는 프로퍼티에 접근하여 8이라는 결과 값을 받아온다.

const num = 1
console.log(num.toString()) // "1"

num의 초기값으로 1을 넣어준 후, 마찬가지로 프로퍼티에 접근하면 object wrapper가 생성된다. 이번에는 toString()이라는 메서드를 사용하였다.

참조

0개의 댓글