简介
isa.js 是一个轻量级的 JavaScript 库,用于测试一个值是否属于某个指定的 JS 数据类型。
安装
在命令行中输入以下命令,即可进行安装:
npm install isa.js
使用
CommonJS(Node.js)
const isa = require('isa.js'); isa.isArray([]); // true isa.isNull(null); // true isa.isRegExp(/abc/); // true
ES6
import isa from 'isa.js'; isa.isString('abc'); // true isa.isBoolean(false); // true isa.isObject({}); // true
API
isUndefined
测试一个值是否是 undefined
类型。
isa.isUndefined(undefined); // true
isNull
测试一个值是否是 null
类型。
isa.isNull(null); // true
isBoolean
测试一个值是否是 boolean
类型。
isa.isBoolean(true); // true isa.isBoolean(false); // true
isNumber
测试一个值是否是 number
类型。
isa.isNumber(10); // true
isString
测试一个值是否是 string
类型。
isa.isString('abc'); // true
isArray
测试一个值是否是 array
类型。
isa.isArray([1, 2, 3]); // true
isObject
测试一个值是否是 object
类型。
isa.isObject({a: 1, b: 2}); // true
isFunction
测试一个值是否是 function
类型。
isa.isFunction(function(){}); // true
isRegExp
测试一个值是否是 RegExp
类型的正则表达式。
isa.isRegExp(/abc/); // true
isDate
测试一个值是否是 Date
类型。
isa.isDate(new Date()); // true
isNullObject
测试一个值是否是 null
或者 Object
类型。
isa.isNullObject(null); // true isa.isNullObject({}); // true
isNullOrUndefined
测试一个值是否是 null
或 undefined
类型。
isa.isNullOrUndefined(null); // true isa.isNullOrUndefined(undefined); // true
isNonEmptyObject
测试一个值是否是一个非空的 Object
类型。
isa.isNonEmptyObject({a: 1, b: 2}); // true isa.isNonEmptyObject({}); // false
isPlainObject
测试一个值是否是一个纯粹的 Object
类型,而非从 Array
、Function
等类型继承而来的。
isa.isPlainObject({a: 1, b: 2}); // true isa.isPlainObject([]); // false isa.isPlainObject(function(){}); // false
isFalsy
测试一个值是否是 falsy 值,包括 false、0、null、undefined、NaN、 ''
-- -------------------- ---- ------- ------------------- -- ---- --------------- -- ---- ------------------ -- ---- ----------------------- -- ---- ----------------- -- ---- ---------------- -- ---- --------------- -- ----- ------------------ -- ----- ------------------- -------展开代码
示例
判断对象是否为空
function isEmptyObject(obj) { return isa.isObject(obj) && JSON.stringify(obj) === '{}'; } isEmptyObject({}); // true isEmptyObject({a: 1}); // false
判断是否为数字
function isNumber(value) { return isa.isNumber(value) && !isNaN(value); } isNumber(10); // true isNumber('abc'); // false isNumber(NaN); // false
参考链接
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/72932