라티의 작은 일기장

패스트캠퍼스 환급챌린지 2일차 미션(2월 2일): 15개 프로젝트로 실무까지 끝내는 Dart & Flutter 앱 개발 강의 후기 본문

Flutter & Dart

패스트캠퍼스 환급챌린지 2일차 미션(2월 2일): 15개 프로젝트로 실무까지 끝내는 Dart & Flutter 앱 개발 강의 후기

코드라티 2024. 2. 2. 23:45

오늘은 Dart에서 연산자는 어떻게 쓰는지 알아보자.

그렇지만 사실 C, Python, Java, JavaScript와 같은 언어를 사용해봤다면 뭔가 새로운 연산자가 등장해서 따로 공부할 필요는 없다. 

산술, 비교, 논리 연산자 등 다른 언어들과 연산자에 대해서는 거의 공유하고 있다.

그리고 Dart 2.12버전부터 Null Safety 개념 도입을 위해 Nullable, Non-nullable 타입이 도입됐다고 하는데, JavaScript에서 옵셔널 처리하는거랑 Not Null 처리하는거랑 똑같다.

이렇게 산술 연산자와 문자열 병합 연산도 다른 언어와 동일하게 동작한다.

 

 

비교 연산자도 마찬가진데 JS와 달리 값과 타입까지 비교해주는 '===' 연산자는 없다. 애초에 Type-Safe한 언어라서 그런거같다.

 

논리연산자(AND, OR)와 삼항연산자도 다른 언어와 동일하게 사용할 수 있다. 애초에 C++, JavaScript, Java, Python과 같은 주류 언어들이 이미 입지를 견고하게 다지고 있는 상황에서 다른 언어들과 너무 다른 성질이 많으면 기존 개발자들을 유입시키기 어려웠을테니 이렇게 다른 언어들의 문법을 그래도 가져와서 사용하고 있는듯 하다. 덕분에 개발자의 입장에서 친숙함을 느끼고 빠르게 Dart에 익숙해질 수 있는 것일테고.

Dart에서는 널 처리 연산자라고 하는데, JS에서 ES2020에서 도입된 널 병합 연산자(??), 옵셔널 체이닝(?) 연산자에 대응한다.

num1은 실제로 값을 할당하지 않은 채로 타입도 nullable을 지정해주었고, 정상적으로 10이라는 정수로 초기화된 num2와 그냥 더하려고하면 에러가 난다. 그래서 널 병합 연산자로 num1이 만약 null이면, num2와 5를 더해서 출력하라는 코드에서 오류가 나지 않는 것이다.

 

이렇게 2일동안 Dart의 기본 문법과 연산자의 사용법에 대해 알아보았다~

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://bit.ly/48sS29N