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에 따라 라이센스가 부여됩니다.