PD Object.getOwnPropertyDescriptor(O:object, P:string|mixed) throws TypeError
This function returns the Property Descriptor (PD) for given property as an object.
P will be coerced to a string.
Object.getOwnPropertyDescriptor = function(O,P){
if (Type(O) != 'Object') throw TypeError;
var name = ToString(P);
var desc = O.[[GetOwnProperty]](name);
return desc;
}