이 글은 a="abc"가 a=new String("abc")과 같지 않은 이유를 주로 소개합니다. 필요한 친구들이 참고하면 도움이 될 것입니다.
Obvious
a="abc" typeof a //string b=new String("abc") typeof b // object a==b //true a===b //false
근데 왜요? 책도 많이 읽고 여러 전문가에게 물어봤지만 사실 여전히 혼란스러웠습니다. 나중에 참조할 수 있도록 여기에 기록해 두세요.
JS에서는 원본 데이터 유형과 패키징 유형을 구분합니다. Number, string, Boolean, null, undefine은 기본 데이터 유형이고, Number, String, Boolean은 패키징 유형입니다. new Number를 통해 생성되는 것은 패키징 유형의 파생 객체입니다. 따라서 둘은 동일하지 않습니다.
기본 유형을 직접 할당한 후의 사용 과정은 다음과 같습니다.
1. 문자열 유형의 인스턴스를 생성합니다.
2. 인스턴스에서 지정된 메서드를 호출합니다.
3 인스턴스를 삭제합니다. :
var a="123" a.toFixed===Number.prototype.toFixed;
여기 또 다른 말이 있습니다: boxing, unboxing
Boxing은 이 값 클래스를 사용하여 해당 포장 객체를 구성하는 것입니다
var a=10 ,b="javascript" , c=true; var o_a=new Number(a); var o_b=new String(b); var o_c=new Boolean(c);
boxing의 가장 큰 역할은 값을 사용하는 것입니다. 객체로 다루다.
var a=10; var o_a=new Number(a); var b=o_a.valueOf();//这就是拆箱的过程。
관련 권장 사항:
ajax는 PHP 페이지의 반환 매개변수, 제어 할당 방법을 가져옵니다
jquery의 동적 ID 할당 정보 및 동적 ID 검색 방법 공유
위 내용은 a='abc'가 a=new String('abc')과 같지 않은 이유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!