Nomadcoders - Dart 시작하기 #3
in Flutter
Positional Parameter, Named Parameter, Optional Positional Parameter, QQ Operator, QQ Assignment Operator, Typedef에 대해 정리했습니다.
알게된 사실 👨🏻💻
Positional Parameter
와 Named Parameter
Positional Parameter
는 파라미터의 순서가 중요하며, 자동으로 required
로 지정된다.
그러나 파라미터의 순서를 정확하게 기억해야 하는 단점이 있어 가독성이 떨어질 수 있다.
Named Parameter
는 순서와 상관없이 파라미터의 이름을 지정하여 사용한다.
Named Parameter
는 클린 코드 작성을 위해 권장되는 방식이다.
아래는 함수에서 Named Parameter
를 사용하는 예시이다.
String sayHello({
required String name,
required int age,
required String country
}) {
return "Hi, I'm $name. I'm $age. I'm in $country";
}
void main() {
print(sayHello(
name: 'hardy',
age: 25,
country: 'ROK',
))
}
Optional Positional Parameters
Optional Positional Parameters
방식은 자주 사용되지는 않지만, 선택적으로 파라미터를 지정할 수 있다.
String sayHello(
String name,
int age,
[String? country = 'ROK']
) =>
"Hi, I'm $name. I'm $age. I'm in $country";
void main() {
print(sayHello('hardy', 25));
}
QQ Operator
Null
값에 대한 처리를 쉽게 할 수 있는 방법이다.
String capitalizeName(String? name) {
name?.toUpperCase() ?? 'ANON';
}
void main() {
capitalizeName(null);
}
QQ Assignment Operator
변수에 값이 할당되어 있지 않을 경우, 기본값을 할당할 수 있다.
void main() {
String? name;
name ??= 'hardy';
}
Typedef
Dart에서 타입에 대한 별칭을 지정할 때 사용한다.
간단한 데이터의 alias
를 만들 때 사용하는 것이 좋다.
복잡한 구조의 데이터에 대해서는 class
를 사용하는 것을 권장한다.
typedef ListOfInts = List<int>;
ListOfInts reverseListOfNumbers(ListOfInts list) {
var reversed = list.reversed;
return reversed.toList();
}