728x90
반응형
QQ operator는 다음과 같은 코드를 더욱 간단하게 만들어 줍니다.
String UpperString(String? word) {
// 1. if 문
if (word != null) {
return word.toUpperCase();
}
// 2. 삼항연산자
return word != null ? word.toUpperCase() : '';
}
UpperString() 함수에 전달된 값이 null이 아닐 때 toUpperCase() 메소드를 실행하는 코드입니다.
String UpperString(String? word) {
return word?.toUpperCase() ?? '';
}
word가 null이 아니면 toUpperCase() 메소드를 실행하고 아니면 빈 문자열을 반환합니다.
String UpperString(String? word) {
// 1. if 문
if (word != null) {
return word.toUpperCase();
}
return '';
// 2. 삼항연산자
return word != null ? word.toUpperCase() : '';
// 3. QQ operator
return word?.toUpperCase() ?? '';
}
void main() {
var upper_string = UpperString(null);
print(upper_string);
}
위의 코드를 주석 처리해서 테스트 해보시면 모두 동일한 결과가 잘 나오는 것을 확인할 수 있습니다.
추가적으로
void main() {
String? name;
name ??= 'name'; // name이 null이면 문자열 할당
name ??= 'nickname'; // 오류
name = null; // null
name ??= 'nickname'; // 정상
print(name);
}
반응형