Created
July 22, 2013 01:19
-
-
Save phillipalexander/6050715 to your computer and use it in GitHub Desktop.
Javascript Object.definePropery() method
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var o = {}; // Creates a new object | |
// Example of an object property added with defineProperty with a data property descriptor | |
Object.defineProperty(o, "a", {value : 37, | |
writable : true, | |
enumerable : true, | |
configurable : true}); | |
// 'a' property exists in the o object and its value is 37 | |
// Example of an object property added with defineProperty with an accessor property descriptor | |
var bValue; | |
Object.defineProperty(o, "b", {get : function(){ return bValue; }, | |
set : function(newValue){ bValue = newValue; }, | |
enumerable : true, | |
configurable : true}); | |
o.b = 38; | |
// 'b' property exists in the o object and its value is 38 | |
// The value of o.b is now always identical to bValue, unless o.b is redefined | |
// You cannot try to mix both : | |
Object.defineProperty(o, "conflict", { value: 0x9f91102, | |
get: function() { return 0xdeadbeef; } }); | |
// throws a TypeError: value appears only in data descriptors, get appears only in accessor descriptors |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment