Чтобы проверить, является ли свойство методом получения в JavaScript, вы можете использовать несколько методов. Вот несколько подходов:
-
Использование метода
Object.getOwnPropertyDescriptor()
:const obj = { get myProperty() { return 'value'; } }; const descriptor = Object.getOwnPropertyDescriptor(obj, 'myProperty'); const isGetter = (descriptor && typeof descriptor.get === 'function'); console.log(isGetter); // true
-
Использование метода
Object.prototype.hasOwnProperty()
:const obj = { get myProperty() { return 'value'; } }; const isGetter = obj.hasOwnProperty('myProperty') && typeof obj.__lookupGetter__('myProperty') === 'function'; console.log(isGetter); // true
-
Использование метода
Object.prototype.propertyIsEnumerable()
:const obj = { get myProperty() { return 'value'; } }; const isGetter = Object.prototype.propertyIsEnumerable.call(obj, 'myProperty') && typeof obj.__lookupGetter__('myProperty') === 'function'; console.log(isGetter); // true