[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [Object](https://evolu.dev/docs/api-reference/common/Object) › getProperty

```ts
function getProperty<K, V>(record: ReadonlyRecord<K, V>, key: K): V | undefined;
```

Defined in: [packages/common/src/Object.ts:214](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Object.ts#L214)

Safely gets a property from a record, returning `undefined` if the key
doesn't exist.

TypeScript's `Record<K, V>` type assumes all keys exist, but at runtime
accessing a non-existent key returns `undefined`. This helper provides proper
typing for that case without needing a type assertion.

### Example

```ts
const users: Record<string, User> = { alice: { name: "Alice" } };
const user = getProperty(users, "bob"); // User | undefined
```