[Dart] Null 대체 연산자

기본적으로 Dart 는 null Safety라는 개념이 있어서 변수에 null이 들어올 수 없다. 그러나 타입 뒤에 `?` 를 붙이면 값에 null 이 들어올 수 있다.
HootJem's avatar
Sep 27, 2024
[Dart] Null 대체 연산자

Null 대체 연산자

notion image
기본적으로는 null Safety라는 개념이 있어서 변수에 null이 들어올 수 없다.
그러나 타입 뒤에 ? 를 붙이면 값에 null 이 들어올 수 있다.
 
차를 아빠에게 사달라고 했다 (돈이 생기면 무조건 사준다고 가정할때)
class 부자2대손 { late String car; }
부자 2대손은 돈이 있으니까 차를 나중에라도 확실하게 사 줄 수 있다. 이때 late를 사용하면, 변수를 미리 선언할 수 있고 나중에 값을 반드시 할당할 것을 보장한다. 하지만 값을 할당하지 않고 사용하면 오류가 발생한다.
class 로또당첨될까 { String? car; }
로또 당첨 여부는 불확실하다. 즉, 차가 있을 수도, 없을 수도 있다. 이때는 ?를 사용해 변수에 null이 들어올 수 있음을 허용해야 한다. nullable 변수는 null 여부를 항상 체크해야 한다.
String? username = null; class A { int? num; late int num2; } void main() { print(username); // null print(username ?? "임시아이디"); // 임시아이디 }
if는 실행문이다.
-> return 값이 없다.
삼항연산자는 expression이다.
-> return 있다.
Dart의 삼항연산자. A ?? B
A가 null이 아니면 A리턴. A가 null이면 B리턴
 
Share article

[HootJem] 개발 기록 블로그