변수의 타입
var
- 관습적으로 함수나 메소드 내부에 지역변수 선언할 때 사용
Type notation 타입 지정
- class에서 변수나 property 선언할 때 사용
Dynamic type
- 타입스크립트에서 any와 같은 느낌. 사용하지 않는 것을 권장한다.
dynamic 변수명;
var 변수명;
하고 할당하지 않는다.
- 타입 가드 사용 가능!
- if (변수명 is String)
Nullable variables
- null safety를 지원한다. 기본적으로는 non-nullable
String? 변수명 = 변수;
- ? 마크를 타입 뒤에 붙이면 nullable한 변수가 된다.
- 이 변수를 사용하려면 null 인지 여부에 대한 타입가드를 해줘야한다.
- 이때 if문을 사용하거나 ?를 사용할 수 있다.
void main() {
String? dog = 'seolgi';
seolgi = null;
if(seolgi != null) {
seolgi.isNotEmpty;
}
seolgi?.isNotEmpty;
}
Final variables
- 수정할 수 없는 변수
- const와 같다.
- 타입 지정도 할 수 있다.
final (String) 변수명 = 변수;
Late variables
- 초기화 하지 않은 변수를 선언할 때 사용
- final이나 var 앞에 쓴다.
late final String name;
- API로 데이터 받아 담을 변수용!
- 값을 할당받기 전에 접근하지 못하게 도와준다.
Constant Variables
- js에서 const와 다르다! 주의!
- compile time constant를 만든다.
- 컴파일 전에 알고있는 값에 사용
- 앱에서 사용할 상수에 사용한다.
const max_allowed_price = 120;