변수에 대해서 (dart)

훈나무·2023년 6월 1일
0

dart

목록 보기
7/8
post-thumbnail

var

var는 타입을 자동으로 추론합니다. 하지만, 초기화 하지 않은 경우에는 타입을 추론할 수 없으므로 dynamic 으로 설정됩니다. 이는 피해야 하는 상황입니다.

var를 사용할 때는, 꼭 초기화를 해주기!! 그렇지 않을 경우 dynamic타입으로 되어서 에러를 유발하기 쉬움

var greeting = 'hello world'; // 이 경우 greeting 의 type은 String
var notInitialized;

notInitialized = 'Hi there';

final vs const

final과 const는 사실 거의 비슷합니다
하지만, 똑같다면 존재하지 않겠죠!

final은 한번 선언 되면 바뀌지 않는 변수입니다.
const는 변수가 아닌 상수입니다.

class Hello extends StatelessWidget {
  const Hello({
    super.key,
    required this.label,
  });
  final String label; //const 로 변경하면 에러가 발생함

  
  Widget build(BuildContext context) {
    return Text(label);
  }
}

Hello라는 위젯은 label을 인자로 받아 보여주는 위젯입니다. 여기서 label의 값은 컴파일 할때 지정된 값이 아닌, 동적으로 바뀌는 값이기 때문에, final을 사용해야 하고 const를 사용할 경우에는 에러가 발생합니다.

즉 const는 초기화가 되어있는 상수입니다!

profile
프론트엔드 개발자 입니다

0개의 댓글