DART
[노마드코더 : Dart 시작하기] #3.4 QQ Operator
유호야
2022. 11. 18. 07:54
반응형
String capitalizeName(String? name) => name.toUpperCase();
//String? : name이 null일 수도 있다....
void main() {
print(capitalizeName('nico'));
print(capitalizeName(null));
}
null 일 경우에는
String capitalizeName(String? name) {
//String? : name이 null일 수도 있다....
if (name != null) {
return name.toUpperCase();
}
return "anon";
}
void main() {
print(capitalizeName('nico'));
print(capitalizeName(null));
}
위의 코드를 예쁘고 짧게 바꿔보자
삼차다항식(?)이었나 ? :
String capitalizeName(String? name) =>
name != null ? name.toUpperCase() : "ANON";
void main() {
print(capitalizeName('nico'));
print(capitalizeName(null));
}
그리고 QQ를 살펴보자
아주 간단한 것이
왼쪽이 null이면 ?? 뒤의 오른쪽 값을 반환하겠다는 것
String capitalizeName(String? name) => name?.toUpperCase() ?? "ANON";
void main() {
print(capitalizeName('nico'));
print(capitalizeName(null));
}
name 값이 null 일 수도 있어서 에러가 뜬다.
해당 부분은 name 옆에 ? 를 붙여준다.
반응형