final lCount = int.tryParse(book['lcount'].toString()) ?? 0;
이게 무슨 소리 인가?
.toString()
어떤 종류의 데이터가 들어있든, 일단 전부 글자(String)로 바꿔버린다.
ㄴ숫자 123 -> 글자 "123"
ㄴ아무것도 없음(null) -> 글자 "null"
int.tryParse(...)
글자를 숫자로 변환하는 것을 시도(try) 한다.
만약 글자가 "hello"나 "null"처럼 숫자로 바꿀 수 없는 모양이라면, 에러를 내는 대신 조용히 실패하고 null을 돌려준다
이것이 그냥 int.parse()와의 가장 큰 차이점이며, 앱이 죽지 않게 만든다
?? 0
"만약 왼쪽의 결과가 null(꽝)이라면, 대신 이 값을 사용해라" 라는 의미의 널 병합 연산자(Null-coalescing operator)
작동
int.tryParse가 성공해서 숫자 123을 돌려주면, ?? 0 부분은 무시되고 loanCount에는 123이 저장
int.tryParse가 실패해서 null(꽝)을 돌려주면, ?? 연산자가 작동하여 loanCount에 0 저장
'flutter_기본' 카테고리의 다른 글
firebase에 함수 업로드 firebase deploy --only functions ?? (1) | 2025.08.31 |
---|---|
dart - map, asMap (0) | 2025.08.24 |
flutter - firebase API 연결 (4) | 2025.08.16 |
flutter : analysis_options.yaml : 경고 줄이기 (2) | 2025.08.03 |
dart 기본 문법 - List (3) | 2025.07.30 |