ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Dart#4. 문법 기초 정리 (Optional Parameters, Null Safety, Typedef)
    프론트/Dart 2025. 10. 1. 19:56

    1. 선택적 위치 파라미터 (Optional Positional Parameters)

    Dart에서는 함수의 매개변수를 선택적으로 받을 수 있음. 대괄호 [] 안에 넣고 기본값을 주면, 인자를 생략해도 함수 호출이 가능하다.

    String sayHello(String name, int age, [String country = 'cuba']) =>
        'Hello $name, you are $age years old from $country';
    
    void main() {
      print(sayHello('jeongwon', 24));  
      // country를 생략했으므로 기본값 'cuba' 사용
    }

    👉 핵심: 대괄호 [] + 기본값 으로 선택적 파라미터 구현


    2. Null Safety와 특수 연산자

    Dart는 null safety를 지원한다.

    • ?. → null이 아니면 실행
    • ?? → null이면 오른쪽 값 사용
    • ??= → null일 때만 대입
    String capitalizeName(String? name) =>
        name?.toUpperCase() ?? 'ANON';
    
    void main() {
      print(capitalizeName('jeongwon')); // JEONGWON
      print(capitalizeName(null));       // ANON
    }
    void main() {
      String? name;
      name ??= 'jeongwon'; // null이므로 대입
      name ??= 'another';  // 이미 값이 있으므로 무시
      print(name); // jeongwon
    }
     

    👉 핵심: 널일 수도 있는 상황을 안전하게 처리하는 문법


    3. typedef (타입 별칭)

    긴 타입 이름을 짧고 읽기 좋게 만들 수 있다.

    typedef ListOfInts = List<int>;
    
    ListOfInts reverseListOfNumbers(ListOfInts list) {
      return list.reversed.toList();
    }
    
    typedef UserInfo = Map<String, String>;
    
    String sayHi(UserInfo userInfo) {
      return "Hi ${userInfo['name']}";
    }
    
    void main() {
      print(reverseListOfNumbers([1, 2, 3])); // [3, 2, 1]
      print(sayHi({"name": "jeongwon"}));     // Hi jeongwon
    }

     

    👉 핵심: 코드 가독성을 높이고 의미 있는 이름을 줄 수 있음


    오늘 느낀 점 ✍️

    • Dart 문법이 생각보다 간결하면서도 강력하다.
    • 특히 ??, ??=, ?. 같은 연산자는 널 처리 코드량을 줄이는 데 유용하다.

    '프론트 > Dart' 카테고리의 다른 글

    Dart# Fin. OOP 의 심화(상속, 추상, Mixin)  (0) 2025.10.07
    Dart 5#. 클래스와 생성자  (0) 2025.10.06
    Dart#3. 함수  (0) 2024.11.03
    Dart#2. 자료형  (0) 2024.10.29
    Dart #1. Hello World  (0) 2024.10.27
Designed by Tistory.