자바스크립트의 기본 자료형을 객체로 선언하는 방법
const 객체 = new 객체 자료형 이름()
예시
new Number(10)
new String('안녕하세요')
new Boolean(true)
기본자료형은 속성과 메소드를 가질 수 없다.
다만 자바스크립트는 사용의 편리성을 위해 기본자료형의 속성과 메소드를 호출할때
일시적으로 기본 자료형을 객체로 승급 시켜주며,
이러한 승급은 일시적이다.
prototype객체에 속성과 메소드를 추가하면, 모든 객체(와 기본자료형)에서 해당 속성과 메소드를 사용할 수 있다.
객체 자료형 이름.prototype.메소드 이름 =function() {}
예시로 sample 이라는 속성을 추가하려면
Number.prototype에 sample 이라는 속성을 추가하면 기본 자려형 숫자 뒤에 온점을 찍고 해당 속성을 활용할 수 있다.
Number.prototype.sample =10
>10
const i = 100
>undefined
i.sample
>10
모든 숫자 자료형이 어떤 값을 공유할 필요는 없으므로 일반적으로 프로토타입에 속성을 추가하진 않는다. 하지만 프로토타입에 메소드를 추가하면 다양하게 활용할 수 있다.
Number.prototype.power = function(n=2){
return this.valueOf()** n
}
const a =12
console.log('a.power():', a.power())
>a.power(): 144