prop

Devuelve el valor de una clave de un Map, o null si no existe.

V? prop<K, V>(K key, Map<K, V> map)

Lección

Por sí solo, prop('name', user) hace exactamente lo mismo que user['name'] en Dart: si la clave falta, en ambos casos sale null. La razón de que exista como función es la componibilidad: map[key] es un operador, no un valor que puedas pasar por ahí, mientras que (m) => prop('name', m) es una función unaria normal que puedes entregar a map, a juxt, a los callbacks de evolve o a cualquier sitio donde se espere un Function(Map).

Si lo que quieres de verdad es extraer un campo de una lista entera de mapas, tira de pluck: es prop ya fijado a una clave y aplicado con map sobre toda la colección en una sola llamada.

Demo 1 · Fundamentos

Demo 2 · Como tear-off, frente a pluck

Pruébalo tú

Ejercicio: usa prop para leer 'theme', o 'light' si no está.

Relacionado: props — lee varias claves a la vez · pluckprop aplicado con map sobre toda una lista · pick — conserva varias claves como Map · evolve — transforma un valor in situ