Wrapper object
먼저, JavaScript의 원시 타입 (primitive type)은 단순한 값의 타입입니다. 예를 들면, number
, string
, boolean
등이 원시 타입에 해당합니다. 이러한 원시 타입은 기본적으로 메서드나 속성을 가지고 있지 않습니다. 즉, 그 자체로는 .toExponential()
과 같은 메서드를 호출할 수 없습니다.
하지만, JavaScript에서는 이런 원시 타입의 값에 어떤 메서드나 속성을 호출하려고 할 때, 임시로 그 값을 해당하는 객체로 자동 변환(래퍼 객체로 감싸)해 줍니다. 이러한 객체를 래퍼 객체(wrapper object)라고 합니다.
예를 들어:
javascriptCopy code
let str = "hello"; console.log(str.toUpperCase()); // "HELLO"
여기서 "hello"
는 원시 문자열 타입입니다. 원래 원시 타입은 메서드를 가질 수 없지만, .toUpperCase()
메서드를 호출하는 순간에 JavaScript는 임시로 "hello"
를 문자열 객체(String
객체)로 변환하여 해당 메서드를 사용할 수 있게 합니다.
따라서, 원래의 문장에서 의미하는 것은: “원시 값에 어떤 메서드나 속성을 호출하면, JavaScript는 임시로 그 값을 래퍼 객체로 변환하여 해당 메서드나 속성에 접근하게 해줍니다.” 입니다.
This line appears after every note.