如何处理未定义的参数?

我正在开发一个角度应用程序。作为其中的一部分,我想处理未定义某些参数的情况。


我的代码


  myImage() {

    console.log('test')

    console.log(typeof(this.ahuObservables.on_off_status))

    this.myValue = this.myObservables.status

    console.log(typeof(this.myValue))

    if (this.myValue  == null)

    {

      console.log('undefined')

      this.ahuValue = 0

    }

    else{

    // do something

   }

 getDataRealTime()

  {

    console.log('Making a request')

    this.SocketService.socket_connection()

      .subscribe(

        (data1: any) => {

          console.log(data1)

          let data11 = JSON.parse(data1)

          this.myObservables = new My_Observables()

          this.myObservables.status = data11['status']

          console.log('variables parsed') 

        }

      )



  }

this.myObservables.status在 api 调用中分配。因此,当我的 api 不工作时,我希望我的myValue变量为 0。我尝试检查 null、undefined 但如果 myObservables.status 未定义,我无法分配默认值。我的第二个 console.log 也没有打印任何内容安慰。有人可以帮我吗?


慕婉清6462132
浏览 198回答 2
2回答

皈依舞

if (!this.myValue || this.myValue==null) 这也将检查 undefined 和 null。myImage() {    console.log('test')    this.myValue = this.myObservables.status    console.log(typeof(this.myValue))    if (!this.myValue || this.myValue==null)    {      console.log('undefined')      this.ahuValue = 0    }    else{    // do something   }

侃侃无极

您可以通过添加来检查是否this.myValue有一个假值if(!this.myValue),那么只有当 this.myValue 的值为 0、空字符串、未定义或 null 时,才会执行 if 语句。myImage() {        console.log('test')        console.log(typeof(this.ahuObservables.on_off_status))        this.myValue = this.myObservables.status        console.log(typeof(this.myValue))        if (!this.myValue)        {// this part of the code will be executed if this.myValue is 0, empty string, undefined or null          console.log('undefined')          this.ahuValue = 0        }        else{        // do something       }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript