[Flutter] null 처리 우선순위

final Map<String, dynamic> values = {
  "a": null,
  "b": 10
};

final res = values["a"] ?? 0 + values["b"] ?? 0;
print(res);

// Expect: 10
// Result: error

우선순위를 명시하지 않으면 위 코드는 (values[“a”] ?? 0) + (values[“b”] ?? 0) 으로 처리될 것 같지만,
(values[“a”] ?? 0 + values[“b”]) ?? 0 으로 동작하게 된다.

따라서 null 처리 할 시에 우선순위를 명시해주자.

final Map<String, dynamic> values = {
  "a": null,
  "b": 10
};

final res = (values["a"] ?? 0) + (values["b"] ?? 0);
print(res);

// Expect: 10
// Result: 10