[Dart] 03. Operator(연산자)

Ted_Moon99·2024년 7월 5일
0

Dart

목록 보기
3/3
post-thumbnail
post-custom-banner

03. Operator(연산자)


Dart의 연산자 중에서 기본 연산자(+, - * , / , %), 논리연산자, 비교연산자들은 다른 언어와 완전히 동일하기 때문에 생략하고
Dart 언어에서 볼 수 있는 독특한 부분인 null 관련 연산자타입 비교연산자에 대해서만 정리하도록 한다

null 관련 연산자


  • null : 아무것도 없음을 뜻하는 것으로 0과는 다른 의미이다
  • Dart 언어에서는 변수 타입이 null 값을 가지는지 여부를 직접 지정해주어야 한다
  • 기본적으로 변수는 null 값이 지정될 수 없다.
  • 따라서, 타입 뒤에 ?를 추가해주어야 null 값이 저장될 수 있다.(null 허용)
void main(){
  double? number1 = null;
  double nuber2 = null; // 오류 발생 
  // A value of type 'Null' can't be assigned to a variable of type 'double'.
}
  • 또한 현재 변수의 값이 null일 때에만 값을 대입하는 ??= 연산자가 있다.
void main(){
  double? number; // 자동으로 초기값은 Null
  print(number); // 출력 결과 : null

  number ??= 3; // number의 값이 null이면 3을 대입해라!
  print(number); // 3.0

  number ??= 4; // number의 값이 null이면 4를 대입해라!
  print(number); // 3.0
}

타입 비교 연산자


  • is 키워드를 사용하여 변수의 타입을 비교할 수 있다.
  • 비교 후 반환되는 값은 bool 타입이다
  • is!를 사용하면 반대를 의미하여 같지 않은지에 대한 결과를 리턴한다
void main(){
  int number = 1;

  print(number is int); // 출력 결과 : true
  print(number is String); // 출력 결과 : false
  print(number is! int); // 출력 결과 : false
  print(number is! String); // 출력 결과 : true
}
profile
서버 및 모바일 앱 개발자
post-custom-banner

0개의 댓글