[ Dart ] 02. Null Safety

duck-ach·2024년 10월 11일
0

Dart

목록 보기
3/8
post-thumbnail

Dart는 친절하게도 Null Safety를 지원한다고 한다.
Null Safety는 개발자가 null값을 참조할 수 없도록 하는 것이다.

기존에는 null값을 참조하면 런타임 에러가 발생할 수 있었지만, Null Safety를 통해 컴파일 전에 이러한 오류를 방지하기 위해 만들어졌다.

이는 사용자가 앱을 사용하는 동안 발생하는 런타임 에러를 최소화하여 더 안정적인 코드를 작성할 수 있도록 도와준다.


Null Safety 예시

Dart에서 Null Safety가 적용된 예시를 확인해보자.

String타입인 변수 string의 값이 0이라면 true, 아니라면 false를 반환하는 함수이다.

bool isEmpty(String string) => string.length == 0;

main() {
	isEmpty(null);
}

함수를 호출할 때 null을 파라미터로 보냈기 때문에 벌써 null에 빨간줄이 뜨고, 실행을 하더라도 에러가 뜰 것이다.


Nullable

하지만 개발을 하다보면 API 요청을 해서 불러온 데이터가 Null 일 수 도있고, Null을 사용해야 하는 경우가 분명 존재한다.
그럴 땐 Nullable이 되도록 바꿔보자.

변수 뒤에 ? 를 붙여 Nullable로 변경할 수 있다.
Nullable이 된다면 변수가 Null값이면 참조하지 않고, Null이 아니라면 함수가 실행될 것이다.

bool isEmpty(String? string) => string?.length == 0;

main() {
  isEmpty(null);
}

변수 선언을 할 때 타입에도 ?를 붙여주어야 하고, 해당 변수 뒤에도 ?를 붙여 함수를 호출한다.

실행결과 - null 값을 파라미터로 보냈기 때문에 참조하지 않아 결과가 없다.

profile
자몽 허니 블랙티와 아메리카노 사이 그 어딘가

0개의 댓글