아래 코드에 나오는 ?? 이중 물음표에 대해 궁금하시다니! 좋은 질문이에요!
이중 물음표(??)는 다트(Dart)에서 널(null) 검사를 간단하게 처리하는 방법 중 하나에요.
아래 코드를 함께 살펴볼까요? 😄
코드
final myStringList = prefs.getStringList('my_string_list_key') ?? [];
위의 코드는 prefs.getStringList('my_string_list_key')에서 반환된 값이 널(null)이라면 빈 리스트([])를 할당하는 역할을 해요.
?? 연산자는 왼쪽 피연산자가 널(null)이 아니라면 왼쪽 피연산자의 값을 반환하고, 널(null)이라면 오른쪽 피연산자의 값을 반환해요.
즉, 위의 코드는 prefs.getStringList('my_string_list_key')에서 반환된 값이 널(null)이면 빈 리스트([])를 할당하고, 널(null)이 아니라면 해당 값을 그대로 할당하는 거죠.
이렇게 함으로써 널(null) 검사를 간단하게 처리할 수 있어요. 널(null)인 경우에 대비하여 기본값을 설정하는 용도로 자주 사용되는 연산자에요!
널(null) 처리를 간단하게 하기 위해 ?? 연산자를 사용할 수 있어요. 앞으로도 많이 활용해보세요! 😊