[Dart] dart 입문 (3) - Null safety

EnaZero·2023년 8월 20일
0

Null safety란?

NULL

null은 부재(없음, 아무것도 있지 않음)이다.
null safety는 개발자가 null값을 참조할 수 없도록 하는 것
코드에서 null 값 참조시 Runtime Error(사용자가 사용시에 발생하는 문제) 발생 : 컴파일러가 잡아내지 못한다.
Dart는 몇몇 구버전에 대해서는 null safety가 없을수도 있다.

Null safety방식

  1. dart에서는 어떤 변수가 null이 될 수 있음을 정확히 표시해야한다. 어떠한 변수가 null값이 될 수도 있음을 나타내기 위해서는 변수 선언시에 자료형 뒤에 '?'를 붙여줘야 한다. 기본적으로 모든 변수들은 non-nullable이고, 자료형 뒤에 '?'을 붙여줌으로써 nullable로 만들 수 있다. 예를들어,
void main() {
String? name = 'ena';
name = null;
}

라고 적으면 변수 ena는 string이 될 수도, null이 될 수도 있다.
따라서 string method인 .length를 사용하려고 하는 경우에, 컴파일러가 ena.lengthena가 null 값일수도 있음을 알려준다.
사용시에는, 조건문을 넣어 변수가 null인지 아닌지 확인하는것이 좋다.

void main() {
String? name = 'ena';
name = null;
if (name != null){
	name.isNotEmpty;
    }

위보다 단순하게 작성하려면 다음과 같이 할 수 있다.

void main() {
String? name = 'ena';
name = null;
name?.isNotEmpty;

이는 ena가 null이 아니라면 isNotEmpty속성을 달라고 요청하는 것이다.

노마드 코더님의 dart강의 내용 정리한 것입니다

0개의 댓글