Flutter

Dart 연산자 정리

Yukart 2022. 3. 22. 20:25
반응형

다트 연산자

산술 연산자 *, /, %, ~/, +, -
관계와 형식 검사 연산자 >=, >, <=, as, is, is!
등가 연산자 ==, !=
논리 연산자 &&,
할당 연산자 =, *=, /=, ~/=, %=, +=, -=, <<=, >>=, &=, ^=,
단일 연산자 expr++, expr—, . , ?. , -expr, !expr, ~expr, ++expr, —expr

 

  • ~/ 는 정수 나눗셈의 기호이다. 이 연산자는 결과를 버림처리하며 소수점을 반환하지 않는다.
  • as 는 형변환 키워드다. 이 연산자는 클래스와 객체에 사용
  • is, is! 는 두 객체가 같은 형식인지 확인하는 연산자로 ==, !=와 같다.
  • 단일 연산자에서 expr은 연산자를 이해하기 쉽도록 추가한 단어이므로 무시

null 인지 연산자

  • 다트에서는 널 인시 연산자는 이 객체가 null이면 오류를 발생하지도 말고, 아무것도 하지 말라고 지시한다.
  • ?. , ??, ??= 와 같이 3가지 null 인지 연산자가 있다.

?. 연산자

/// API를 사용해 유저정보(나이)를 가져오는 메소드
void getUserAge(String username) async {
	final request = UserRequest(username);
	final response = await request.get();
	User user = new User.fromResponse(response);
	this.userAge = user?.age; // 이처럼 간단하게 null 여부를 확인 가능하다.
}
  • 위와 같이 userAge가 null이면 오류가 아닌 userAge에 null을 할당하며 null이 아니면 정상 동작한다.

?? 연산자

/// API를 사용해 유저정보(나이)를 가져오는 메소드
void getUserAge(String username) async {
	final request = UserRequest(username);
	final response = await request.get();
	User user = new User.fromResponse(response);
	this.userAge = user.age ?? 18; // user.age가 null이면 18을 할당한다.
}

??= 연산자

int x = 5
x ??= 3; // x가 null이면 백업값을 할당하고(3), 아니면 객체를 그대로 반환한다.
  • 즉 두번째 x 변수는 값을 가지므로 3이 할당된다.
반응형