본문 바로가기
Flutter

Dart 문법 1 - 함수에서 =>와 (_)와 .. 의미 이해하기

by codeflow 2022. 10. 21.

플러터 코드랩에서 제공하는 Cupertino App을 살펴보다가 이 프로젝트의 main.dart에서 사용하는 dart 문법이 흥미로워 소개해보려고 합니다.

 

이 코드의 핵심은 provider 라이브러리에서 제공하는 ChangeNotifierProvider  클래스를 통해 서로 다른 탭에서 동일한 리스트 아이템을 보여주는 것입니다. 

함수의 리턴을 의미하는 =>

=>는 arrow syntax라고 부릅니다. 이 arrow syntax 왼쪽에는 함수명이, 오른쪽에는 리턴값이 위치합니다. Javascript 계열 언어에서 자주 등장하는 문법입니다. 위 예제의 main()함수에서는 =>를 통해 새로운 ChangeNotifier로 AppStateModel 클래스의 loadProudctions()를 리턴하고 있네요.

파라미터 무시를 의미하는 (_)

create 파라미터에 쓰인 (_)는 파라미터를 무시할 때 사용합니다. create는 required로 BuildContext 타입을 받게 정의되어 있지만, 위의 예제에서는 BuildContext를 사용하지 않아서 파라미터를 무시하고 있습니다.

객체의 멤버 변수나 함수에 접근하는 ..

..은 임시 변수의 사용 없이 이미 선언된 특정 객체의 멤버 변수나 멤버 함수에 접근할 때 사용합니다. 위 예시에서는 AppStateModel 객체의 loadProducts() 함수에 접근할 때, model = new AppStateModel(); model.loadProducts() 대신 AppStateModel()..loadProducts() 표기 방식을 써서 불필요한 임시 변수의 사용을 줄였습니다.

 

 읽어보기 👉

https://dart.dev/guides/language/language-tour#cascade-notation

https://dart.dev/guides/language/language-tour#functions

댓글