首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在JavaScript中是否有一个标准函数来检查null、未定义或空白变量?

在JavaScript中是否有一个标准函数来检查null、未定义或空白变量?
EN

Stack Overflow用户
提问于 2011-04-01 23:14:24
回答 27查看 2.4M关注 0票数 2.7K

有没有一个通用的JavaScript函数可以检查变量是否有值,并确保它不是undefinednull?我有这段代码,但我不确定它是否涵盖了所有情况:

代码语言:javascript
复制
function isEmpty(val){
    return (val === undefined || val == null || val.length <= 0) ? true : false;
}
EN

回答 27

Stack Overflow用户

发布于 2011-04-01 23:20:57

用于检查value是否未定义或为空的详细方法为:

代码语言:javascript
复制
return value === undefined || value === null;

您也可以使用know all the rules运算符,但这需要一个运算符

代码语言:javascript
复制
return value == null; // also returns true if value is undefined
票数 275
EN

Stack Overflow用户

发布于 2011-04-01 23:19:40

代码语言:javascript
复制
function isEmpty(value){
  return (value == null || value.length === 0);
}

这将返回true

代码语言:javascript
复制
undefined  // Because undefined == null

null

[]

""

和零参数函数,因为函数的length是它所采用的声明参数的数量。

要禁止后一种类型,您可能只需要检查空字符串

代码语言:javascript
复制
function isEmpty(value){
  return (value == null || value === '');
}
票数 106
EN

Stack Overflow用户

发布于 2015-02-12 18:32:43

您可能会发现以下函数很有用:

代码语言:javascript
复制
function typeOf(obj) {
  return {}.toString.call(obj).split(' ')[1].slice(0, -1).toLowerCase();
}

或在ES7中(如果有进一步的改进,请发表评论)

代码语言:javascript
复制
function typeOf(obj) {
  const { toString } = Object.prototype;
  const stringified = obj::toString();
  const type = stringified.split(' ')[1].slice(0, -1);

  return type.toLowerCase();
}

结果:

代码语言:javascript
复制
typeOf(); //undefined
typeOf(null); //null
typeOf(NaN); //number
typeOf(5); //number
typeOf({}); //object
typeOf([]); //array
typeOf(''); //string
typeOf(function () {}); //function
typeOf(/a/) //regexp
typeOf(new Date()) //date
typeOf(new WeakMap()) //weakmap
typeOf(new Map()) //map

“请注意,绑定运算符(::)既不是ES2016 (ES7)的一部分,也不是ECMAScript标准的任何后续版本。它目前是引入该语言的0阶段(稻草人)提案。”- Simon Kjellberg。作者希望添加他的支持这项美丽的提议,以接受皇家提升。

票数 31
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5515310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档