타입 검사 메소드
유틸리티 메소드
제이쿼리는 프로그래밍을 하는 데 도움이 되는 다수의 유틸리티 메소드를 제공합니다.
타입 검사 메소드
제이쿼리는 인수로 전달받은 값의 타입을 손쉽게 확인해 주는 다음과 같은 메소드를 제공합니다.
1. $.type()
2. $.isArray()
3. $.isFunction()
4. $.isNumeric()
5. $.isEmptyObject()
6. $.isPlainObject()
7. $.isWindow()
8. $.isXMLDoc()
$.type() 메소드
자바스크립트의 typeof 연산자는 값에 따라 부정확하거나 모순된 타입 검사 결과를 반환합니다.
하지만 제이쿼리는 전달받은 값을 자바스크립트의 내부 클래스와 비교하여, 더욱 정확한 타입 검사를 제공하는 $.type() 메소드를 제공합니다.
예제
$(function() {
$("button").on("click", function() {
$("#text")
.append($.type(true) + "<br>") // boolean
.append($.type(new Boolean()) + "<br>") // boolean
.append($.type(100) + "<br>") // number
.append($.type(new Number(20)) + "<br>") // number
.append($.type("문자열") + "<br>") // string
.append($.type(new String("홍길동")) + "<br>") // string
.append($.type(function() {}) + "<br>") // function
.append($.type(new Function()) + "<br>") // function
.append($.type([]) + "<br>") // array
.append($.type(/정규표현식/) + "<br>") // regexp
.append($.type(null) + "<br>"); // null
});
});
특정 타입 검사 메소드
제이쿼리는 $.type() 메소드뿐만 아니라 전달된 값이 특정 타입의 값인지 아닌지를 검사해 주는 다양한 메소드를 제공합니다.
예제
$(function() {
$("button").on("click", function() {
$("#text")
.html($.isArray([]) + "<br>") // true
.append($.isArray(30) + "<br>") // false
.append($.isFunction(new Function()) + "<br>") // true
.append($.isFunction("문자열") + "<br>") // false
.append($.isNumeric(100) + "<br>") // true
.append($.isNumeric([7]) + "<br>") // false
.append($.isEmptyObject({}) + "<br>") // true
.append($.isEmptyObject({name: "홍길동"}) + "<br>") // false
.append($.isPlainObject(new Object()) + "<br>") // true
.append($.isPlainObject(new Object("문자열")) + "<br>") // false
.append($.isWindow(window) + "<br>"); // true
});
});
타입 검사 메소드
메소드 | 설명 |
---|---|
$.type() | 전달받은 값을 자바스크립트의 내부 클래스와 비교하여, 더욱 정확한 타입 검사를 제공함. |
$.isArray() |
전달받은 값이 배열인지 아닌지를 검사함. |
$.isFunction() |
전달받은 값이 자바스크립트 함수 객체인지 아닌지를 검사함. |
$.isNumeric() |
전달받은 값이 자바스크립트 Number 객체인지 아닌지를 검사함. |
$.isEmptyObject() |
전달받은 값이 비어있는 객체(열거할 수 있는 프로퍼티를 가지고 있지 않은 객체)인지 아닌지를 검사함. |
$.isPlainObject() |
전달받은 값이 기본 객체(plain object)인지 아닌지를 검사함. |
$.isWindow() |
전달받은 값이 자바스크립트 Window 객체인지 아닌지를 검사함. |
$.isXMLDoc() | 전달받은 DOM 노드가 XML 문서에 포함되어 있거나, XML 문서인지 아닌지를 검사함. |