我真的很困惑。也許任何人都可以幫助我? 的問題如下:布爾對象在條件下無法正常工作
var isSignInside = new Boolean(someCondition);
if (!isSignInside) {
//doStuff
}
else {
//doOtherStuff
}
現在,如果isSignInside
是false
(調試器告訴我的),腳本仍然跳轉到//doOtherStuff
。怎麼會這樣? 該片段的其餘部分不具有針對性,但如果提問,我可以分享。 當然有一個簡單的解釋,我不明白。提前致謝。 編輯: someCondition真的是一個自定義的方法「強制」返回一個布爾,而不是(否則)一個字符串。 編輯:只是直接在if中使用函數。需要一些棘手的假設,但現在起作用。感謝提示,一個(布爾)對象不能===靜態布爾原語。地獄這個論壇很快。
'如果{// doStuff}其他{// doOtherStuff}'' – Erazihel
新布爾()'創建對象和對象總是會是真的。你只需要直接檢查你的情況。 '如果(!someCondition)' – Keith
在https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean第一個示例describies的正是這種情況。 –