강의: #1.4 Final Variables
강의: ##1.5 Late Variables
강의: #1.6 Constant Variables
한번 정의된 변수를 수정할 수 없게 만들려면 final 사용
void main() {
final name = 'haro';
}
void main() {
final String name = 'haro';
}
var 대신 final 변수를 만들면 변수를 수정할 수 없음.
late는 final이나 var 앞에 붙여줄 수 있는 수식어
late는 초기 데이터없이 변수를 선언할 수 있게 해줌.
즉, 변수를 만드는데 데이터가 없는 것. late를 사용하면 변수를 먼저 만들고 데이터를 나중에 넣을 수 있게 해줌. 또한 late를 선언 후, 값을 넣기 전에는 접근하지 않아야 한다는 것을 dart가 알려줌.
데이터를 모르고 있을 때 late 기능이 필요, 예를 들어 API에서 얻어온 값을 써야할 때 필요함.
void main() {
late final String name;
name = 'haro';
print(name);
}
javascript나 typescript의 const는 dart의 final과 비슷함.
dart에서 const는 compile-time constant를 만들어준다.
가장 중요한 것은 const는 compile-time에 알고 있는 값이어야 한다는 것.
const는 컴파일 할 때 알고 있는 값에 사용하는 것. 즉, 앱스토어에 앱을 올리기 전에 알고 있는 값을 말함.
API의 값을 요청하여 어떠한 값을 받아올 때에는 const 가 아닌 final을 사용해야함.
ex)
const API = '121212'; -> O
const API = fetchApi(); -> X
final API = fetchApi(); -> X
^오^