ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 변수 Variables | Dart 강의 노트 (1)
    creative blog/이니셜 커밋의 달인 2023. 9. 20. 02:00

    출처: MS Bing Image Creator

    • 오늘 본 강의: 노마드 코더 > Dart 시작하기
      • #1 VARIABLES
        • #1.0 Hello World (03:36)
        • #1.1 The Var Keyword (03:07)
        • #1.2 Dynamic Type (03:35)
        • #1.3 Nullable Variables (06:09)
        • #1.4 Final Variables (02:08)
        • #1.5 Late Variables (03:16)
        • #1.6 Constant Variables (03:21)
        • #1.7 Recap (07:32)

    • `main()` 함수는 모든 Dart 프로그램의 entry point
      • 없으면 오류가 발생하며 프로그램이 실행되지 않음

     

    • `;` 필요
      • TypeScript나 JavaScript와는 달리 Dart에서 자동으로 처리되지 않음
      • Cascade operator라는 특수 기능 때문에 (DartPad.dev 또는 VSCode 등 어디에서도) 포맷터가 자동으로 처리해주지 않음

     

    • 데이터 자료형을 정확히 선언하지 않고 `var`로 선언할 수 있다.
      • 기본적으로 데이터 타입 추론 기능이 있음.
      • 단, 초기에 자동으로 판별된 자료형을 따라야 함.
      • 주로 함수 내 변수, 지역 변수들의 경우 `var`을 사용.
      • 클래스 변수는 주로 자료형을 명시.

     

    • 변수를 선언만 하고 아무 값도 입력하지 않을 수도 있음. (`dynamic`으로 선언하는 것도 가능)
      • Python에서와 같은 동적 자료형 사용 가능.
      • 변수의 자료형이 뭔지 확실하지 않을 때만 사용하고 그 외의 경우에는 사용 지양.
      • 타입이 달라지는 경우를 대비하여 outer scope에서 타입 체크를 해주어야 함.

     

    • null safety
      • 원래는 `null`을 참조할 경우 앱에서 심각한 오류 발생할 수 있음. 컴파일러가 잡을 수 없음. Dart에서는 이를 방지. (버젼 2.12에서부터 도입.)
      • `null`이 될 가능성이 있는 변수를 미리 nullable하게 처리 가능.
        • void main() {
            String? name = 'abcd';
            name = null;
            nico?.isNotEmpty;
          }

     

    • `final`로 선언된 변수들은 값이 바뀔 수 없음.(JavaScript/TypeScript의 `const`와 비슷)
    • `late`은 일반 `var`/`final`/... 변수를 값 없이 선언할 수 있게 해줌. 이후에 값이 입력되면 값이 고정될 수 있음.
    • `const`는 `final` 변수 처럼 값을 고정시키지만, 컴파일 때(on compile-time) 반드시 알고 있어야 하는 값.

     


    내 Dart & Flutter 실습 코드

    내 Dart & Flutter 노트

     

Copycat ⓒ 2009. 호미 Hommy. All rights not reserved.