inblog logo
|
강재영 블로그
    Dart

    4. null처리문법

    강재영's avatar
    강재영
    Sep 26, 2024
    4. null처리문법
    Contents
    3. 널 안전 호출 연산자 ?. (Null-aware Operator)4. 활용 널 안전 호출 연산자 ?. 와 널 대체 연산자 ?? 같이
     
    💡
    다트는 기본적으로 변수는 null을 가질수 없고 null로 인해 발생하는 오류를 방지하기 위한 여러가지 기법들이있다.
     

    1. 널 강제 해제 연산자 ! (Null Assertion Operator)

    • 설명: 이 연산자는 변수가 절대 null이 아니라고 확신할 때 사용합니다. null 값을 무시하고 변수의 값을 강제로 사용할 수 있게 합니다.
    • 주의점: 만약 변수에 null이 존재할 경우, 런타임 오류가 발생합니다. 매우 신중하게 사용해야 하며, 이 연산자는 위험할 수 있습니다.
     
    //null 처리 방법 int? findById(int id) { return id == 1 ? 1 : null; } void main() { int r1 = findById(1)!; // 무조건 있어 !! 위험한 코딩 print(r1); }
     

    2. 널 대체 연산자 ?? (Null Coalescing Operator)

    • 설명: 이 연산자는 왼쪽 피연산자가 null일 때, 오른쪽의 대체값을 반환합니다. 이를 통해 null 값 대신 기본값을 설정할 수 있습니다.
    int r2 = findById(5) ?? 0; // findById(5)가 null이면 0을 반환
     

    3. 널 안전 호출 연산자 ?. (Null-aware Operator)

    설명: 이 연산자는 변수가 null일 경우 그 뒤의 메서드나 속성에 접근하지 않고 null을 반환합니다. 이를 통해 null 값에서 발생할 수 있는 메서드 호출 오류를 방지합니다.
    double r3 = findById(5)?.toDouble() ?? 0.0; // findById(5)가 null이면 toDouble()을 실행하지 않음
     
     

    4. 활용 널 안전 호출 연산자 ?. 와 널 대체 연산자 ?? 같이

    int? findById(int id) { return id == 1 ? 1 : null; } void main() { double r3 = findById(5)?.toDouble() ?? 0; print(r3); }
     
    Share article
    Contents
    3. 널 안전 호출 연산자 ?. (Null-aware Operator)4. 활용 널 안전 호출 연산자 ?. 와 널 대체 연산자 ?? 같이

    강재영 블로그

    RSS·Powered by Inblog