valueOf 함수 설명
valueOf()과 toString(), 모든 대상(기본 포장 유형 포함)은 이 두 가지 방법을 가지고 있다.이 글은 우리가 먼저 valueOf() 방법을 봅시다.valueOf() 메서드는 객체를 기본 유형으로 변환하고 기본 유형으로 변환할 수 없으면 원래 객체로 반환합니다.【1】 기본 포장 유형-Boolean형
var obj = new Boolean(true);
console.log(obj.valueOf());//true
console.log(typeof obj.valueOf());//boolean
// ,
var a = true;
console.log(a.valueOf());//true
console.log(typeof a.valueOf());//boolean
기본 포장 유형에 대응하는 기본 유형이라면 원값을 되돌려줍니다.그러나 이것은 기본 유형 보유
valueOf() 방법(기본 유형은 대상이 아니라 어떤 방법도 가지지 않음)을 대표하는 것이 아니라 하나의 기본 유형 값을 읽을 때 백엔드에서 대응하는 기본 포장 유형의 대상을 만들어 일부 방법을 호출하는 것이다.따라서 기본 유형'호출'valueOf() 방법은 실제적으로 대응하는 기본 포장 유형을 먼저 만들었기 때문에 기본 포장 유형 호출valueOf()은 마지막에 대응하는 기본 유형을 되돌려주었다. 보기에 마치 기본 유형 호출valueOf() 방법으로 원시 값을 얻은 것 같다.【2】 기본 포장 유형 - 스트링형
var obj = new String("hello");
console.log(obj.valueOf());//hello
console.log(typeof obj.valueOf());//string
// ,
var a = "hello";
console.log(a.valueOf());//hello
console.log(typeof a.valueOf());//string
[1]과 같이 String 기본 포장 유형과 기본 유형 호출value Of() 방법은 대응하는 기본 유형을 되돌려줍니다
【3】 기본 포장 유형 - 넘버형
var obj = new Number("123");
console.log(obj.valueOf());//123
console.log(typeof obj.valueOf());//number
// ,
var a = 123;
console.log(a.valueOf());//123
console.log(typeof a.valueOf());//number
[1]과 같이 Number 기본 포장 유형과 기본 유형 호출valueOf() 방법은 대응하는 기본 유형을 되돌려줍니다.정수로 직접 호출할 때는 괄호를 붙여야 하며, 그렇지 않으면 오류가 발생할 수 있으니 주의하십시오.정수 뒤의 점은 소수점으로 인식되기 때문이다.부동점형은 틀리지 않는다.
console.log(123.valueOf());//Uncaught SyntaxError
console.log((123).valueOf());//123
console.log(12.3.valueOf());//12.3
[4] 배열 Array 유형 (원래 배열로 돌아가기)
var a = [1];
console.log(a.valueOf());//[1]
console.log(a === a.valueOf());//true
【5】 함수 Function 유형(원래 함수로 반환)
var a = function(){};
console.log(a.valueOf());//function(){};
console.log(a === a.valueOf());//true
【6】 정규 RegExp 유형(원래 정규 객체로 돌아가기)
var a = /a/g;
console.log(a.valueOf());///a/g
console.log(a === a.valueOf());//true
[7] 객체 Object 유형
var obj = {a:1};
console.log(obj.valueOf());//Object{a:1}
console.log(obj === obj.valueOf());//true
[8] Date 유형 (현재 시간을 나타내는 수치를 반환함)
var obj = new Date();
console.log(obj);//Wed May 10 2017 12:19:05 GMT+0800 ( )
console.log(obj.valueOf());//1494389910179
console.log(obj === obj.valueOf());//false
console.log(obj.getTime() === obj.valueOf());//true
요약:
이 블로거의 문장을 참고하다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.