错误:期望分配或函数调用,而是看到一个表达式

时间:2015-01-18 18:41:32

标签: javascript node.js

booking.save(function (error, data) {
    error ? console.log(error) : res.redirect('/');
});

此代码导致以下错误显示在Sublime Text:

Expected an assignment or function call and instead saw an expression

为什么?我的代码出了什么问题?它100%工作。我没有看到错误。

2 个答案:

答案 0 :(得分:3)

JSLint error不是JS错误。

在您的情况下,它认为三元运算符应仅用于

之类的赋值
var foo = bar ? 2 : 3;

因为没有assignmet JSLint认为该字符串无用。将其更改为if-else阻止或使用适当的设置使用JSHint。

答案 1 :(得分:0)

它希望函数体是一个语句列表。 JSLint抛出此警告是因为

error ? console.log(error) : res.redirect('/');

是一种体验,而不是一种陈述。要使警告消失,请改为使用if...else语句。

if(err) console.log(error);
else res.redirect('/');