JavaScript .getOwnPropertySymbols()
The .getOwnPropertySymbols() method is a static method that returns an array of all symbol properties found directly upon a given object. If the object initially has no symbol properties, .getOwnPropertySymbols() returns an empty array.
Note:
.getOwnPropertySymbols()method itself does not contain the symbol properties of an object and only the string properties.
Syntax
Object.getOwnPropertySymbols(object_name)
object_name: The name of an object whose symbol properties are to be returned.
Examples
Example 1
In the following code, [Symbol('😊')] and [Symbol('^O^')] will create symbol properties for the Electronic_Devices object. The localSymbol and globalSymbol values specify that these symbols are created with the Symbol functions as Symbol() and Symbol.for() directly within the scope of the Electronic_Devices object without any global registration. They are not implying that those symbols are truly global in the sense of being accessible everywhere. Object.getOwnPropertySymbols(object_name) will return an array of all symbol properties that have been found:
var Electronic_Devices = {group1: ['Fridge', 'Microwave', 'Rice Cooker', 'Washing Machine'],//add symbol[Symbol('😊')]: 'localSymbol',[Symbol('^O^')]: 'globalSymbol',};console.log(Object.getOwnPropertySymbols(Electronic_Devices));
The above example will return the following output:
[ Symbol(😊), Symbol(^O^) ]
Example 2
In the following code, Symbol() and Symbol.for() will add symbol properties to the Electronic_Devices object. Next, the program will output the Electronic_Devices object into the console. Then, the objectSymbols variable that is assigned to Object.getOwnPropertySymbols(object_name) will be used to return the length of an array of all symbol properties that have been found, the array itself, and the first element in the array:
var Electronic_Devices = {group1: ['Fridge', 'Microwave', 'Rice Cooker', 'Washing Machine'],};var symbol_1 = Symbol('😊');var symbol_2 = Symbol.for('^O^');Electronic_Devices[symbol_1] = 'localSymbol';Electronic_Devices[symbol_2] = 'globalSymbol';var objectSymbols = Object.getOwnPropertySymbols(Electronic_Devices);console.log(Electronic_Devices + '\n');console.log(objectSymbols.length + '\n');console.log(objectSymbols);console.log(objectSymbols[0]);
The above example will return the following output:
{group1: ['Fridge', 'Microwave', 'Rice Cooker', 'Washing Machine'],[Symbol(😊)]: 'localSymbol',[Symbol(^O^)]: 'globalSymbol'}2[Symbol(😊), Symbol(^O^)]Symbol(😊)
Contribute to Docs
- Learn more about how to get involved.
- Edit this page on GitHub to fix an error or make an improvement.
- Submit feedback to let us know how we can improve Docs.
Learn JavaScript on Codecademy
- Learn how to build back-end web APIs using Express.js, Node.js, SQL, and a Node.js-SQLite database library.
- Includes 8 Courses
- With Certificate
- Beginner Friendly.30 hours
- Learn how to use JavaScript — a powerful and flexible programming language for adding website interactivity.
- Beginner Friendly.15 hours