Esta pregunta explica cómo saber si un objeto tiene un setter definido en ese mismo objeto, pero aún puede tener uno en otra parte de la cadena de prototipos. ¿Hay una función integrada que le permita verificar si hay un definidor definido en algún lugar de la cadena de prototipos o simplemente tiene que recurrir y probar cada elemento en la cadena de prototipos?
No, no hay tal incorporado. Deberá atravesar la cadena de prototipos y llamar a Object.getOwnPropertyDescriptor en cada objeto.