Inflearn brand logo image

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

김정아님의 프로필 이미지
김정아

작성한 질문수

앱 개발 입문자를 위한 플러터 네컷일기 만들기 with 피그마

삼항 연산자의 이해

dart ?? 연산자에 대하여 문의드립니다.

작성

·

35

0

안녕하세요,

수강중에 궁금한 점이 생겨서요 ㅠㅠ..

?? 를 사용할시 null 인경우 기본값을 할당해서 사용가능하다고 하셨는데,

??를 이용해서 x ?? 0 + 2; 로 x가 null인 경우 0을 기본값으로 두고 2를 더하도록 식을 구성한 후,

x를 print 해보니 x에 2가 할당되지 않는 것 같습니다,, 왜그런 걸까요 ㅠㅠ

image.png

 

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

김정아 님이 작성하신 x ?? 0 + 2 표현식은 xnull일 경우 0 + 2를 사용한다는 의미이며, 이 결과는 임시로 사용될 뿐 x에 할당되는 것은 아닙니다. ?? 연산자는 기본값을 반환하기 위한 것이지 변수에 할당하거나 값을 변경하는 것이 아닙니다.

따라서 기존 x의 값이 변경되지 않았으므로 xprint하면 여전히 null로 출력됩니다. x에 할당하고자 한다면, x = (x ?? 0) + 2; 와 같은 형태로 사용하셔야 합니다.

추가로 참조하실 수 있는 정보는 다음 URL을 참고해 주세요: Dart Null-aware Operators.

김정아님의 프로필 이미지
김정아

작성한 질문수

질문하기