반응형

원시값의 메소드

자바스크립트는 원시값(문자열,숫자 등)을 마치 객체처럼 다룰 수 있게 해 준다.

객체에서처럼 메서드를 호출할 수 있는데 그렇다고 원시값이 객체는 아니란 것을 상기하도록 하자!

 

원시값과 객체의 차이점

원시값

원시형의 종류는 문자(string), 숫자(number), bigint, 불린(boolean), 심볼(symbol), null, undefined형으로

총 일곱 가지 이다.

 

객체

프로퍼티에 다양한 종류의 값을 저장할 수 있다.

{} 중괄호를 사용해 만들 수 있으며, 자바스크립트에는 여러 종류의 객체가 있는데 함수도 객체의 일종이다.

객체의 장점 중 하나는 함수를 프로퍼티로 저장할 수 있다는 것이다.

 

원시 래퍼 객체

원시값에 메서드를 호출하려 하면 임시 객체(원시 래퍼 객체)가 만들어진다.

래퍼 객체는 원시 타입에 따라 종류가 다양한데, 각 래퍼 객체는 원시 자료형의 이름을 그대로 차용해,

String,Number,Boolean, Symbol라 부르고 래퍼 객체마다 제공하는 메서드 역시 다르다.

let str = "Hello";

alert( str.toUpperCase() ); // HELLO
  • 문자열 str은 원시값이므로 원시값의 프로퍼티에 접근하는 순간 특별한 객체가 만들어진다.
    이 객체는 문자열의 값을 알고 있고, toUpperCase()와 같은 메서드를 가지고 있다.
  • 메서드가 실행되고, 새로운 문자열이 반환된다.
  • 특별한 객체는 파괴되고, 원시값 str만 남는다.

 

반응형