代码之家  ›  专栏  ›  技术社区  ›  Jordan Davis

简写if/else变量存在

  •  0
  • Jordan Davis  · 技术社区  · 9 年前

    我只是运行一个函数,检查变量 year 如果未设置,则设置 new Date().getFullYear() .

    我得到的错误:

    未捕获引用错误:未定义年份

    year = (year) ? year : new Date().getFullYear();
    console.log(year);
    

    为什么我不能检查 是否存在,如果不设置它?

    3 回复  |  直到 9 年前
        1
  •  7
  •   Wainage    9 年前

    year = year || new Date().getFullYear();

    用于检查功能参数

        2
  •  1
  •   Joe    9 年前

    可以使用对象符号:

    // In the global scope window is this
    this['year'] = this['year'] ? year : (new Date).getFullYear();
    console.log(year);
    

    或者更好的使用 typeof

    year = (typeof year === "undefined") ? (new Date()).getFullYear() : year
    
        3
  •  1
  •   Parameswaran N    3 年前
    year = year ?? new Date().getFullYear();
    

    另一种方式