JS의 typeof 및 유형 판단(코드 포함)

php中世界最好的语言
풀어 주다: 2018-04-16 14:32:44
원래의
1577명이 탐색했습니다.

이번에는 JS의 typeof 및 type 판단(코드 포함)을 가져왔습니다. JS의 typeof 및 type 판단에 대한 Notes가 무엇인지 살펴보겠습니다.

typeof

ECMAScript에는 Undefine, Null, Boolean, Number 및 5가지 기본 유형이 있습니다. 끈. 우리 모두는 typeofoperator를 사용하여 변수의 유형을 찾을 수 있다는 것을 알고 있지만 referencetype 변수의 경우 object만 반환합니다. 즉, typeof는 기본 유형 값 변수만 올바르게 식별할 수 있다는 의미입니다.

rreee

typeof 연산자가 null 값에 대해 "객체"를 반환하는 이유가 궁금할 수 있습니다. 이것은 실제로 ECMAScript에 채택된 JavaScript의 원래 구현에 있는 버그였습니다. 이제 null 객체의 자리 표시자로 간주되어 모순을 설명하지만 기술적으로는 여전히 원시 값입니다.

마지막 것은 이상합니다. 존재하지 않는 변수 x의 유형은 실제로 "정의되지 않음" 대신 "객체"를 반환합니다.

우리는 다음 코드에 도달합니다:

var a = "abc";
console.log(typeof a); // "string"
var b = 123;
console.log(typeof b); // "number"
var c = true;
console.log(typeof c); // "boolean"
var d = null;
console.log(typeof d); // "object"
var f = undefined;
console.log(typeof f); // "undefined"
var g;
console.log(typeof g); // "undefined"
console.log(typeof x); // "undefined"
로그인 후 복사

"객체"는 배열과 객체 모두에 대해 반환되므로 일상적인 개발에서 일반적으로 필요한 것은 변수가 배열인지 객체인지 확인하는 방법입니다.

유형 판단

유형 판단은 일반적으로 그것이 배열인지 빈 객체인지 판단하는 것을 의미합니다. 이것이 제가 이 요구사항에 대해 매일 사용하거나 보아온 판단 방법입니다

배열인지 확인하세요

배열이 있습니다: var a = [1,2,3,4,5];

방법 1:

toString.call(a); // "[객체 배열]" 메서드 2:

배열 인스턴스; //참 메소드 3:

a.constructor == Array; //true 첫 번째 방법은 더 일반적이며 Object.prototype.toString.call(a)의 약어입니다.

인스턴스 오브(instanceof)와 생성자(constructor)로 판단되는 변수는 현재 페이지에서 선언되어야 한다. 예를 들어 페이지(부모 페이지)에는 프레임이 있고, 페이지(자식 페이지)는 프레임에서 참조되며, 자식 페이지에서는 a가 선언된다. 상위 페이지에 변수를 지정한 다음 변수 Array를 판단합니다. == object.constructor는 false를 반환합니다.

var a = function() { };
console.log(typeof a); // "function"
var b = [1,2,3]; 
console.log(typeof b); // "object"
var c = { };
console.log(typeof c); // "object"
로그인 후 복사

빈 객체인지 확인하세요

변수가 있습니다: var obj = {};

방법 1:

JSON.stringify(obj); // "{}"는 빈 중괄호인지 확인하기 위해 JSON 객체로 변환됩니다

방법 2:

if(obj.id){ //attributeid가 존재하는 경우...} 이 방법은 비교적 간단하며 대부분의 사람들이 객체에 특정 속성이 있다는 것을 전제로 생각할 수 있습니다.

방법 3:

var a = [1,2,3,4,5];
console.log(toString.call(a)); // "[object Array]"      
console.log(a instanceof Array); //true
console.log(a.constructor == Array); //true
로그인 후 복사

이 메소드는 jQuery의 isEmptyObject() 메소드를 구현한 것입니다.

이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 도서:



위 내용은 JS의 typeof 및 유형 판단(코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!