다트 연산자의 우선 순위

Untitled

Conditional expressions

Dart에서 if는 식이 아닌 구문이다.

대신 if를 대신할 수 있는 연산자를 제공한다.

[조건식] ? [참일 때 반환 값] : [거짓일 때 반환 값]

if와 동일한 조건식이지만 값을 할당할 수 있다는 차이가 있다.

var visibility = isPublic ? 'public' : 'private';

[nullable] ?? [null일 경우 대체할 값]

nullable한 값을 손쉽게 처리할 수 있게 해준다.

String input = stdin.readLineSync() ?? ""

Cascade notation

casecade를 통해 동일한 객체에 대한 일련의 연산과 메서드 호출을 간편하게 처리할 수 있다. (마치 빌더패턴처럼)

단, void에 대해 사용할 수 없으며, cascade는 연산자(operator)가 아닌 Dart의 문법적 편의 기능이다.