在javascript中检查对象的空或未定义
在javascript中,如果条件用于检查空值或未定义值,那么Typescript是javascript的一个超集,它有一个额外的功能,即打字、断言,每一段代码都可以在typescripts中工作。
if
(expression){
console
.log
('Not null')}
表达式必须被评估为真或假 表达式评估为假的值如下:
empty string spaces- ""
undefined
NAN - Not number zero
false.
让我们看一个例子
if ( obj !== 'undefined' && obj !== null ) {
console.log('Object is Not Null');
这在javascript和typescripts中都适用。
让我们看一个在类型脚本中用类型防护做同样事情的例子
类型守卫null和undefined联合检查
isNullOrUndefined函数被定义为接受对象类型,null类型被添加为带有类型防护语法的联盟类型,并返回布尔值。
function isNullOrUndefined(object: T | undefined | null): object is T {
return object !== undefined && object !== null;
let obj=null;
console.log(isNullOrUndefined(obj));
let obj1=123;
console.log(isNullOrUndefined(obj1));
使用Optional Chaining和nullish coalescing操作符
ES11中引入了Optional Chaining和nullish coalescing操作符,Typescript在3.7版本中也实现了同样的功能。这两个操作都是检查空值和未定义值的。 可选链式操作符?用于检查账户是否为空或未定义,如果账户不是空或未定义,它将返回id,否则返回未定义。
let account={
id:1}
let deparmentid=account?.id?
console.log(deparmentid)
让我们举个例子来说明nullish凝聚运算符的情况
let account=null
let deparmentId=account??.id
console.log(deparmentId)
如果一个帐户不是空的或未定义的,返回id,否则返回帐户。
JQuery空或未定义
在javascript或jquery中检查,使用typeof操作符。
typeOf检查对象,如果对象是未定义或空的,则返回undefined。
if(typeof obj == "undefined"){
console.log('Object is null')
lodash/ramda isNil方法
lodash和rambda提供了isNil方法来检查对象是否被定义。
返回类型true/false - true - 为空值,否则为false
Accets对象来检查空值,让我们看一个例子
let obj;
console.log(_.isNil(null))
console.log(_.isNil(false))
console.log(_.isNil(obj))
Android 工程师 @阿里巴巴
粉丝