반응형
원시값의 메소드
자바스크립트는 원시값(문자열,숫자 등)을 마치 객체처럼 다룰 수 있게 해 준다.
객체에서처럼 메서드를 호출할 수 있는데 그렇다고 원시값이 객체는 아니란 것을 상기하도록 하자!
원시값과 객체의 차이점
원시값
원시형의 종류는 문자(string), 숫자(number), bigint, 불린(boolean), 심볼(symbol), null, undefined형으로
총 일곱 가지 이다.
객체
프로퍼티에 다양한 종류의 값을 저장할 수 있다.
{} 중괄호를 사용해 만들 수 있으며, 자바스크립트에는 여러 종류의 객체가 있는데 함수도 객체의 일종이다.
객체의 장점 중 하나는 함수를 프로퍼티로 저장할 수 있다는 것이다.
원시 래퍼 객체
원시값에 메서드를 호출하려 하면 임시 객체(원시 래퍼 객체)가 만들어진다.
래퍼 객체는 원시 타입에 따라 종류가 다양한데, 각 래퍼 객체는 원시 자료형의 이름을 그대로 차용해,
String,Number,Boolean, Symbol라 부르고 래퍼 객체마다 제공하는 메서드 역시 다르다.
let str = "Hello";
alert( str.toUpperCase() ); // HELLO
- 문자열 str은 원시값이므로 원시값의 프로퍼티에 접근하는 순간 특별한 객체가 만들어진다.
이 객체는 문자열의 값을 알고 있고, toUpperCase()와 같은 메서드를 가지고 있다. - 메서드가 실행되고, 새로운 문자열이 반환된다.
- 특별한 객체는 파괴되고, 원시값 str만 남는다.
반응형