JavaScript ES5 (JS 2009)
Last Updated :
25 Oct, 2023
JavaScript 2009 (ES5) refers to the fifth edition of the ECMAScript language specification, standardized in 2009. It introduced several features, like strict mode, new methods, JSON support, and improved syntax for better programming practices and compatibility across browsers.
ECMAScript 5 (ES5) introduced several significant features to JavaScript, enhancing the language’s capabilities.
Enforces stricter parsing and error handling in JavaScript code.
|
Removes whitespace from the beginning and end.
|
Use backslashes at the end of each line to continue.
|
Check if an object is an array.
|
Iterates over array elements, applying a provided function.
|
Transforms each array element using a provided function.
|
Creates a new array with elements passing a test.
|
Combines an array of elements to produce a single result.
|
Combines array elements from right to left.
|
Checks if all elements satisfy a given condition.
|
Checks if any element satisfies a given condition.
|
Returns the index of a specified element.
|
Returns the last index of a specified element.
|
Converts JSON string to JavaScript object.
|
Converts JavaScript object to JSON formatted string.
|
Returns the current timestamp in milliseconds since 1970.
|
Converts date to ISO 8601 format string.
|
Converts date to JSON-formatted string (ISO 8601).
|
Control object property access and modification behavior.
|
Defines or modifies a property’s attributes on an object.
|
Defines or modifies multiple properties’ attributes on an object.
|
Gets attributes of a property from an object.
|
Returns an array of enumerable property names in object.
|
Returns an array of all property names in object.
|
Prevents adding new properties to an object.
|
Checks if new properties can be added.
|
Prevents new properties and makes existing non-configurable.
|
Checks if object properties are non-configurable and sealed.
|
Prevents adding, modifying, and makes properties non-writable.
|
Checks if object properties are non-writable, non-configurable, and frozen.
|
Here is the explanation of above-mentioned topic
The use strict enforces strict mode in JavaScript, catching errors and promoting better coding practices. It’s used at the beginning of scripts or functions.
Syntax:
// Whole-script strict mode syntax
'use strict';
let v = "strict mode script!";
Example: In this example we are using the above-explained method.
Javascript
"use strict" ;
function strictFunction(a, b) {
result = a + b;
return result;
}
let sum = strictFunction(5, 10);
console.log( "Sum of the given numbers :" , sum);
|
Output:
ReferenceError: result is not defined
JavaScript String trim() method is used to remove the white spaces from both ends of the given string.
Syntax:
str.trim()
Example: In this example we are using the above-explained method.
Javascript
function func() {
let str = "GeeksforGeeks " ;
let st = str.trim();
console.log(st);
}
func();
|
Method 3: Multiline Strings
In ES5, multiline strings can be created using backslashes at the end of each line to continue, combined with + for concatenation, to form a single string across lines.
Syntax:
line one\n\
line two\n\
Example: In this example we are using backslashes and + to write Multiline strings.
Javascript
let str1 = "GeeksforGeeks \
A computer science \
Portal." ;
console.log(str1);
let str2 = "Geeksfor" +
"Geeks"
console.log(str2);
|
Output
GeeksforGeeks A computer science Portal.
GeeksforGeeks
- The Array.isArray() method checks if a value is an array or not and returns true or false.
- The Array.map() method transforms each element in an array using a provided function, returning a new array.
- Array.filter() method creates a new array with elements that satisfy a condition set by a function.
- The Array.reduce() method reduces array to a single value by executing a function with accumulator.
Syntax:
Array.isArray(obj)
map((element) => { /* … */ })
array.filter(callback(element, index, arr), thisValue)
array.reduce( function(total, currentValue, currentIndex, arr), initialValue )
Example: In this example we are using the above-explained methods.
Javascript
let numbers = [1, 2, 3, 4, 5];
let isNumbersArray = Array.isArray(numbers);
console.log( "Is 'numbers' an array?" , isNumbersArray);
let doubledNumbers = numbers.map( function (number) {
return number * 2;
});
console.log( "doubling each elemen of our array :" , doubledNumbers);
let evenNumbers = numbers.filter( function (number) {
return number % 2 === 0;
});
console.log( "Even numbers from the array:" , evenNumbers);
let sum = numbers.reduce( function (accumulator, currentValue) {
return accumulator + currentValue;
}, 0);
console.log( "Sum of all elements in the array:" , sum);
|
Output
Is 'numbers' an array? true
doubling each elemen of our array : [ 2, 4, 6, 8, 10 ]
Even numbers from the array: [ 2, 4 ]
Sum of all elements in the array: 15
The JSON.parse() method is a JavaScript method that converts a JSON string into a JavaScript object.
Syntax:
JSON.parse( string, function )
Example: Here is the basic example of JSON.parse() method.
Javascript
let str1 = '{"name": "Aman", "age": 21, "city": "Noida"}' ;
let result = JSON.parse(str1);
console.log(result.name);
console.log(result.age);
console.log(result.city);
|
JSON.stringify() is a JavaScript method that converts a JavaScript object into a JSON string for data serialization and storage.
Syntax:
JSON.stringify(value, replacer, space);
Example: In this example we are using JSON.stringify().
Javascript
const value = {
Company: "GeeksforGeeks" ,
Estd: 2009,
location: "Noida"
};
const result = JSON.stringify(value);
console.log( "value of result = " + result);
|
Output
value of result = {"Company":"GeeksforGeeks","Estd":2009,"location":"Noida"}
- Date.naw() method used to return the number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC.
- Date toISOString() converts a date to an ISO 8601 format string (e.g., “YYYY-MM-DDTHH:mm:ss.sssZ”).
- Date toJSON() method converts the given date object’s contents into a string.
Syntax:
let A = Date.now(); // Date.now()
dateObj.toISOString() // Date toISOString()
dateObj.toJSON() // Date toJSON()
Example: In this example we are using the abobe-explained methods.
Javascript
let currentDate = new Date();
let timestamp = Date.now();
console.log( "Timestamp:" , timestamp);
let isoString = currentDate.toISOString();
console.log( "ISO String:" , isoString);
let jsonDate = currentDate.toJSON();
console.log( "JSON Date:" , jsonDate);
|
Output
Timestamp: 1698213643835
ISO String: 2023-10-25T06:00:43.835Z
JSON Date: 2023-10-25T06:00:43.835Z
In ECMAScript 5 (ES5), property getters and setters enable defining custom behavior when reading (get) or modifying (set) object properties, enhancing encapsulation and control over property access.
Example: In this example we are using the above-explained approach.
Javascript
const person = {
firstName: "John" ,
lastName: "Doe" ,
get fullName() {
return `${ this .firstName} ${ this .lastName}`;
},
set fullName(name) {
const parts = name.split( " " );
this .firstName = parts[0];
this .lastName = parts[1];
},
};
console.log(person.fullName);
person.fullName = "Jane Smith" ;
console.log(person.firstName);
console.log(person.lastName);
|
Output
John Doe
Jane
Smith
Method 8: New Object Property Methods
ECMAScript 5 introduced new object methods
It enhance the object property control, definition, and manipulation.
Syntax:
Object.defineProperty(obj, prop, descriptor) // Object.defineProperty()
Object.defineProperties(obj, props) // Object.defineProperties()
Object.getOwnPropertyDescriptor( obj, prop ) // Object.getOwnPropertyDescriptor()
Object.keys(obj); // Object keys() Method
Example: In this example we are some mentioned method.
Javascript
let person = {};
Object.defineProperty(person, 'name' , {
value: 'Ankit' ,
writable: false ,
enumerable: true ,
configurable: false
});
Object.defineProperties(person, {
age: {
value: 21,
writable: true ,
enumerable: true ,
configurable: true
},
gender: {
value: 'Male' ,
writable: true ,
enumerable: true ,
configurable: true
}
});
let propertyNames = Object.keys(person);
console.log( 'Property Names:' , propertyNames);
let allPropertyNames = Object.getOwnPropertyNames(person);
console.log( 'All Property Names:' , allPropertyNames);
Object.preventExtensions(person);
console.log( 'Is Extensible:' , Object.isExtensible(person));
Object.seal(person);
console.log( 'Is Sealed:' , Object.isSealed(person));
person.city = 'Delhi' ;
Object.freeze(person);
console.log( 'Is Frozen:' , Object.isFrozen(person));
person.name = 'Nikita' ;
person.age = 35;
person.gender = 'Female' ;
console.log(person);
|
Output
Property Names: [ 'name', 'age', 'gender' ]
All Property Names: [ 'name', 'age', 'gender' ]
Is Extensible: false
Is Sealed: true
Is Frozen: true
{ name: 'Ankit', age: 21, gender: 'Male' }
Share your thoughts in the comments
Please Login to comment...