You are on page 1of 11

Dark code

  HTML CSS JAVASCRIPT    


 Menu 

JavaScript Objects
❮ Previous Next ❯

Real Life Objects, Properties, and Methods


In real life, a car is an object.

A car has properties like weight and color, and methods like start and stop:

Object Properties Methods

car.name = Fiat
car.start()

car.model = 500
car.drive()

car.weight = 850kg
car.brake()

car.color = white car.stop()

All cars have the same properties, but the property values differ from car to car.

All cars have the same methods, but the methods are performed at different times.

JavaScript Objects
You have already learned that JavaScript variables are containers for data values.

This code assigns a simple value (Fiat) to a variable named car:


Dark mode

D k d
Dark code
  HTML CSS JAVASCRIPT   
let car = "Fiat";

Try it Yourself »

Objects are variables too. But objects can contain many values.

This code assigns many values (Fiat, 500, white) to a


variable named car:

const car = {type:"Fiat", model:"500", color:"white"};

Try it Yourself »

The values are written as name:value pairs (name and value separated by a colon).

It is a common practice to declare objects with the const keyword.

Learn more about using const with objects in the chapter: JS Const.

Object Definition
You define (and create) a JavaScript object with an object literal:

Example

const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};

Try it Yourself »

Spaces and line breaks are not important. An object definition can span multiple lines:

Dark mode

D k d
Dark code
  HTML CSS JAVASCRIPT   
Example
const person = {

  firstName: "John",

  lastName: "Doe",

  age: 50,

  eyeColor: "blue"

};

Try it Yourself »

Object Properties
The name:values pairs in JavaScript objects are called properties:

Property Property Value

firstName John

lastName Doe

age 50

eyeColor blue

Accessing Object Properties


You can access object properties in two ways:

objectName.propertyName

or

objectName["propertyName"]

Dark mode

D k d
Dark code
Example1
 HTML CSS JAVASCRIPT   

person.lastName;

Try it Yourself »

Example2

person["lastName"];

Try it Yourself »

JavaScript objects are containers for named values called properties.

Object Methods
Objects can also have methods.

Methods are actions that can be performed on objects.

Methods are stored in properties as function definitions.

Property Property Value

firstName John

lastName Doe

age 50

eyeColor blue

fullName function() {return this.firstName + " " + this.lastName;}

A method is a function stored as a property.

Dark mode

D k d
Dark code
  HTML CSS JAVASCRIPT   

Example

const person = {

  firstName: "John",

  lastName : "Doe",

  id       : 5566,

  fullName : function() {

    return this.firstName + " " + this.lastName;

  }

};

In the example above, this refers to the person object.

I.E. this.firstName means the firstName property of this.

I.E. this.firstName means the firstName property of person.

What is this?
In JavaScript, the this keyword refers to an object.

Which object depends on how this is being invoked (used or called).

The this keyword refers to different objects depending on how it is used:

In an object method, this refers to the object.

Alone, this refers to the global object.

In a function, this refers to the global object.

In a function, in strict mode, this is undefined .

In an event, this refers to the element that received the event.

Methods like call() , apply() ,


and bind() can refer this to any object.

Note
this is not a variable. It is a keyword. You cannot change the value of this . Dark mode

D k d
Dark code
See
 Also: HTML CSS JAVASCRIPT   

The JavaScript this Tutorial

The this Keyword


In a function definition, this refers to the "owner" of the function.

In the example above, this is the person object that "owns" the fullName function.

In other words, this.firstName means the firstName property of this object.

Learn more about this in The JavaScript this Tutorial.

Accessing Object Methods


You access an object method with the following syntax:

objectName.methodName()

Example

name = person.fullName();

Try it Yourself »

If you access a method without the () parentheses, it will return the function definition:

Example

name = person.fullName;

Try it Yourself »
Dark mode

D k d
Dark code
  HTML CSS JAVASCRIPT   

Do Not Declare Strings, Numbers, and Booleans as


Objects!
When a JavaScript variable is declared with the keyword " new ", the variable is created as an
object:

x = new String();        // Declares x as a String object

y = new Number();        // Declares y as a Number object

z = new Boolean();       // Declares z as a Boolean object

Avoid String , Number , and Boolean objects. They complicate your code and slow down
execution speed.

You will learn more about objects later in this tutorial.

Test Yourself With Exercises

Exercise:
Alert "John" by extracting information from the person object.

const person = {

firstName: "John",

lastName: "Doe"

};

alert( );

Dark mode

D k d
Dark code
  HTML CSS JAVASCRIPT   
Submit Answer »

Start the Exercise

❮ Previous Next ❯
 

NEW

We just launched

W3Schools videos

Explore now

COLOR PICKER




Get certified

by completing

Dark mode

D k d
Dark code
HTML CSS a JavaScript

JAVASCRIPT   
 
course today!

school
w3 s

2
CE

02
TI 2

R
FI .
ED

Get started

CODE GAME

Play Game

Report Error

Spaces

Pro

Get Certified

Dark mode

D k d
Dark code
HTML CSS Top Tutorials
JAVASCRIPT   
 
HTML Tutorial

CSS Tutorial

JavaScript Tutorial

How To Tutorial

SQL Tutorial

Python Tutorial

W3.CSS Tutorial

Bootstrap Tutorial

PHP Tutorial

Java Tutorial

C++ Tutorial

jQuery Tutorial

Top References
HTML Reference

CSS Reference

JavaScript Reference

SQL Reference

Python Reference

W3.CSS Reference

Bootstrap Reference

PHP Reference

HTML Colors
Java Reference

Angular Reference

jQuery Reference

Top Examples
HTML Examples

CSS Examples

JavaScript Examples

How To Examples

SQL Examples

Python Examples

W3.CSS Examples

Bootstrap Examples

PHP Examples

Java Examples

XML Examples

jQuery Examples

Get Certified
HTML Certificate

CSS Certificate

JavaScript Certificate

Front End Certificate

SQL Certificate

Python Certificate

PHP Certificate

jQuery Certificate

Java Certificate

C++ Certificate

C# Certificate

XML Certificate

Dark mode

D k d
Dark|
ABOUT
FORUM code
  HTML CSS JAVASCRIPT   
W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning.
Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of
all content.
While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2022 by Refsnes Data. All Rights Reserved.

W3Schools is Powered by W3.CSS.

You might also like