..

Search

34) 타입 검사 메소드

타입 검사 메소드


유틸리티 메소드

제이쿼리는 프로그래밍을 하는 데 도움이 되는 다수의 유틸리티 메소드를 제공합니다.


타입 검사 메소드

제이쿼리는 인수로 전달받은 값의 타입을 손쉽게 확인해 주는 다음과 같은 메소드를 제공합니다.

 

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 문서인지 아닌지를 검사함.

연습문제