首页 > 其他分享 >Lodash中is系方法总结

Lodash中is系方法总结

时间:2023-03-06 15:36:19浏览次数:43  
标签:总结 return Lodash value length tag 方法 string

前言

工作中经常会遇见变量容错处理的应用场景,而 Lodash 提供了很多空值判断和类型判断方法,现在挑选出常用的几个方法来进行分析,进而学习一下优秀的编码思路。

isEmpty()

描述:

检查 value 是否为一个空对象,集合,映射或者set。 判断的依据是除非是有枚举属性的对象,length 大于 0 的 arguments object, array, string 或类jquery选择器。

对象如果被认为为空,那么他们没有自己的可枚举属性的对象。

类数组值,比如arguments对象,array,buffer,string或者类jQuery集合的length 为 0,被认为是空。类似的,map(映射)和set 的size 为 0,被认为是空。

核心源码:

function isEmpty(value) {
  if (value == null) {
    return true;
  }
  if (isArrayLike(value) &&
      (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||
        isBuffer(value) || isTypedArray(value) || isArguments(value))) {
    return !value.length;
  }
  var tag = getTag(value);
  if (tag == mapTag || tag == setTag) {
    return !value.size;
  }
  if (isPrototype(value)) {
    return !baseKeys(value).length;
  }
  for (var key in value) {
    if (hasOwnProperty.call(value, key)) {
      return false;
    }
  }
  return true;
}

标签:总结,return,Lodash,value,length,tag,方法,string
From: https://www.cnblogs.com/ychizzz/p/16851371.html

相关文章

  • 详解Docker容器运行GUI程序的方法
    摘要:本文为大家详解如何直接进入Docker容器运行或通过SSH连接Docker容器运行GUI程序的方法。本文分享自华为云社区《Docker容器运行GUI程序的方法(直接进入Docker容器运行......
  • 高德Go生态的服务稳定性建设|性能优化的实战总结
    高德Go生态的服务稳定性建设|性能优化的实战总结https://mp.weixin.qq.com/s/UHaCLhiIyLYVrba-nEUONA高德Go生态的服务稳定性建设|性能优化的实战总结原创 阳迪、联想、......
  • 详解Docker容器运行GUI程序的方法
    摘要:本文为大家详解如何直接进入Docker容器运行或通过SSH连接Docker容器运行GUI程序的方法。本文分享自华为云社区《​​Docker容器运行GUI程序的方法(直接进入Docker容器运......
  • javascript如何将字符串转为数组——三种方法
                参考:https://m.php.cn/article/498168.html......
  • 抽象类和抽象方法
    抽象类和抽象方法抽象方法:把共同的方法抽取到父类后,由于每一个子类执行的内容不一样,所父类不能确定方法的具体内容.就可以定义为抽象方法如果一个类中存在抽象方法,......
  • 一个线程两次调用start()方法会出现什么情况?
    Java的线程是不允许启动两次的,第二次调用时,线程可能处于终止或者其它(非NEW)状态,必然会抛出IllegalThreadStateException,这是一种运行时异常,多次调用start被认为是编程错误......
  • JavaScript中给带有默认参数的方法传递自定义参数
    1,有一个默认参数($event为默认参数,index为自定义参数)     @select="handleSelect(index,$event)"2,有多个默认参数(queryString,cb为默认参数,index为自定义参数......
  • JS中创建对象与继承的方法总结
    js中对象的定义与其它面向对象语言不同,它的对象被描述为:一组无序属性的集合,其属性可以包含基本类型值、对象或者函数。而其它面向对象语言中的对象,通常指代可以通过类创建......
  • 大数据基础-测试方法
    一、功能性测试大数据功能主要涉及系统实现面向大数据分析应用的POSIXAPI,包括文件读取与访问控制,元数据操作,锁操作等功能;大数据分析系统的POSIX语义不同,实现的文件系统API......
  • QDir类及其用法总结
    简介QDir类提供了访问系统目录结构及其内容的与平台无关的方式。头文件:#include<QDir>QDir类用来操作路径名及底层文件系统,获取关于目录路径及文件的相关信息,也......