CyrefJS
CCyrefJS
فا
Back to documentation
Object/Since 1.38.0

get

Gets a property value from an object by key, returning a default value when the property value is nullish.

get(object, path, defaultValue):T[K] | undefined

Behavior

The function reads the property using object[path]. If the resulting value is null or undefined, it returns defaultValue instead. Other falsy values such as 0, false, and an empty string are preserved.

Direct property access

The path parameter is a key of the object (K extends keyof T), so this utility accesses only a direct property. It does not parse dot-separated paths or traverse nested objects.

Parameters

objectTrequired

The object to read the property from.

pathKrequired

The key of the property to retrieve.

defaultValueT[K]optional

The value returned when the property value is null or undefined.

Returns

T[K] | undefined

The property value, or the default value when the property value is nullish.

Examples

01

Basic usage

TypeScript
const user = {
  name: "Amir",
  age: 22,
};

get(user, "name");
// "Amir"
02

Using a default value

TypeScript
const user = {
  name: "Amir",
};

get(user, "age", 18);
// 18
03

Existing values are preserved

TypeScript
const user = {
  name: "Amir",
  age: 22,
};

get(user, "age", 18);
// 22
04

Null values use the default

TypeScript
const user = {
  name: null as string | null,
};

get(user, "name", "Unknown");
// "Unknown"
05

Undefined values use the default

TypeScript
const user = {
  name: undefined as string | undefined,
};

get(user, "name", "Unknown");
// "Unknown"
06

Falsy values are preserved

TypeScript
const data = {
  count: 0,
  active: false,
  name: "",
};

get(data, "count", 10);
// 0

get(data, "active", true);
// false

get(data, "name", "Unknown");
// ""
07

Without a default value

TypeScript
const user = {
  name: "Amir",
};

get(user, "age");
// undefined
08

Nested objects are accessed by direct key only

TypeScript
const user = {
  profile: {
    name: "Amir",
  },
};

get(user, "profile");
// { name: "Amir" }

// This implementation does not support:
// get(user, "profile.name")
Built with@cyref/js·Official documentation