먼저, 우리는 Worth의 원래 개념을 이해해야합니다.
원래 가치
스택에 저장된 간단한 데이터 세그먼트, 즉 그 값은 변수에 액세스하는 위치에 직접 저장됩니다.
참조 가치
힙에 저장된 물체, 즉 변수에 저장된 값은 객체가 저장되는 메모리를 가리키는 포인터입니다.
- - - - - - W3C의 개념이 참조되었습니다
단순한 원래 값은 null 정의되지 않은 문자열 번호 부울입니다.
물체를 부울로 변환하는 것은 비교적 간단합니다
모든 객체 (배열 및 함수 포함)는 True로 변환되며 래퍼 객체는 객체이며 True로 변환됩니다.
이 책은 다음과 같이 말합니다. 이것이 내가 이해하는 방법입니다. 새로운 문자열, 숫자 및 부울은 모두 래퍼 객체로 간주됩니다. 그것들은 물체와 다르지만 실제로는 물체입니다. 주요 차이점은 문자열 번호 부울의 속성이 읽기 전용이기 때문에 래퍼 객체에 대한 새로운 속성을 정의 할 수 없다는 것입니다.
객체를 문자열 유형으로 변환합니다
객체에 toString () 메소드가있는 경우 toString () 메소드를 호출하십시오. 원시 값이 반환되면 원래 값을 문자열로 변환하면 객체 가이 문자열로 변환됩니다. toString () 메소드를 사용할 수 없거나이 메소드가 반환 한 값이 원래 값이 아닌 경우 valueof () 메소드를 호출하십시오. 같은 루틴에서 리턴이 원래 값인 경우 원래 값을 문자열로 변환하고 객체 가이 문자열로 변환됩니다. 반환이 원래 값이 아닌 경우 유형 변환 오류가 발생합니다.
여기서 toString () 메소드 및 valueOf () 메소드는 하나씩 설명되지 않습니다.
객체를 숫자 유형으로 변환합니다
문자열로 변환하는 프로세스 및 변환 숫자와 비교하여 반대입니다. 먼저 valueof () 메소드를 호출 한 다음 toString () 메소드를 호출하십시오. 마지막으로, toString () 메소드는 원래 값이 아니고 JS는 오류를 던진다.
숫자 계산 또는 문자열 스 플라이 싱을 위해 "=="및 "+"연산자를 사용하는 경우, 연산자의 한쪽이 객체 인 경우 특수 객체가 원래 값으로 변환됩니다. 비 날짜 객체의 경우 객체를 원래 값으로 변환합니다
객체는 () 메소드의 값을 먼저 호출 한 다음 toString () 메소드를 호출 하고이 두 메소드를 원래 값으로 호출하여 얻은 원래 값을 직접 변환합니다. 날짜 개체의 경우 먼저 toString () 메소드를 호출 한 다음 값의 메소드를 호출하십시오.
날짜 개체를 원래 값으로 변환하려면 예를 들어
var now = 새 날짜 (); 타입 (지금+1); // "String"은 toString () 메소드 typeof (now-1) 때문에 날짜 개체를 문자열로 변환합니다. // "숫자"는 JS의 유연성을 반영합니다. "-"문자열을 숫자로 변환합니다.
객체를 원래 값으로 변환하는 위의 방법은 내가 공유 한 모든 컨텐츠입니다. 나는 당신이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.