[JS]判断值为空

const isEmpty = (val: any): boolean => {
    // 注意:
    // 1.number,bigint,boolean,symbol不参与判断
    // 2.typeof NaN => 'number'
    // 3.JSON.stringify(new Blob(['123'])) => '{}'

    if (val?.constructor.name === 'Blob')
        return !val.size

    // JSON.stringify(undefined) => undefined
    // JSON.stringify(null) => 'null'
    // JSON.stringify(NaN) => 'null'
    // JSON.stringify([]) => '[]'
    // JSON.stringify({}) => '{}'
    if ([undefined, 'null', '""', '[]', '{}'].includes(JSON.stringify(val)))
        return true

    return false
}

 

 

重复写真麻烦,想到新方法先记录下来,每次都回想真折磨

posted @ 2022-09-30 11:29  炎峰森林影  阅读(59)  评论(0编辑  收藏  举报