dart의 const는 javascript나 typescript의 const와는 다르다.
javascript나 typescript의 const는 dart의 final과 비슷하고, dart에서 const 키워드는 compile-time constant를 만들어준다.
const는 complie-time에 알고 있는 값이어야 한다. const를 이용해 변수에 값을 지정한것은 바뀌지 않고, compile time에 알 수 있다. 이는 하드코딩(데이터를 코드 내부에 직접 입력)된것이다.
이를 잘못 사용한 경우는 다음과 같다.
const API = fetchApi();
fetchApi는 API에 요청해서 받아와야 하는 값이기 때문에 compile time에 값을 알 수 없다. 따라서 const가 되면 안된다.
간단하게 말하면 앱스토어에 앱을 올리기 전에 알고 있는 값이어야 한다.
사용자가 화면에서 입력해야 하는 값이라면 final이나 var이 되어야 한다.
노마드 코더님의 dart 강의를 보고 정리하였습니다