원시 타입 값에서 메서드를 쓸 수 있는 이유 (+왜 숫자 리터럴에서는 안 될까?)
·
Frontend/JS, TS
메서드는 정적 메서드와 인스턴스 메서드로 구분할 수 있습니다. 정적 메서드는 인스턴스 없이 바로 호출할 수 있는 메서드를 말하고, 인스턴스 메서드는 인스턴스를 주체로 하여 호출되는 메서드를 말합니다. Number.prototype.toString, String.prototype.split 등이 인스턴스 메서드입니다. 그런데 원시형 타입인 숫자나 문자열이 어떻게 메서드를 가질 수 있는 걸까요? 메서드는 객체에 프로퍼티로 할당된 함수를 말하는 건데 말입니다. 우리는 어떻게 원시형 타입을 마치 객체처럼 다룰 수 있는 걸까요? 이 메서드는 어디에 있는 걸까요? 원시형 타입과 객체 래퍼 타입자바스크립트는 원시형 타입 값을 자동으로 객체로 래핑(wrapping)합니다. 예를 들어 primitive string 값..