如何快速检查类的参数是否为null或''?

问题描述 投票:0回答:2

大家好,我正在尝试检查,例如在 Firebase 中的集合上创建文档之前,object.name、object.title、object.velocity...是否只是一个空格 ('') 或者它们是否在打字稿(Ionic 4)中是null,但我认为还有另一种更快的方法,处理它的最佳建议是什么?

我所做的是,但我认为太长了......:

if (this.object.name == '' || this.object.title == ''.......)

谢谢你

ionic4
2个回答
1
投票

不幸的是,我的声誉太低,无法将此作为评论。

object.property
从哪里获取它的值? 您是否在 HTML 中的表单上使用输入字段?

如果您使用表单上的输入字段来捕获

object.name
object.title
,那么将
form validators
formGroup
formBuilder

一起使用会更容易/最好

import{ Validators, FormBuilder, FormGroup, FormControl }from'@angular/forms';

这将确保您的对象属性中始终包含数据,或者让您向最终用户显示其信息有问题。

有很多关于验证器的信息,但它们实现起来相当简单,而且大部分都是在

page.html
上完成的。

如果您从服务获取数据,或者只想在

object
之前最后一次检查
doSomething()
1,那么您将需要循环遍历对象中的每个属性。

确定 javascript 对象上的所有属性是否为 null 或空字符串


0
投票

尝试否定:

if (!this.object.name || !this.object.title) { /* ... */ }

文档:逻辑不在 JS 中

将转换为 false 的表达式:

  • 空;
  • NaN;
  • 0;
  • 空字符串(“”或''或``);
  • 未定义。
/* Example for your case: */
let obj = { name: null, title: '' };

console.log('there is no name', !obj.name)
// output: there is no name – true

console.log('there is no title', !obj.title)
// output: there is no title – true

if (!obj.name || !obj.title) {
  console.log('condition satisfied');
}

// output: condition satisfied
© www.soinside.com 2019 - 2024. All rights reserved.