나는 때때로, 특히 Typeof의 인스턴스와 타입을 사용했으며, 더 많이 사용했습니다. 오늘 저는 EXT 소스 코드를 연구하고 여러 곳에서 인스턴스를 사용했습니다. 나는 갑자기 그들이 다소 비슷하다고 느꼈지만 달라야합니다. 나는 온라인으로 몇 가지 기사를 읽고 그들 사이의 관계에 대한 확실한 이해를 가지고 있습니다.
인스턴스 및 타입은 변수가 비어 있는지 또는 변수 유형을 결정하는 데 사용될 수 있습니다.
타입은 변수의 유형을 얻는 데 사용됩니다. Typeof는 일반적으로 다음 결과 만 리턴 할 수 있습니다. 숫자, 부울, 문자열, 함수, 객체, 정의되지 않은 결과. if (a)를 사용하는 대신 a)를 사용하는 대신 if (type a! = "undefined") {}와 같은 변수가 존재하는지 여부를 얻을 수 있습니다. A가 존재하지 않으면 (선언되지 않음) 오류가 발생합니다. 배열, null 등과 같은 특수 객체의 경우 객체를 반환합니다. 이것이 타입의 한계입니다.
객체가 배열인지 또는 변수가 객체의 인스턴스인지 확인하려면 인스턴스를 사용하도록 선택해야합니다. 인스턴스는 변수가 객체의 인스턴스인지 여부를 결정하는 데 사용됩니다. 예를 들어, var a = new Array (); alert (인스턴스 배열); True를 반환하면 Alert (객체의 인스턴스)도 True를 반환합니다. 배열은 객체의 서브 클래스이기 때문입니다. 예를 들어 : function test () {}; var a = new test (); Alert (인스턴스 테스트)가 true를 반환합니다.
인스턴스와 관련하여 하나 더 문제, 즉 함수 인수를 삽입해야합니다. 우리는 모두 인수가 배열이라고 생각할 수도 있지만, 인스턴스의 인스턴스를 사용하면 테스트를 사용하면 인수가 매우 유사하게 보이지만 인수가 배열 객체가 아님을 알게 될 것입니다.