jQuery 소스 읽기: 유형 판단 - type 방법

1113 단어 jQuery
jQuery 소스 읽기: 유형 판단 type 방법
let class2type = {}
core_toString = class2type.toString
core_hasOwn = class2type.hasOwnProperty
// Populate the class2type map :   class2type
jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) {
	class2type[ "[object " + name + "]" ] = name.toLowerCase();
});
//            : {'[object string]': 'string', '[Object Array]': 'array'}

작용:toString 방법으로 변수 유형을 판단할 때 type 방법에 편리하게 사용
type: function( obj ) {
		if ( obj == null ) {
			return String( obj );
		}
		// Support: Safari <= 5.1 (functionish RegExp)
		return typeof obj === "object" || typeof obj === "function" ?
			class2type[ core_toString.call(obj) ] || "object" :
			typeof obj;
	}
  • obj가 인용 형식이 아니라면 직접 되돌아오기typeof obj
  • obj가 인용 형식이라면
  • 토스트링 방법을 호출한 후 class2type에서 찾을 수 있다면 대응하는 유형
  • 으로 되돌아갑니다
  • class2type에서 찾을 수 없으면 "object"
  • 로 되돌아갑니다

    좋은 웹페이지 즐겨찾기