prop
Map에서 키에 해당하는 값을 반환하며, 없으면 null을 반환합니다.
V? prop<K, V>(K key, Map<K, V> map)
강의
prop('name', user) 자체가 하는 일은 Dart에서
user['name']이 이미 하는 일과 정확히 같습니다 — 키가 없으면
어느 쪽이든 null입니다. 그런데도 이것이 함수로 존재하는
이유는 조합 가능성 때문입니다. map[key]는 연산자일 뿐
여기저기 넘길 수 있는 값이 아니지만, (m) => prop('name', m)은
map이나 juxt, evolve의 콜백처럼
Function(Map)이 필요한 곳이라면 어디든 넘길 수 있는 평범한
단항 함수입니다.
맵 리스트 전체에서 필드 하나를 뽑아내는 것이 목적이라면
pluck을 쓰세요 — 키가 이미 지정된
prop을 컬렉션 전체에 map 하는 일을 호출 한 번으로 해 줍니다.
데모 1 · 기본
데모 2 · tear-off로 쓰기, 그리고 pluck과의 비교
직접 해 보기
연습: prop으로 'theme'을 읽고, 없으면 'light'가 되도록 해 보세요.