해결된 질문
작성
·
39
0
function handleTodoItemClick(clickedId){
todoArr = todoArr.map(function(aTodo){
return aTodo.todoId !== clickedId ?
aTodo : { ...aTodo, todoDone: !aTodo.todoDone }
})
displayTodos()
saveTodos()
}
여기서 클릭하지 않은 할일은 그냥 그대로 반환한다는 것까진 이해했습니다만, !연산자를 통해 클릭한 할일의 경우 어떻게 되는건지, 삼항연산 중 '거짓일 경우의 결과' 부분이 이해가 안갑니다.ㅠ
답변 1
1
삼항연산자를 보면 clickedId 가 참일 때, 기존 aTodo 객체를 그냥 리턴하고
거짓일 때 기존 aTodo 객체에서 todoDone 의 값을 ! 을 이용해서 boolean 값을 반대로 설정하여 새로운 aTodo 객체를 반환하도록 하고 있습니다. !true -> false
, !false -> true