Javascript中属性初始化的简写if语句

时间:2015-06-04 23:45:32

标签: javascript validation jshint shorthand-if

为了使我的代码更清晰,我在javascript文件中执行以下操作:

var _weight;

function getWeight(){
    _weight || InitializeWeight();

    // do some stuff

    return _weight;
}

function InitializeWeight(){
    _weight = 3;
}

JSHint会对像“_ weight || InitializeWeight()”这样的简写语句抛出错误:

  

期望一个赋值或函数调用,而是看到一个表达式。

所以我检查它是否未定义,请调用此方法。

这真的错了吗?它运作得很好。

如果没有JSHint抨击我,我该如何撰写此声明?

1 个答案:

答案 0 :(得分:0)

您可以使用expr选项:

/*jshint expr: true */

var _weight;

function getWeight(){
    _weight || InitializeWeight();

    // do some stuff

    return _weight;
}

function InitializeWeight(){
    _weight = 3;
}