개발(dev)/dart

[dart] dart 기초 (5)

dDong2 2023. 1. 8. 08:29
참고: https://dart.dev/overview + https://nomadcoders.co/

 

✔️ Optional Positional Parameters

 

기존 Positional Parameters는 순서가 있는 파라미터의 형태로

순서를 맞춰서 작성해야만 했다. 그렇지 않으면,

named parameters 형태로 작성을 했어야 했는데,

선택적으로 전달해주는 방법이 존재한다.

 

 

다음처럼 country가 null이 될 수 있으면서 동시에

default value를 대괄호 안에 작성해주는 문법을 사용한다.

country가 필수 요소가 아니면서 작성하지 않으면,

korea라는 country를 기본 값으로 넘겨주는 것이다.

 

 

✔️ QQ Operator

 

QQ Operator로 ?? 와 ?= 라는 특별한 연산이 존재한다.

?이라는 null이 가능하도록 만드는 키워드는 해당 타입의 데이터를

확인해야한다는 점에서 코드가 길어지는 모습을 볼 수 있는데,

 

 

다음과 같이 작성을 하게 되면, name이 어떠한 데이터가 담기지

모르기 때문에 해당 함수에서 에러가 나는 것을 확인할 수 있다.

 

 

이는 다음처럼 삼항 연산자로 한 줄 코드를 통해 해결할 수도 있지만,

QQ Operator(Question Question Operator)를 적어줄 수도 있다.

 

QQ Operator라는 것은

Left ?? Right 처럼 작성하였을 때,

Left 즉, 좌항이 null이면 우항을 return 하는 것이다.

 

 

그래서 다음과 같이 작성할 수 있다.

 

또 하나는 QQ equals 또는 QQ assignment operator라는 것을 사용할 수 있는데,

 

 

해당 코드처럼 name이 null이 될 수 있기 때문에

name이 null이면 test라는 값을 넣어줌으로써 해결할 수 있는 연산자이다.

 

 

✔️ Typedef

 

자료형이 헷갈릴 때 도움이 될 수 있는 별칭 alias를 만들 수 있는 특징을 가지고 있다.

 

 

다음과 같이 List<int> 라는 자료형에 대해서

 

 

다음과 같이 원하는 이름을 선언하고 해당 자료형을

동일한 type으로 바꿀 수 있는 것이다.

 

 

또한, 정상적으로 실행되는 것도 확인할 수 있다.

 

화이팅 💪