Javascript double不等于true吗?

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) =

我有一个todolist应用程序。单击复选框时,项目将移动到已完成的待办事项部分。在完成的待办事项部分,我使用double not(!!)检查复选框是否未选中,然后返回未完成部分。我的问题是为什么我需要使用double!!,而不是使用检查?如果我使用isChecked并取消选中该框,todo将不会返回到未完成的部分

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谢谢我明白了