sundar Sundararajan own properties of 'obj': 0 -> foo 1 -> bar has own 'foo'? true has own 'xyz'? false 'foo' enumerable? true 'bar' enumerable? true foo is writable? true foo is configurable? true foo is enumerable? true foo's value = 44 foo's get = undefined foo's set = undefined bar is writable? true bar is configurable? true bar is enumerable? true bar's value = orcl bar's get = undefined bar's set = undefined func is writable? true func is configurable? true func is enumerable? true func's value = function() { print("myfunc"); } func's get = undefined func's set = undefined abc is writable? undefined abc is configurable? true abc is enumerable? true abc's value = undefined abc's get = get abc() { return "abc"; } abc's set = undefined xyz is writable? undefined xyz is configurable? true xyz is enumerable? true xyz's value = undefined xyz's get = undefined xyz's set = set xyz(val) { print(val); } hey is writable? undefined hey is configurable? true hey is enumerable? true hey's value = undefined hey's get = get hey() { return "hey"; } hey's set = set hey(val) { print(val); } undefined