인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

김진우님의 프로필 이미지

작성한 질문수

입문자를 위한 자바스크립트 기초 강의

(ToDoList 실습) ! 연산자에 대해

해결된 질문

작성

·

39

0

function handleTodoItemClick(clickedId){
  todoArr = todoArr.map(function(aTodo){
    return aTodo.todoId !== clickedId ? 
    aTodo : { ...aTodo, todoDone: !aTodo.todoDone } 
  })
  displayTodos()
  saveTodos()
}

여기서 클릭하지 않은 할일은 그냥 그대로 반환한다는 것까진 이해했습니다만, !연산자를 통해 클릭한 할일의 경우 어떻게 되는건지, 삼항연산 중 '거짓일 경우의 결과' 부분이 이해가 안갑니다.ㅠ

답변 1

1

Coding bear님의 프로필 이미지

삼항연산자를 보면 clickedId 가 참일 때, 기존 aTodo 객체를 그냥 리턴하고

거짓일 때 기존 aTodo 객체에서 todoDone 의 값을 ! 을 이용해서 boolean 값을 반대로 설정하여 새로운 aTodo 객체를 반환하도록 하고 있습니다. !true -> false , !false -> true