预期的 jslint!而不是看到了?
jslint expected !! and instead saw?
现在在任何人链接这篇文章之前:
我想解释一下,我想我明白为什么 jslint 会给我这个错误,但是我不确定我将如何修改下面的代码行以利用 !!运算符。
active = $item.find('isActive').text() === 'true' ? true : false,
有人介意在这方面启发我吗?
我首先尝试这样做,但即使在我的新手眼中,我也能看出这基本上是胡说八道:
active = $item.find('isActive').text() === !! 'true' true : false,
我想写得干净 javascript 所以我宁愿得到一个关于为什么使用 !!代替 ?是很好的做法。遗憾的是,查看 JSLint 错误站点并没有对此有任何了解。
提前致谢
I am unsure as to how I would rework the line of code below to utilise the !! operator.
在这种情况下你不会,!!
和 ? :
在这里都不合适。 ===
计算为布尔值,因此很简单:
active = $item.find('isActive').text() === 'true'
所有等式运算符(===
、!==
、==
、!=
)和关系运算符(<
、<=
, >
, >=
) 产生真布尔值。
如果 你想根据某些东西是否 truthy 将 active
设置为布尔值(强制为 true
) 或 falsy (强制转换为 false
) then !!
是合适的。但不是当你已经有一个布尔值时。
例如,假设您想根据 str
是否为假来设置 blank
。那样的话,
blank = !!str
会很合理。
现在在任何人链接这篇文章之前:
我想解释一下,我想我明白为什么 jslint 会给我这个错误,但是我不确定我将如何修改下面的代码行以利用 !!运算符。
active = $item.find('isActive').text() === 'true' ? true : false,
有人介意在这方面启发我吗?
我首先尝试这样做,但即使在我的新手眼中,我也能看出这基本上是胡说八道:
active = $item.find('isActive').text() === !! 'true' true : false,
我想写得干净 javascript 所以我宁愿得到一个关于为什么使用 !!代替 ?是很好的做法。遗憾的是,查看 JSLint 错误站点并没有对此有任何了解。
提前致谢
I am unsure as to how I would rework the line of code below to utilise the !! operator.
在这种情况下你不会,!!
和 ? :
在这里都不合适。 ===
计算为布尔值,因此很简单:
active = $item.find('isActive').text() === 'true'
所有等式运算符(===
、!==
、==
、!=
)和关系运算符(<
、<=
, >
, >=
) 产生真布尔值。
如果 你想根据某些东西是否 truthy 将 active
设置为布尔值(强制为 true
) 或 falsy (强制转换为 false
) then !!
是合适的。但不是当你已经有一个布尔值时。
例如,假设您想根据 str
是否为假来设置 blank
。那样的话,
blank = !!str
会很合理。