2013-05-15 1 views
0

FirstOfAll plz은 다른 오브젝트에서 valueOf 메소드의 작업 정보를 제공하는 데 도움을줍니다. Object.prototype.valueOf.call("maizere") .Since valueOf 여기 Object.prototype하지 String.protototype의 방법 인 경우에는 보지 왜 차이가 존재하는 경우 다른 오브젝트에서 valueOf 메소드를 작동하십시오.

String.prototype.valueOfObject.prototype.valueOf있어서 차이가있다 그러나 .Shouldn't [object String] 아닌 문자열을 출력하고 그 출력 [object String] ? valueOf 메소드가 String.prototype에 속하는 경우로는 문자열 받았습니다 감사를 출력 이후 보인다 U UR 도움 여기

+0

'Object.prototype.valueOf === String.prototype.valueOf'는'false'입니다. – Blender

+0

@ElliotBonneville 아니오, {}. valueOf()는 배열 즉 객체 객체를 반환합니다 –

+0

@Blender 여기에 필요한가요? –

답변

1

주요 차이점은 사이 strings and string objects :

,
> typeof String('foo') 
"string" 
> typeof new String('foo') 
"object" 
> "foo" === String('foo') 
true 
> "foo" === new String('foo') 
false 
> String.prototype.valueOf.call("maizere") 
"maizere" 
> Object.prototype.valueOf.call("maizere") 
String {0: "m", 1: "a", 2: "i", 3: "z", 4: "e", 5: "r", 6: "e", format: function, truncate: function, splitOnLast: function, contains: function} 

String이 경우 문자열 객체 인 객체를 반환 valueOf의의 valueOf은 문자열과 Object 반환 '을. 그것들은 같은 것이 아닙니다.

+0

은 Object.prototype의 valueOf 메서드가 아니므로 [object objectName]을 반환해야합니다. 왜 문자열 개체를 반환하는지보다? [Object ObjectName]이 항상 반환해야합니다. –

+0

@Maizere : Chrome 콘솔을 열고 다시 시도해주세요. '[object ObjectName]'을 반환하지 않습니다. – Blender

+0

나는 어쨌든 감사합니다 u –

관련 문제