<!--
{
  "documentType" : "article",
  "framework" : "JavaScriptCore",
  "identifier" : "/documentation/JavaScriptCore/property-descriptor-keys",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Property Descriptor Keys"
}
-->

# Property Descriptor Keys

Keys for the native dictionary representation of a JavaScript property descriptor, used with the [`defineProperty(_:descriptor:)`](/documentation/JavaScriptCore/JSValue/defineProperty(_:descriptor:)) method.

## Topics

### Constants

[`JSPropertyDescriptorWritableKey`](/documentation/JavaScriptCore/JSPropertyDescriptorWritableKey)

The Boolean value for this key determines whether the property permits assignment with the JavaScript `=` operator.

[`JSPropertyDescriptorEnumerableKey`](/documentation/JavaScriptCore/JSPropertyDescriptorEnumerableKey)

The Boolean value for this key determines whether the property appears when enumerating the JavaScript object’s properties.

[`JSPropertyDescriptorConfigurableKey`](/documentation/JavaScriptCore/JSPropertyDescriptorConfigurableKey)

The Boolean value for this key determines whether the property deleted from its JavaScript object or its descriptor changed.

[`JSPropertyDescriptorValueKey`](/documentation/JavaScriptCore/JSPropertyDescriptorValueKey)

The value for the property on the JavaScript object.

[`JSPropertyDescriptorGetKey`](/documentation/JavaScriptCore/JSPropertyDescriptorGetKey)

The JavaScript function to be invoked when reading the property.

[`JSPropertyDescriptorSetKey`](/documentation/JavaScriptCore/JSPropertyDescriptorSetKey)

The JavaScript function to be invoked when writing to the property.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)