Lodash中isEmpty、isNull、isArray、isUndefined等各自实现及之间的区别
前言 在写项目过程中,看到了项目中某个文件中的自定义校验规则内一个if中条件写了一个val === '',这时突然想到了lodash库中有一个isEmpty方法,可以判断字符串是否为空,我便不假思索的将这一个判断给改成了isEmpty(val)的写法,想着这样代码更优雅一些,但在我改完之后,新增数据时没有任何问题,当我修改这条数据的其他地方时,它的校验提示突然报红了,必须要将这个值重新写一遍才会通过校验,到了空闲的时候,去研究了一下官方文档上面的isEmpty实现和这块的代码,初步判断原因应该是因为代码的执行顺序造成的,也没有多想,只好先老老实实的将判断改回原来的样子了。今天我们就结合几个现实中经常用到的工具函数,来讲解一下如何解读复杂的运算符嵌套 isEmpty(value) 检查 value 是否为一个空对象,集合,映射或者set。 判断的依据是除非是有枚举属性的对象,length 大于 0 的 arguments object, array, string 或类jquery选择器。 空对象 对于空对象,loadsh 是这么解释的: 如果【对象没有自己的可枚举字符串键控属....