JS-101-Fundamentals
  • JavaScript Library
  • 1-JavaScript Fundamentals
    • 0-Getting Started
      • Welcome
    • 1-JS-Fundamentals
      • 1-Grammar and Types
        • Comments
        • Declarations
        • Scope
        • Hoisting
        • Types
        • Literals
      • 2-Control Flow and Error Handling
        • if
        • if else
        • switch
        • try catch
        • throw
      • 3-Loops
        • For Loops
        • For In Loops
        • For Of Loops
        • Do While
        • While Loops
      • 4-Functions
        • Declarations
        • Expressions
        • Calling Functions
        • Scope
        • Parameters
        • Arguments
        • Closures
        • Closures Challenge
        • Arrow Functions
        • Predefined
      • 5-Expressions and Operators
        • Assignment
        • Comparison
        • Ternary
        • Typeof
        • Left Hand Side
        • Spread
      • 6 Numbers and Dates
        • Numbers
          • Numbers Enhanced
        • Math
        • Dates
      • 7 String Methods
        • String Literals
        • Methods
      • 8 Regular Expressions
        • Basic Intro
      • 9 Arrays
        • Array Review
        • Populating/Referring
        • Length
        • Iterating
        • Methods
      • 10 Objects
        • About Objects
        • Properties
        • Enumeration
        • Initializers
        • Constructor Functions
        • this
        • create
        • Methods
      • 11 ES6 Intro
        • ES6 Intro
        • let
        • const
Powered by GitBook
On this page
  • File Location
  • What is Enumeration?
  • Enumerating properties
  • Practice
  • Challenge
  1. 1-JavaScript Fundamentals
  2. 1-JS-Fundamentals
  3. 10 Objects

Enumeration

File Location

We will be working in the following file:

    javascript-library
        └── 0-PreWork
        └── 1-Fundamentals
            └── 11-Objects
                01-properties.js
                02-enumeration.js <----You will be working in this file.

What is Enumeration?

What is enumeration for objects? There is an attribute on all properties in an array called "enumerable." Objects in javascript are by default enumerable, meaning that they show up in for...in loops. There are ways to make properties on an object non-enumerable, thereby preventing them from showing up when you use a for...in loop, making them partially hidden, which can occasionally be useful. The vast majority of properties will be enumerable, and unless you have a good reason to change this, it's recommended that you keep them that way. In the challenge below, there is information that will show you how to make things non-enumerable if you wish.

Enumerating properties

var country = {
    capital : "Tegucigalpa",
    name: "Honduras",
    mainExport: "Bananas"
};
//Since everything is enumerable, our for in loop should be able to find everything.
for (var property in country){
    console.log(property + ' : ' + country[property]);
}
/*
capital : Tegucigalpa
name : Honduras
mainExport : Bananas
*/

Practice

Create an object with properties. Use a for...in loop on it.

Challenge

Research the methods Object.keys() and Object.getOwnPropertyNames() on MDN. Try to use them with your object.

PreviousPropertiesNextInitializers

Last updated 7 years ago