Function
Named parameter(argument)
선언법 : 파라미터에 { } 중괄호로 전부 묶어줘서 나타내주기
사용법 : 함수를 사용할 때, 중괄호로 묶었던 파라미터의 이름을 사용하여 값을 넣어주기, 여기서 이름을 사용하여 값을 지정해주므로 굳이 파라미터의 순서를 외울 필요가 없어짐
다만, Named parameter 를 사용하면 null 값을 받아버리게 되었을 때 예외처리가 되지 않는다는 문제점이 있어서
1. 파라미터 선언 시, = 값 으로 default value 를 지정하기
2. Named parameter 앞에 required 키워드를 사용하여 필수 입력값임을 나타내주기
required 를 사용해주면, 해당 파라미터를 받아주지 않았을 때 에러가 생긴다.
** named parameter <-> positional parameter (기본 함수 방식, 파라미터 순서 중요)
Optional positional parameter
선택적 파라미터로 만들어주려면,
1. 파라미터에 [ ] 대괄호를 씌워주고
2. 타입 뒤에 nullable 표시 (?)
3. default value 넣어주기
Operator
??
좌항 ?? 우항 이면
좌항 값이 null 이라면 -> 우항을 반환
좌항 값이 null 이 아니라면 -> 좌항을 반환
리액트의 && 연산에서 true/false 확인해서 리턴되는거랑 비슷하다고 보면 됨.
??=
nullable 한 변수가 있을 때, 해당 변수가 null 인 경우 값을 할당해주라는 연산자
타입? 변수명;
변수명 ??= 값;
예를 들엉 책의 이름이 입력되어야 하는데 입력 되지 않았다면
자동으로 프로파간다가 책이름으로 들어가는 것임..
Typedef
자료형이 헷갈릴 때 사용할 alias 를 만드는 방법, 간단한 경우 사용
typedef 키워드를 붙여서 원하는 타입명을 붙여주고 사용해줄 타입을 지정해준다.
예를들어, 아래처럼 Map 을 사용한다던가..
하지만 typedef 는 간단한! 타입에 써주는게 맞다고 함
이 이상 복잡해지는 경우엔 class 를 사용해준다고 한다. 클래스는 다른 글에서 자세히 다룰 예정이다.
다트 언어는 몇가지 빼곤 C# 과 매우매우 유사한거 같다. iterator 같은 것도 그렇고...
그래서 아직까진 어렵지 않다.
'App Study > Dart & Flutter' 카테고리의 다른 글
노마드코더 Dart Begginer - 4 (0) | 2023.06.07 |
---|---|
노마드코더 Dart Begginer - 2 (0) | 2023.06.04 |
노마드코더 Dart Begginer - 1 (0) | 2023.06.03 |