bugl
bugl
HomeLearnPatternsPathsSearch
HomeLearnPatternsPathsSearch

Loading lesson path

Learn/JavaScript/Debugging, Projects, and Reference
JavaScript•Debugging, Projects, and Reference

JavaScript 2009 (ES5)

Flash cards

Review the key moves

1/4
Core idea

What is the main idea behind JavaScript 2009 (ES5)?

Lesson checks

Practice each idea before moving on

Short Mimo-style checks built from this lesson's code, terms, and sequence.

1Quick choice

Which statement best captures the main point of this lesson?

2Fill blank

Complete the missing token from the example code.

___ str = "HELLO WORLD";
3Order

Put the learning moves in the order that makes the concept easiest to apply.

Strings Over Multiple Lines
Property Access on Strings
The "use strict" Directive

ECMAScript 2009

The first major revision to JavaScript .

ECMAScript 2009 is also known as ES5.

ES5 Features

FeatureDescription
"use strict"Allows code to be executed in "strict mode"
String [] accessReturns the character at a specified index in a string
Multiline stringsAallows strings over multiple lines if escaped with \
String.trim()Removes whitespace from both sides of a string
Array.isArray()Returns true if a variable is an array
Array forEach()Calls a function for each array element
Array map()Creates a new array from a function on each element
Array filter()Creates an array from array elements that passes a test
Array reduce()Reduces an array to a single value (from left)
Array reduceRight()Reduces an array to a single value (from right)
Array every()Checks if all array values pass a test
Array some()Checks if some values pass a test
Array indexOf()Search for an element value and returns its position
Array lastIndexOf()Search for an element value and returns its position
JSON.parse()Convert JSON into a JavaScript object
JSON.stringify()Convert JSON into a string
Date.now()Returns the number of milliseconds since zero date
Date toISOString()Converts a date object into to an ISO string
Date toJSON()Converts a date object into to a JSON string
Property gettersAllows for defining how a property value is retrieved
Property settersAllows for defining how a property value is set
Reserved namesAllows reserved names as property names
Object.create()Creates an object from an existing object
Object.keys()Returns an array with the keys of an object
Object managementObject management methods
Object protectionObject protection methods
Object defineProperty()Allows for defining or changing object properties
Function bind()Let objects borrow methods from other objects
Trailing commasallows trailing commas in object and array definitions:

Browser Support

JavaScript 2009 is supported in all modern browsers since July 2013 :

Chrome 23IE/Edge 10Firefox 21Safari 6Opera 15
Sep 2012Sep 2012Apr 2013Jul 2012Jul 2013

The "use strict" Directive

"use strict" defines that the JavaScript code should be executed in "strict mode".

With strict mode you can, for example, not use undeclared variables.

You can use strict mode in all your programs. It helps you to write cleaner code, like preventing you from using undeclared variables.

"use strict" is just a string expression. Old browsers will not throw an error if they don't understand it.

Property Access on Strings

The charAt() method returns the character at a specified index (position) in a string:

Example

let str = "HELLO WORLD";
str.charAt(0);     // returns H

Example

let str = "HELLO WORLD";
str[0];           // returns H

ES5 allows property access on strings

Property access on string might be a little unpredictable.

Read more in JS String Methods .

Strings Over Multiple Lines

"Hello \ Dolly!";

The \ method might not have universal support. Older browsers might treat the spaces around the backslash differently. Some older browsers do not allow spaces behind the \ character.

A safer way to break up a string literal, is to use string addition:

"Hello " + "Dolly!";

Reserved Words as Property Names

ES5 allows reserved words as property names:

Object Example

var obj = {name: "John", new: "yes"}

String trim()

The trim() method removes whitespace from both sides of a string.

Example

var str = "       Hello World!        ";
alert(str.trim());

Learn more in JS String Methods .

Array.isArray()

The isArray() method checks whether an object is an array.

Example

const fruits = ["Banana", "Orange", "Apple", "Mango"];
result = Array.isArray(fruits);

Learn more in JS Array Methods .

Array forEach()

The forEach() method calls a function once for each array element.

Example

const numbers = [45, 4, 9, 16, 25];
numbers.forEach(myFunction);

Learn more in JS Array Iteration Methods .

Array map()

The map() method creates a new array by performing a function on each array element.

Example

