value Of() 메서드
앞말
유형 변환에 대해 대상에서 흔히 볼 수 있는 두 가지 방법은 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까지의 수치 유형의 밀리초를 되돌려줍니다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.