01. [Dart] 언어의 변수 타입
01. var
묵시적 사용
var implied = "묵시적";
implied = "implied";
tip
함수나 메소드 내부에서 지역 변수를 선언할 때 사용
명시적 사용
String explicit = "명시적";
explicit = "explicit";
tip
class에서 변수나 속성을 선언할 때 사용
02. dynamic
묵시적 dynamic
var value;
value = "abc";
value = 123;
value = true;
명시적 dynamic
dynamic dnm;
dnm = "qwerty";
dnm = 999;
dnm = false;
03. null safety 변수
dart에는 null값 들어와도 null 참조 에러 안나게 하는 방법이 있다.
바로 ?
를 사용하면 된다. 자바스크립트 처럼
String? nullSafe = "null";
nullSafe = null;
nullSafe?.isNotEmpty;
위와 같이도 사용 가능
04. final
dart에서 상수 선언하는 방법이다.
final fn = "can only be set once";
final String fn2 = "명시적 선언도 가능하다.";
05. late
late는 초기 데이터 없이 변수를 명시적으로 선언할 수 있도록 해준다.
tip
"late키워드는 값의 초기화를 뒤로 미루지만, 개발자가 null을 실수로 사용하는것을 막아준다."
late final String str;
str="aaa";
정리하자면 nullable과 헷갈리지 않기 위해 사용 그리고 API 응답 받아오는데 많이 사용한다니 알고있자
06. const
띠용? 할 수 있는 변수 다트에도 const가 있지만 자바스크립트와는 다름 const > compile time constant를 만들어줌 compile time constant > compile-time에 값을 알고 있어야 함. final보다 엄격한 상수라고 생각하면 된다.
// 이건 가능
const APIKey = "asdkl1ltl1bajf092j1";
// 밑은 불가능 final쓰세요
const cant = "어떤 함수의 return값은 const로 사용할 수 없음 ex) const sum = add(1,2)";
정리
final > 그냥 상수
const > 엄격한 상수 (무조건 하드코딩)