You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
그러나, 기본 자료형을 Number 등으로 객체화 시킨 뒤에 Number 생성자 함수의 프로토타입에 메서드를 추가해 사용 가능함
varprimitiveNumber=273;varobjectNumber=newNumber(273);Number.prototype.method=function(){return"Method on Prototype";}varoutput='';output+=primitiveNumber.method()+'\n';output+=objectNumber.method();console.log("output: "+output);// 출력
output: MethodonPrototypeMethodonPrototype
Object 객체
Object 객체는 자바스크립트의 최상위 객체
자바스크립트의 모든 기본 내장 객체는 Object 객체를 기본으로 만들어짐
7가지의 메서드를 가짐
메서드 이름
설명
constructor()
객체의 생성자 함수를 나타냄
hasOwnProperty(name)
객체가 name 속성이 있는지 확인함
isPrototypeof(object)
객체 object의 프로토타입인지 검사
propertyIsEnumerable(name)
반복문으로 열거할 수 있는지 확인
toLocaleString()
객체를 호스트 환경에 맞는 언어의 문자열로 바꿈
toString()
객체를 문자열로 바꿈
valueOf()
객체의 값을 냄
자바스크립트는 객체를 문자열로 변환할 때 자동으로 toString() 메서드를 호출함
재정의 하면 재정의한 toString() 호출됨
Object 객체의 프로토타입에 속성 또는 메서드를 추가하면 모든 객체에서 활용할 수 있음
Object 객체에 있는 constructor() 메서드는 객체의 생성자 함수를 의미하며, 자료형을 검사할 때 유용
typeof로 자료형을 검사하면 문제 발생할 수 있는 요소가 존재
varprimitiveNumber=273;varobjectNumber=newNumber(273);varoutput='';// 출력 1. numberoutput+='1.'+typeof(primitiveNumber)+'\n';// 출력 2. objectoutput+='2.'+typeof(objectNumber);console.log("output: "+output);
이러한 두 대상을 같은 자료형으로 취급하고 싶을 때는 constructor() 메서드를 사용해야 함
vararray=[1,2,3,4,5,6,7,8,9,10];varoutput=array.map(function(element){returnelement*element;});console.log("output: "+output);// 출력
output: 1,4,9,16,25,36,49,64,81,100