null safety
포스트
취소

null safety

  • Dart는 강한 Null 안정성을 가지고 있다.
  • null로 설정된 변수에 의해 예상치 못하게 발생하는 오류를 예방한다.
  • Dart 3 버전부터 지원한다.
    • 이전 버전에서는 별개의 설정이 필요하다.

변수의 초기화에 대한 차이

null을 저장할 수 없는 변수

String name = "홍길동"; //값 초기화
print(name);

String address;
print(address); //오류 발생

Null을 저장할 수 있는 변수

String? name = "홍길동";
print(name); //출력 : 홍길동

String? address;
print(address); //출력 : null

null 조건 연산자 (?)

  • 잘못된 참조로 인한 오류를 방지해준다.
  • 잘못된 참조일 경우에는 null 값을 반환한다.
String? temp = null;

//출력 : null
print(temp?.length);

null 인식 연산자 (??)

  • 값이 null일 경우에 대한 기본 값을 설정해준다.
String? step1 = null;
String step2 = step1 ?? "This is Step2"; //기본 값 설정

print(step2); //출력 : This is Step2

값 보증 연산자 (!)

  • 보유하고 있는 값이 null이 아님을 나타낼 때 사용한다.
  • 코드의 흐름상 null이 아님을 확신할 수 있을 때만 사용해야 한다.
  • 잘못 사용하면 런타임 에러가 발생하게 된다.
String? temp = "abcdef";
print(temp!.length); //출력 : 6
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.