js> load('testsrc/doctests/util.js'); js> Object.defineProperties function defineProperties() { [native code for Object.defineProperties, arity=2] } js> expectTypeError(function() { Object.defineProperties() }); js> expectTypeError(function() { Object.defineProperties({}) }); js> [undefined, null, true, 1, 'hello'].forEach(function(value) { > expectTypeError(function() { Object.defineProperties(value, {}) }) > }) js> Object.defineProperties({}, {p: {value:1}}).p 1 js> var obj = Object.defineProperties({}, {a: {value:1}, b: {value:2}}); js> [obj.a, obj.b].toSource(); [1, 2] js> Object.defineProperties({}, {'wierd name': {value:1}})['wierd name'] 1 js> Object.defineProperties({}, {}).toSource() ({}) js> var obj = {a:1}; js> var obj = Object.defineProperties(obj, {a:{value:2}, b:{value:3}}); js> [obj.a, obj.b].toSource() [2, 3] js> expectTypeError(function() { Object.defineProperties({}, {a: null}) }) js> expectTypeError(function() { Object.defineProperties({}, {a: 1}) }) js> expectTypeError(function() { Object.defineProperties({}, {a: {get: 1}}) }) js> var obj = {a:1} js> expectTypeError(function() { > obj = Object.defineProperties(obj, {b: {value:1}, c:1}); > }); js> obj.b js> js> Object.defineProperties({}, {'0.0': {value:1}, 0: {value:2}})['0'] 2