用一个函数来判断一个值是否真的是true【版权所有】唐霜 www.tangshuang.net【本文受版权保护】 or false,之所以要做这个判断,【作者:唐霜】本文版权归作者所有,未经授权不得转载。是为了更加可配的来处理一个问题,就是0,【版权所有】唐霜 www.tangshuang.net转载请注明出处:www.tangshuang.net字符串”,以及数字Infin本文作者:唐霜,转载请注明出处。【本文首发于唐霜的博客】ity。
【版权所有】唐霜 www.tangshu本文作者:唐霜,转载请注明出处。【转载请注明来源】ang.net原创内容,盗版必究。【版权所有】唐霜 www.tangshu【本文首发于唐霜的博客】【版权所有,侵权必究】ang.netfunction isTrue(value, {zero = true, infinity = false, emptyString = false, emptyArray = false, emptyObject = false} = {}) {
if(value === 0) return !!zero
if(value === '') return !!emptyString
if(value === Infinity) return !!infinity
if(Array.isArray(value) && value.length === 0) return !!emptyArray
if(value === null) return false
if(typeof value === 'object' && Object.keys(value).length === 0) return !!emptyObject
return !!value
}
默认更改了上面这些值的返回结果,比如0,【本文受版权保护】【原创内容,转载请注明出处】默认是返回false,但我认为0是一个明【版权所有,侵权必究】【版权所有】唐霜 www.tangshuang.net确的数组,应该返回true,而空字符串&本文版权归作者所有,未经授权不得转载。本文作者:唐霜,转载请注明出处。#8221;则仍然保持返回false,另【作者:唐霜】转载请注明出处:www.tangshuang.net外,增加了空数组和空对象返回false。原创内容,盗版必究。【未经授权禁止转载】源码在这里,可能后期还会更新。
【本文受版权保护】【本文受版权保护】2017-04-21 3446


