Javascript double不等于true吗?
我有一个todolist应用程序。单击复选框时,项目将移动到已完成的待办事项部分。在完成的待办事项部分,我使用double not(!!)检查复选框是否未选中,然后返回未完成部分。我的问题是为什么我需要使用double!!,而不是使用检查?如果我使用isChecked并取消选中该框,todo将不会返回到未完成的部分Javascript double不等于true吗?,javascript,boolean,Javascript,Boolean,我有一个todolist应用程序。单击复选框时,项目将移动到已完成的待办事项部分。在完成的待办事项部分,我使用double not(!!)检查复选框是否未选中,然后返回未完成部分。我的问题是为什么我需要使用double!!,而不是使用检查?如果我使用isChecked并取消选中该框,todo将不会返回到未完成的部分 let isChecked = false // check todo $('.active_todos').on('change', '.todo_check', (e) =
let isChecked = false
// check todo
$('.active_todos').on('change', '.todo_check', (e) => {
if ($('.todo_check').is(':checked')) {
$(e.target).parent().addClass('completed')
$('.complete_todos').append($(e.target).parent())
isCheked = true;
incompleteTodocount--;
updateCount()
}
})
// checked item back to actived section
$('.complete_todos').on('change', '.todo_check', (e) => {
if (!!isCheked) {
$(e.target).parent().removeClass('completed');
$('.active_todos').append($(e.target).parent());
incompleteTodocount++;
updateCount()
}
})
isChecked
vs.isChecked
。这只是打字错误吗?你不需要代码>如果您已经在处理布尔值。这对于将某个对象呈现为布尔值很有用,但在if
中也没有意义,因为该函数已经将该表达式作为布尔值进行计算。如中所示,让x=!!如果y
可以是0
或1
,并且您希望分别为false
或true
,但是如果(!!y)
没有,则是有意义的。代码>生成一个布尔值。。。因此,它将“falsy”值强制为false
,否则true
-所以,结果是代码>取决于应用它的内容to@tadman是的,是的typo@tadman谢谢我明白了