const numbers1 = [45, 4, 9, 16, 25];
const numbers2 = numbers1.map(myFunction);
function myFunction(value) {
  return value * 2;
}

Learn more in JS Array Iteration Methods .

Array filter()

The filter() method creates a new array from array elements that passes a test.

Example

const numbers = [45, 4, 9, 16, 25];
const over18 = numbers.filter(myFunction);
function myFunction(value) {
  return value > 18;
}

Learn more in JS Array Iteration Methods .

Array reduce()

The reduce() method reduces an array to a single value.

Example

const numbers = [45, 4, 9, 16, 25];
let sum = numbers.reduce(myFunction);
function myFunction(total, value) {
  return total + value;
}

Learn more in JS Array Iteration Methods .

Array reduceRight()

The reduceRight() method reduces an array to a single value (from right to left).

Example

const numbers1 = [45, 4, 9, 16, 25];
let sum = numbers1.reduceRight(myFunction);
function myFunction(total, value) {
  return total + value;
}

Learn more in JS Array Iteration Methods .

Array every()

The every() method checks if all array values pass a test.

Example

const numbers = [45, 4, 9, 16, 25];
let allOver18 = numbers.every(myFunction);
function myFunction(value) {
  return value > 18;
}

Learn more in JS Array Iteration Methods .

Array some()

The some() method checks if some array values pass a test.

Example

const numbers = [45, 4, 9, 16, 25];
let allOver18 = numbers.some(myFunction);
function myFunction(value) {
  return value > 18;
}

Learn more in JS Array Iteration Methods .

Array indexOf()

The indexOf() method searches for an element value and returns its position.

Example

const fruits = ["Apple", "Orange", "Apple", "Mango"];
let position = fruits.indexOf("Apple") + 1;

Learn more in JS Array Search Methods .

Array lastIndexOf()

lastIndexOf() is the same as indexOf() , but searches from the end of the array.

Example

const fruits = ["Apple", "Orange", "Apple", "Mango"];
let position = fruits.lastIndexOf("Apple") + 1;

Learn more in JS Array Search Methods .

JSON.parse()

A common use of JSON is to receive data from a web server.

Imagine you received this text string from a web server:

'{"name":"John", "age":30, "city":"New York"}'

The JavaScript function JSON.parse() is used to convert the text into a JavaScript object:

Example

const txt = '{"name":"John", "age":30, "city":"New York"}'
const myObj = JSON.parse(txt);

Read more in our JSON Tutorial .

JSON.stringify()

A common use of JSON is to send data to a web server.

When sending data to a web server, the data has to be a string.

Imagine we have this object in JavaScript:

const myObj = {name:"John", age:30, city:"New York"};

Use the JavaScript function JSON.stringify() to convert it into a string.

const myJSON = JSON.stringify(myObj);

The result will be a string following the JSON notation.

myJSON is now a string, and ready to be sent to a server:

Example

const myObj = {name:"John", age:30, city:"New York"};
const myJSON = JSON.stringify(myObj);

Read more in our JSON Tutorial .

Date.now()

Date.now() returns the number of milliseconds since zero date (January 1. 1970 00:00:00 UTC).

Example

var timInMSs = Date.now();

Date.now() returns the same as getTime() performed on a Date object.

Learn more in JS Date Methods .

Date toISOString()

The toISOString() method converts a Date object to a string, using the ISO standard format:

Example

const d = new Date();
document.getElementById("demo").innerHTML = d.toISOString();

Learn more in JS Date Methods .

Date toJSON()

toJSON() converts a Date object into a string, formatted as a JSON date.

JSON dates have the same format as the ISO-8601 standard: YYYY-MM-DDTHH:mm:ss.sssZ:

Example

d = new Date();
document.getElementById("demo").innerHTML = d.toJSON();

Learn more in JS Date Methods .

Property Getters

A property getter is a method that allows you to define how a property value is retrieved when it is accessed.

This example creates a getter for a property called fullName:

Example

// Create an object: const Person = { firstName: "John", lastName : "Doe", get fullName() {
return this.firstName + " " + this.lastName;
}
};
// Display data from the object using a getter: document.getElementById("demo").innerHTML = Person.fullName;

Learn more about Gettes and Setters in JS Object Accessors

Previous

Javascript 2015 (ES6)

Next

JavaScript 1999 (ES3)