收藏
回答

判断某对象下标是否存在,如果不存在赋值给它赋值,结果第一行就报错,那么该如何写?


  if (typeof this.temp_game_data.jinbi   == 'undefined' ) {// line 1

    this.temp_game_data.jinbi = 0; //line 2

  }//line 3


没想到在小游戏平台这个语法的第一行竟然不过, 本来就是想判断这个下标存在吗,不存在就给它赋值,结果第一行就给我报错了,错误原因就是下标不存在, 那么有其他的写法没有,求指教!


最后一次编辑于  09-01
回答关注问题邀请回答
收藏

3 个回答

  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    09-02

    if(this.hasOwnProperty('temp_game_data')){

    this.temp_game_data.jinbi = this.temp_game_data.jinbi || 0

    }else{

    this.temp_game_data = {jinbi:0}

    }


    09-02
    赞同
    回复 1
    • hejl
      hejl
      09-02
      多谢
      09-02
      回复
  • 涤生👌👌
    涤生👌👌
    09-02

    如果你真的想尝试在ts中使用Js的某些语法,

    注意判断 if (obj["jinbi"]){

    //do something

    }


    if (obj.hasXX("jinbi")){

    //dosomething

    }

    09-02
    赞同
    回复 1
    • hejl
      hejl
      09-02
      多谢
      09-02
      回复
  • 、、、
    、、、
    09-01

    this.temp_game_data.jinbi    =    this.temp_game_data.jinbi   == undefined ?0:this.temp_game_data.jinbi

    09-01
    赞同
    回复 4
    • hejl
      hejl
      09-01
      多谢了,我试试啊
      09-01
      回复
    • hejl
      hejl
      09-01
      刚才试了试,貌似只要访问到 .jinbi就会报这个错误,在浏览器的js语法里不会报这个错!
      09-01
      回复
    • hejl
      hejl
      09-01回复hejl
      不好意思,是我弄错了,不是因为jinbi没有,连this.temp_game_data这个值也不存在导致的
      09-01
      1
      回复
    • 、、、
      、、、
      09-02回复hejl
      看来你这个级别跟我一样啊
      09-02
      回复
问题标签