Dart 발 들이기

바람찬허파·2023년 8월 11일
0

사람책 개발 공부

목록 보기
1/6
post-thumbnail

노마드 코더의 'Dart 시작하기' 강의 #1 VARIABLES을 기반으로 정리하였습니다.

변수 선언 방법

dart에는 2가지의 선언 방법이 존재.
1. var x = 'hello';
2. String y = 'hello';

var-> 함수나 메소드 안에서 지역 변수를 정의
타입 명 -> class 내의 property

최대한 var을 사용하는 것이 권장됨

null safety

null값을 참조하지 않게 막아주는 역할

기본적으로 모든 변수는 non-nullable

어떤 변수가 null이 될 수 있다면 -> ?을 표시
e.g. String? name -> String / null도 될 수 있음을 의미

사용하기 전에 null인지 체크해줘야 함
name?.isNotEmpty;
if(name != null) {
name.isNotEmpty;
}
-> name이 null이 아니라면 insNotEmpty 속성을 가져 옴.

언제 사용?

  • 어떤 변수가 null이 될 수 있을 때
  • API에서 데이터 받아올 때 변수를 nullable하게 선언함

nullable을 위해서는 ?를 꼭 표시해야 함

final

js의 const와 동일한 개념
한 번 정의하면 바꿀 수 없음 (값을 재할당 할 수 없음)

dynamic

어떤 타입이 들어올지 모를 때 사용
최대한 조심히 사용할 것

dynamic name;
//모두 가능
name = 'Jisoo'
name = 13
name = true


//dynamic 타입의 변수를 사용하기 전에 확인해야 함
if (name is String) {
	//Something
}

late

초기 데이터 없이 변수 선언 가능

late final String name ;
//Do something (API에서 받아옴)
name = 'Jisoo';

언제 사용?

  • 아직 필요한 데이터가 없을 경우
  • API에서 데이터를 가져오면, 변수에 해당 값을 넣어줌

변수를 사용할 때, 변수에 값을 넣었는지 확인해 줌 (아직 정의되지 않은 변수를 사용하지 않도록)

값을 넣기 전에는 print(name); 등의 작업을 할 수 없음을 알려줌

의문점
그렇다면 API에서 name을 받아와야 한다면, 어떻게 선언?
late final String name; > API에서 받아온 값을 나중에 넣을 수 있음
String? name; > 처음에는 null이고, API 받아온 값을 나중에 넣음

const

dart의 const는 javascript,typescript와는 다르다.
dart의 final == js의 const

const

  • compile time constant
  • 변경할 수 없는 상수
  • 컴파일 시에 알고 있는 값
  • (앱에 담긴 코드를 앱 스토어에 보내기 전에 알고 있는 값)

const가 될 수 없는 경우

  • 어떤 값인지 모름
  • 그 값이 API로부터 옴
  • 사용자가 입력해야 하는 값
    --> 모두 final이나 var로 선언해야 함

<-> final
final은 런타임 중에(앱을 실행하면서) 변수를 만들 수 있음
form에 입력한 user name을 받아서 변수를 만들 수 있음

https://nomadcoders.co/dart-for-beginners/

1개의 댓글

comment-user-thumbnail
2023년 8월 11일

좋은 정보 얻어갑니다, 감사합니다.

답글 달기