자바스크립트에서 타입 검사

9143 단어 javascript
나는 모든 유형 검사 작업을 내부적으로 사용하기 위해 이와 같은 도우미 함수로 그룹화하는 것을 좋아합니다. 이는 코드 축소의 경우 이점이 있습니다1.

function isArray(x) {
    return Array.isArray(x);
}

function isBoolean(x) {
    return false === x || true === x;
}

function isElement(x) {
    return x instanceof Element;
}

function isFloat(x) {
    return isNumber(x) && 0 !== x % 1;
}

function isFunction(x) {
    return 'function' === typeof x;
}

function isInteger(x) {
    return isNumber(x) && 0 === x % 1;
}

function isNull(x) {
    return null === x;
}

function isNumber(x) {
    return 'number' === typeof x;
}

function isNumeric(x) {
    return /^-?(?:\d*\.)?\d+$/.test(x + "");
}

function isObject(x, isPlainObject) {
    if ('object' !== typeof x) {
        return false;
    }
    return isPlainObject ? x instanceof Object : true;
}

function isPattern(x) {
    return x instanceof RegExp;
}

function isSet(x) {
    return 'undefined' !== typeof x && null !== x;
}

function isString(x) {
    return 'string' === typeof x;
}

이러한 함수는 is_array() , is_object() , is_string() 등과 같은 표준 함수가 이미 있는 PHP에서 매우 영감을 받았습니다.

사용자가 어딘가에 if ($int instanceof int) {} 표현식으로 유형 검사를 작성할 수 있도록 제안했습니다. 페이지가 어디에 있는지 모르겠습니다. 더 이상 찾을 수 없습니다.

업데이트: found it!

업데이트: 이제 Node.js 모듈로 사용할 수 있습니다.


taufik-nurrohman / ~이다


조건부 유틸리티.





조건부 유틸리티


나는 모든 유형 검사 작업을 내부적으로 사용하기 위해 이와 같은 도우미 함수로 그룹화하는 것을 좋아합니다. 이는 코드 축소의 경우 이점이 있습니다.
이러한 함수는 is_array() , is_object() , is_string() 등과 같은 표준 함수가 이미 있는 PHP에서 매우 영감을 받았습니다.

용법


CommonJS


const {isString} = require('@taufik-nurrohman/is');

console.log(isString('false'));

ECMA스크립트


import {isString} from '@taufik-nurrohman/is';

console.log(isString('false'));

행동 양식


isArray(임의)


isBoolean(임의)


isDefined(임의)


isFloat(숫자)


isFunction(임의)


isInstance(객체, 생성자)


isInteger(숫자)


isNull(임의)


isNumber(임의)


isNumeric(문자열)


isObject(임의, isPlain = 참)


isScalar(임의)


isSet(임의)


isString(임의)




View on GitHub




jQuery.isString = function(x) {}; 와 같이 라이브러리에서 개체 속성으로 지정하지 않는 한. 어떤 식으로든 개체 속성을 축소할 수 없습니다.

좋은 웹페이지 즐겨찾기