8.10.1 ~ 3 IsAccessorDescriptor, IsDataDescriptor, IsGenericDescriptor

2010-04-19

These three methods determine the type of descriptor according to the specification. In these examples D should be a Property Descriptor.

IsAccessorDescriptor(D) only returns false when D is undefined or when both D.[[Get]] and D.[[Set]] are absent.

IsDataDescriptor(D) only returns false when D is undefined or when both D.[[Value]] and D.[[Writable]] are absent.

IsGenericDescriptor(D) only returns true when both IsAccessorDescriptor(D) and IsDataDescriptor(D) return false.