JavaScript: Property Overview

By Xah Lee. Date: . Last updated: .

A JavaScript object is a set of key/value pairs. Each pair is called a “property”.

[see Object Overview]

2 Kinds of Properties

There are 2 kinds of properties.

[see Getter/Setter Properties]

Property Attributes

Each JavaScript property has associated info called attribute.

For Data Property, the attributes are: {value, writable, enumerable, configurable}.

For Accessor Property:

[see Property Attributes]

Own Property and Inherited Property

A property can be said to be a object's “own property” or “inherited property”.

When a property is looked up (for example, x.color), JavaScript look at the object to see if it has that property, if not, it lookup its parent, and repeat, until a property is found or a parent is null. This is the technical meaning of inheritance.

[see Prototype and Inheritance]

This is the most important thing about properties. The behavior of many operations on properties, such as {accessing, setting, deleting, “for … in” loop, checking existence, …}, depend on whether the property is the object's own property.

[see Check Property Existence]

When writing to a property or deleting a property, parent object is never touched. Only when reading property, the prototype chain (parents) is looked up.

[see Get Property, Set Property]

Property Key Datatype, Property Value Datatype

Property key can be type string or type symbol. [see Property Key]

Property value can be any type. [see Value Types]

When a property value is a function, that property is often called a “method”.

Dot Notation and Bracket Notation

There are 2 syntax to access a object's property:

[see Property Dot Notation / Bracket Notation]

Add / Remove Property

Property can be added or removed from object.

[see Create/Delete Property]

[see Prevent Adding Property]

Accessing (Reading, Writing, Listing, Check Existence) of Property

Property value can be changed anytime (unless the attribute “configurable” is false).

You can also check if a property exists for a object, in its parents, or list a object's own properties. See:

JavaScript Property

JS in Depth
XAH  BUY NOW

JS in Depth

JS Obj Ref

DOM


JS in Depth

Basic Syntax

Value Types

Variable

String

Function

Property

Object and Inheritance

Array

Constructor/Class

Iterable 🌟

Misc