Menu
Coddy logo textTech

널 인식 연산자

Coddy Dart 여정의 기초 섹션에 포함된 레슨 — 94개 중 28번째.

null-aware 연산자(??)는 왼쪽 표현식이 null이 아니면 왼쪽 표현식을 반환하고, 그렇지 않으면 오른쪽 표현식을 반환합니다.

void main() {
  String? name = 'Dart';
  String displayName = name ?? 'Guest';
  
  print('Hello, $displayName!');
}
void main() {
  String? name = null;
  String displayName = name ?? 'Guest';
  
  print('Hello, $displayName!');
}
void main() {
  int? score;  // 초기값 없음, null로 기본 설정
  int displayScore = score ?? 0;
  
  print('Your score: $displayScore');
  
  // 프로그램 후반에서 score에 값이 할당됩니다
  score = 100;
  displayScore = score ?? 0;
  
  print('Your updated score: $displayScore');
}
challenge icon

챌린지

쉬움

Dart에서 null-aware 연산자(??)를 사용하는 프로그램을 작성하세요:

  1. username이라는 이름의 nullable String 변수를 선언하고 null로 설정하세요
  2. userAge이라는 이름의 nullable int 변수를 선언하고 null로 설정하세요
  3. null-aware 연산자를 사용하여 username이 null인 경우 새 변수 displayName에 기본값 "Guest"를 할당하세요
  4. null-aware 연산자를 사용하여 userAge이 null인 경우 새 변수 displayAge에 기본값 18를 할당하세요
  5. 정확히 다음 형식으로 값을 출력하세요:
Username: Guest (default value used)
Age: 18 (default value used)

그 후:

  1. username"DartUser"로 업데이트하세요
  2. userAge25로 업데이트하세요
  3. 업데이트된 값으로 3단계와 4단계를 반복하세요
  4. 정확히 다음 형식으로 값을 출력하세요:
Username: DartUser (original value used)
Age: 25 (original value used)

치트 시트

null 인식 연산자(??)는 왼쪽 표현식이 null이 아니면 왼쪽 표현식을 반환하고, 그렇지 않으면 오른쪽 표현식을 반환합니다.

String? name = null;
String displayName = name ?? 'Guest';  // name이 null이므로 'Guest'를 반환합니다

int? score = 100;
int displayScore = score ?? 0;  // score가 null이 아니므로 100을 반환합니다

직접 해보기

void main() {
  // 널 가능 변수 선언
  String? username = _;
  int? userAge = _;
  
  // 기본값을 위한 null 인식 연산자 사용
  String displayName = username ?? _;
  int displayAge = userAge ?? _;
  
  // 초기 값 출력
  print("Username: $displayName (default value used)");
  print("Age: $displayAge (default value used)");
  
  // 변수 업데이트
  username = _;
  userAge = _;
  
  // null 인식 연산자 다시 사용
  displayName = username _ "Guest";
  displayAge = userAge _ 18;
  
  // 업데이트된 값 출력
  print("Username: $displayName (original value used)");
  print("Age: $displayAge (original value used)");
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