---
title: "JSObjectGetPropertyAtIndex(_:_:_:_:)"
framework: javascriptcore
role: symbol
role_heading: Function
path: "javascriptcore/jsobjectgetpropertyatindex(_:_:_:_:)"
---

# JSObjectGetPropertyAtIndex(_:_:_:_:)

Gets a property from an object by numeric index.

## Declaration

```swift
func JSObjectGetPropertyAtIndex(_ ctx: JSContextRef!, _ object: JSObjectRef!, _ propertyIndex: UInt32, _ exception: UnsafeMutablePointer<JSValueRef?>!) -> JSValueRef!
```

## Parameters

- `ctx`: The execution context to use.
- `object`: The doc://com.apple.javascriptcore/documentation/JavaScriptCore/JSObjectRef with the property you want to get.
- `propertyIndex`: An integer value that is the property’s name.
- `exception`: A pointer to a doc://com.apple.javascriptcore/documentation/JavaScriptCore/JSValueRef to store an exception in, if any. Pass NULL to discard any exception.

## Return Value

Return Value The property’s value, if object has the property; otherwise, the undefined value.

## Discussion

Discussion Calling JSObjectGetPropertyAtIndex(_:_:_:_:) is equivalent to calling JSObjectGetProperty(_:_:_:_:) with a string that contains propertyIndex, but JSObjectGetPropertyAtIndex(_:_:_:_:) provides optimized access to numeric properties.

## See Also

### Working with Objects

- [JSObjectCallAsConstructor(_:_:_:_:_:)](javascriptcore/jsobjectcallasconstructor(_:_:_:_:_:).md)
- [JSObjectCallAsFunction(_:_:_:_:_:_:)](javascriptcore/jsobjectcallasfunction(_:_:_:_:_:_:).md)
- [JSObjectCopyPropertyNames(_:_:)](javascriptcore/jsobjectcopypropertynames(_:_:).md)
- [JSObjectDeleteProperty(_:_:_:_:)](javascriptcore/jsobjectdeleteproperty(_:_:_:_:).md)
- [JSObjectGetPrivate(_:)](javascriptcore/jsobjectgetprivate(_:).md)
- [JSObjectGetProperty(_:_:_:_:)](javascriptcore/jsobjectgetproperty(_:_:_:_:).md)
- [JSObjectGetPrototype(_:_:)](javascriptcore/jsobjectgetprototype(_:_:).md)
- [JSObjectHasProperty(_:_:_:)](javascriptcore/jsobjecthasproperty(_:_:_:).md)
- [JSObjectIsConstructor(_:_:)](javascriptcore/jsobjectisconstructor(_:_:).md)
- [JSObjectIsFunction(_:_:)](javascriptcore/jsobjectisfunction(_:_:).md)
- [JSObjectMake(_:_:_:)](javascriptcore/jsobjectmake(_:_:_:).md)
- [JSObjectMakeArray(_:_:_:_:)](javascriptcore/jsobjectmakearray(_:_:_:_:).md)
- [JSObjectMakeConstructor(_:_:_:)](javascriptcore/jsobjectmakeconstructor(_:_:_:).md)
- [JSObjectMakeDate(_:_:_:_:)](javascriptcore/jsobjectmakedate(_:_:_:_:).md)
- [JSObjectMakeError(_:_:_:_:)](javascriptcore/jsobjectmakeerror(_:_:_:_:).md)
