[英]How can I suppress the JSHint “JSCS: Illegal Space” warnings in Visual Studio 2013?
[英]How can I suppress warnings for using '!!' (not not)?
在我的項目中 jshint 抱怨!!
我需要將字符串轉換為布爾值
var x = 'true';
if ( !!x === true ) { ... }
所以,jshint 拋出了以下問題:
line 35 col 20 Confusing use of '!'.
我應該禁用什么 jshint 選項以允許這樣做? 或者那是不可能的?
看起來問題出在===
。 簡單地
if (!!x )
工作正常。
我認為“令人困惑”的部分是!!foo === bar
難以解析優先級(是(!!foo)==bar
還是!(!foo==bar)
?)。
警告:這不會按照您希望的方式進行評估
var myBool = Boolean("false"); // == true
var myBool = !!"false"; // == true
如果您不想讓 jshint 對您大喊大叫,那么在比較 bool == 時您也不需要 === 相同。 但是,如果您正在制作 bool 值,則根本不需要比較它。
if(myBool)
{
//some code here
}
或者
if(!myBool)
{
//some code here
}
要將值作為 bool 獲取,您可能只想進行字符串比較
var mybool = aString == "true";
這應該讓你得到你正在尋找的東西,然后你可以:
if(myBool)
{
//some code here
}
這個特殊的“功能”在社區中引起了如此多的痛苦。 您可以通過將其放在 .jshintrc 配置文件中來禁用它。
{
"-W018": true
}
要真正回答這個問題,不提供解決方法,可以通過以下方式在 jshint 中禁用此錯誤
-W018
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.