value Of() 메서드

10028 단어

앞말


유형 변환에 대해 대상에서 흔히 볼 수 있는 두 가지 방법은 toString()과valueOf()이다.실제로 이 두 가지 방법도 포장 유형에 적용될 수 있다.앞에서 이미 toString() 방법을 소개했고 본고는valueOf() 방법을 소개할 것이다.임의의 원시값이 존재하면 기본적으로 대상을 원시값으로 변환합니다.대상은 복합값이고 대부분의 대상은 원시값으로 표현할 수 없기 때문에 기본값valueOf() 방법은 원시값을 되돌려주는 것이 아니라 대상 자체를 간단하게 되돌려줍니다
 
【1】undefined와null에valueOf() 방법이 없습니다
undefined.valueOf();// 
null.valueOf();// 

 
【2】 부울 데이터true와false가 원값을 되돌려줍니다
true.valueOf();//true
typeof true.valueOf();//'boolean'
false.valueOf();//false
typeof false.valueOf();//'boolean'
Boolean.valueOf();//Boolean() { [native code] }
typeof Boolean.valueOf();//'function'

 
[3] 문자열 유형 원래 값 반환
'1'.valueOf();//'1'
''.valueOf();//''
'abc'.valueOf();//'abc'
String.valueOf();//String() { [native code] }
typeof String.valueOf();//'function'

 
【4】 수치 유형은 정수와 부동점수로 나누어 처리한다
Number.valueOf();//Number() { [native code] }
typeof Number.valueOf();//'function'

1. 정수를 바로 따라간다.정수 뒤의 점이 소수점으로 인식되기 때문에 가능한 괄호를 괄호로 묶는 value Of () 형식
0.valueOf();//Uncaught SyntaxError: Invalid or unexpected token
(0).valueOf();//0
+0.valueOf();//Uncaught SyntaxError: Invalid or unexpected token
(+0).valueOf();//0
-0.valueOf();//Uncaught SyntaxError: Invalid or unexpected token
(-0).valueOf();//-0

[주의]-0의value Of()값은 -0이고, -0의 toString()값은'0'
2、부동점수 원값 반환
1.23.valueOf();//1.23
+1.23.valueOf();//1.23
-1.23.valueOf();//-1.23
NaN.valueOf();//NaN
Infinity.valueOf();//Infinity
-Infinity.valueOf();//-Infinity

[주의] toString()과 달리 value Of()는 변환 기수를 받을 수 없습니다
 
[5] 객체 Object 유형 및 사용자 정의 객체 유형이 원래 객체로 반환됨
{}.valueOf();// ,Unexpected token .
({}).valueOf();//Object{}
typeof ({}).valueOf();//'object'
({a:123}).valueOf();//Object{a:123}
Object.valueOf();//Object() { [native code] }
typeof Object.valueOf();//'function'
function Person(){
    this.name = 'test';
}
var person1 = new Person();
person1.valueOf();//Person {name: "test"}

 
【6】 함수 Function 유형이 원래 함수를 반환합니다.
function test(){
    alert(1);//test
}
test.valueOf();/*function test(){
                    alert(1);//test
                  }*/
Function.valueOf();//Function() { [native code] }

 
[7] 배열 Array 유형이 원래 배열로 반환됨
[].valueOf();//[]
[1].valueOf();//[1]
[1,2,3,4].valueOf();//[1,2,3,4]
Array.valueOf();//Array() { [native code] }

 
【8】 다른 대상과 달리 시간Date 형식은 숫자 값을 되돌려줍니다.this 시간 값입니다
Date.now();//1465115123742
(new Date()).valueOf();//1465115123742
typeof (new Date()).valueOf();//'number'
Date.valueOf();//Date() { [native code] }

 
[9] 정규 표현식 RegExp 유형이 원래 정규 객체로 반환됨
/ab/i.valueOf();///ab/i
/mom( and dad( and baby)?)?/gi.valueOf();//mom( and dad( and baby)?)?/gi
RegExp.valueOf();//RegExp() { [native code] }

 
【10】오류 Error 유형
Error.valueOf();//Error() { [native code] }
RangeError.valueOf();//RangeError() { [native code] }
ReferenceError.valueOf();//ReferenceError() { [native code] }
SyntaxError.valueOf();//SyntaxError() { [native code] }
TypeError.valueOf();//TypeError() { [native code] }
URIError.valueOf();//URIError() { [native code] }

 

총결산


1. toString()와value Of()의 주요 차이점은 tostring()은 문자열을 되돌려주고value Of()는 원래 대상을 되돌려준다는 것이다.
2,undefined와null은 대상이 아니기 때문에 toString()와value Of() 두 가지 방법이 없습니다
3. 수치 Number 유형의 toString() 방법은 변환 기수를 수신하여 서로 다른 진법의 문자열 형식의 수치를 되돌려줄 수 있다.valueOf() 방법은 변환 기수를 받아들일 수 없습니다
4. 시간Date 유형의 toString() 방법이 되돌아오는 시간을 나타내는 문자열 표시;valueOf() 방법은 현재 1970년 1월 1일 00:00:00까지의 수치 유형의 밀리초를 되돌려줍니다

좋은 웹페이지 즐겨찾기