【JS封装-类型判断】强化编程实践:精选JavaScript函数封装集锦-关于类型判断 (类型判断 - 判断变量类型等)

20 篇文章 0 订阅
10 篇文章 0 订阅

目录

判断基本类型

检查是否为数组

检查是否为函数

检查是否为对象(非数组、非null)

检查是否为字符串

检查是否为数字

检查是否为布尔值

检查是否为undefined

检查是否为正则表达式

检查是否为Map

检查是否为空(null或undefined)


判断基本类型

/**
 * 判断变量的基本类型。
 * @param {*} value 待判断的变量。
 * @returns {string} 变量的类型名称。
 */
function getBasicType(value) {
    const type = typeof value;
    if (type === 'object') {
        if (value === null) return 'null';
        if (Array.isArray(value)) return 'array';
        if (value instanceof Date) return 'date';
    }
    return type;
}

检查是否为数组

/**
 * 检查变量是否为数组。
 * @param {*} value 待判断的变量。
 * @returns {boolean} 如果是数组返回true,否则返回false。
 */
function isArray(value) {
    return Array.isArray(value);
}

检查是否为函数

/**
 * 检查变量是否为函数。
 * @param {*} value 待判断的变量。
 * @returns {boolean} 如果是函数返回true,否则返回false。
 */
function isFunction(value) {
    return typeof value === 'function';
}

检查是否为对象(非数组、非null)

/**
 * 检查变量是否为纯粹的对象(非数组、非null)。
 * @param {*} value 待判断的变量。
 * @returns {boolean} 如果是纯粹的对象返回true,否则返回false。
 */
function isPlainObject(value) {
    return typeof value === 'object' && value !== null && !Array.isArray(value) && !(value instanceof Date);
}

检查是否为字符串

/**
 * 检查变量是否为字符串。
 * @param {*} value 待判断的变量。
 * @returns {boolean} 如果是字符串返回true,否则返回false。
 */
function isString(value) {
    return typeof value === 'string';
}

检查是否为数字

/**
 * 检查变量是否为数字。
 * @param {*} value 待判断的变量。
 * @returns {boolean} 如果是数字返回true,否则返回false。
 */
function isNumber(value) {
    return typeof value === 'number' && !isNaN(value);
}

检查是否为布尔值

/**
 * 检查变量是否为布尔值。
 * @param {*} value 待判断的变量。
 * @returns {boolean} 如果是布尔值返回true,否则返回false。
 */
function isBoolean(value) {
    return typeof value === 'boolean';
}

检查是否为undefined

/**
 * 检查变量是否为undefined。
 * @param {*} value 待判断的变量。
 * @returns {boolean} 如果是undefined返回true,否则返回false。
 */
function isUndefined(value) {
    return typeof value === 'undefined';
}

检查是否为正则表达式

/**
 * 检查变量是否为正则表达式。
 * @param {*} value 待判断的变量。
 * @returns {boolean} 如果是正则表达式返回true,否则返回false。
 */
function isRegExp(value) {
    return value instanceof RegExp;
}

检查是否为Map

/**
 * 检查变量是否为Map类型。
 * @param {*} value 待判断的变量。
 * @returns {boolean} 如果是Map类型返回true,否则返回false。
 */
function isMap(value) {
    return value instanceof Map;
}

检查是否为空(null或undefined)

/**
 * 检查变量是否为空(null或undefined)。
 * @param {*} value 待判断的变量。
 * @returns {boolean} 如果是null或undefined返回true,否则返回false。
 */
function isEmpty(value) {
    return value == null;
}

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

何遇mirror

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值