JavaScript ES5


Inhaltsverzeichnis

    Inhaltsverzeichnis anzeigen

ECMAScript 2009, auch bekannt als ES5, war die erste große Überarbeitung von JavaScript.

In diesem Kapitel werden die wichtigsten Funktionen von ES5 beschrieben.

ES5-Funktionen

  • „streng verwenden“

  • String[Nummer]-Zugriff

  • Mehrzeilige Zeichenfolgen

  • String.trim()

  • Array.isArray()

  • Array forEach()

  • Array-Map()

  • Array-Filter()

  • Array-Reduzierung()

  • Array reduceRight()

  • Array every()

  • Array some()

  • Array indexOf()

  • Array lastIndexOf()

  • JSON.parse()

  • JSON.stringify()

  • Date.now()

  • Datum bisISOString()

  • Datum bisJSON()

  • Property Getter und Setter

  • Reservierte Wörter als Eigenschaftsnamen

  • Objektmethoden

  • Objekt defineProperty()

  • Funktion bind()

  • Nachgestellte Kommas


Browser-Unterstützung

ES5 wird in allen modernen Browsern vollständig unterstützt:

Chrome IE Edge Firefox Safari Opera
Yes 9.0 Yes Yes Yes Yes

Die „Verwendungsstrikt“-Richtlinie

"use strict" definiert, dass der JavaScript-Code im „strikten Modus“ ausgeführt werden soll.

Im strikten Modus können Sie beispielsweise keine nicht deklarierten Variablen verwenden.

Sie können den strikten Modus in allen Ihren Programmen verwenden. Es hilft Ihnen, saubereren Code zu schreiben, Zum Beispiel, dass Sie daran gehindert werden, nicht deklarierte Variablen zu verwenden.

"use strict" ist nur ein String-Ausdruck. Alte Browser geben keine Fehlermeldung aus, wenn sie diese nicht verstehen.

Lesen Sie mehr im JS Strict Mode.


Eigenschaftszugriff auf Strings

Die Methode charAt() gibt das Zeichen an einem angegebenen Ort zurück Index (Position) in einem String:

Beispiel

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

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript String Methods</h2>

<p>The charAt() method returns the character at a given position in a string:</p>

<p id="demo"></p>

<script>
var str = "HELLO WORLD";
document.getElementById("demo").innerHTML = str.charAt(0);
</script>
</body>
</html>

ES5 ermöglicht den Eigenschaftszugriff auf Zeichenfolgen:

Beispiel

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

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript String Methods</h2>

<p>ECMAScript 5 allows property acces on strings:</p>

<p id="demo"></p>

<script>
var str = "HELLO WORLD";
document.getElementById("demo").innerHTML = str[0];
</script>
</body>
</html>

Der Eigenschaftszugriff auf eine Zeichenfolge kann etwas unvorhersehbar sein.

Lesen Sie mehr unter JS-String-Methoden.


Zeichenfolgen über mehrere Zeilen

Beispiel

 "Hello \
Dolly!";

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Strings</h1>

<p>
You can break a code line within a text string with a backslash.
</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = "Hello \
Dolly!";
</script>

</body>
</html>

Die \-Methode wird möglicherweise nicht allgemein unterstützt.
Ältere Browser funktionieren möglicherweise nicht die Leerzeichen um den Backslash unterschiedlich.
Einige ältere Browser tun dies Erlauben Sie keine Leerzeichen hinter dem Zeichen \.

Eine sicherere Möglichkeit, ein String-Literal aufzuteilen, ist die Verwendung von String Zusatz:

Beispiel

 "Hello " + 
"Dolly!";

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Strings</h1>

<p>The safest way to break a code line in a string is using string addition.</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = "Hello " +
"Dolly!";
</script>

</body>
</html>

Reservierte Wörter als Eigenschaftsnamen

ES5 erlaubt reservierte Wörter als Eigenschaftsnamen:

Objektbeispiel

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

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>
<body>
<h1>ECMAScript 5</h1>

<p>ECMAScript 5 allows reserved words as property names.</p>
<p id="demo"></p>

<script>
var obj = {name: "John", new: "yes"};
document.getElementById("demo").innerHTML = obj.new;
</script>

</body>
</html>



String trim()

Die Methode trim() entfernt Leerzeichen von beiden Seiten einer Zeichenfolge.

Beispiel

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

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Strings</h1>
<h2>The trim() Method</h2>

<p id="demo"></p>

<script>
let text1 = "     Hello World!     ";
let text2 = text1.trim();

document.getElementById("demo").innerHTML =
"Length text1 = " + text1.length + "<br>Length text2 = " + text2.length;
</script>

</body>
</html>

Lesen Sie mehr unter JS-String-Methoden.



Array.isArray()

Die Methode isArray() prüft, ob ein Objekt ein Array ist.

Beispiel

function myFunction() {
  var fruits = ["Banana", "Orange", "Apple", "Mango"];
  var x = document.getElementById("demo");
    x.innerHTML = Array.isArray(fruits);
}

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arrays</h1>
<h2>The isArray() Method</h2>

<p>Click the button to check if "fruits" is an array.</p>

<button onclick="myFunction()">Try it</button>

<p id="demo"></p>

<script>
function myFunction() {
  var fruits = ["Banana", "Orange", "Apple", "Mango"];
  var x = document.getElementById("demo");
  x.innerHTML = Array.isArray(fruits);
}
</script>

</body>
</html>

Lesen Sie mehr unter JS-Arrays.


Array forEach()

Die Methode forEach() ruft für jedes Array-Element einmal eine Funktion auf.

Beispiel

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

function myFunction(value) {
   
txt = txt + value + "<br>"; 
}

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Array.forEach()</h2>

<p>Calls a function once for each array element.</p>

<p id="demo"></p>

<script>
var txt = "";
var numbers = [45, 4, 9, 16, 25];
numbers.forEach(myFunction);
document.getElementById("demo").innerHTML = txt;

function myFunction(value) {
  txt = txt + value + "<br>"; 
}
</script>

</body>
</html>

Weitere Informationen finden Sie unter JS-Array-Iterationsmethoden.


Array map()

In diesem Beispiel wird jeder Array-Wert mit 2 multipliziert:

Beispiel

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

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Array.map()</h2>

<p>Creates a new array by performing a function on each array element.</p>

<p id="demo"></p>

<script>
var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);

document.getElementById("demo").innerHTML = numbers2;

function myFunction(value, index, array) {
  return value * 2;
}
</script>

</body>
</html>

Weitere Informationen finden Sie unter JS-Array-Iterationsmethoden.


Array filter()

In diesem Beispiel wird ein neues Array aus Elementen mit einem Wert größer als 18 erstellt:

Beispiel

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

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Array.filter()</h2>

<p>Creates a new array with all array elements that passes a test.</p>

<p id="demo"></p>

<script>
var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);

document.getElementById("demo").innerHTML = over18;

function myFunction(value, index, array) {
  return value > 18;
}
</script>

</body>
</html>

Weitere Informationen finden Sie unter JS-Array-Iterationsmethoden.


Array reduce()

In diesem Beispiel wird die Summe aller Zahlen in einem Array ermittelt:

Beispiel

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

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Array.reduce()</h2>

<p>This example finds the sum of all numbers in an array:</p>

<p id="demo"></p>

<script>
var numbers = [45, 4, 9, 16, 25];
var sum = numbers.reduce(myFunction);

document.getElementById("demo").innerHTML = "The sum is " + sum;

function myFunction(total, value, index, array) {
  return total + value;
}
</script>

</body>
</html>

Weitere Informationen finden Sie unter JS-Array-Iterationsmethoden.


Array reduceRight()

In diesem Beispiel wird auch die Summe aller Zahlen in einem Array ermittelt:

Beispiel

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

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Array.reduceRight()</h2>

<p>This example finds the sum of all numbers in an array:</p>

<p id="demo"></p>

<script>
var numbers = [45, 4, 9, 16, 25];
var sum = numbers.reduceRight(myFunction);

document.getElementById("demo").innerHTML = "The sum is " + sum;

function myFunction(total, value) {
  return total + value;
}
</script>

</body>
</html>

Weitere Informationen finden Sie unter JS-Array-Iterationsmethoden.


Array every()

In diesem Beispiel wird geprüft, ob alle Werte über 18 liegen:

Beispiel

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

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Array.every()</h2>

<p>The every() method checks if all array values pass a test.</p>

<p id="demo"></p>

<script>
var numbers = [45, 4, 9, 16, 25];
var allOver18 = numbers.every(myFunction);

document.getElementById("demo").innerHTML = "All over 18 is " + allOver18;

function myFunction(value, index, array) {
  return value > 18;
}
</script>

</body>
</html>

Weitere Informationen finden Sie unter JS-Array-Iterationsmethoden.


Array some()

In diesem Beispiel wird geprüft, ob einige Werte über 18 liegen:

Beispiel

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

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Array.some()</h2>

<p>The some() method checks if some array values pass a test.</p>

<p id="demo"></p>

<script>
var numbers = [45, 4, 9, 16, 25];
var allOver18 = numbers.some(myFunction);

document.getElementById("demo").innerHTML = "Some over 18 is " + allOver18;

function myFunction(value) {
  return value > 18;
}
</script>

</body>
</html>

Weitere Informationen finden Sie unter JS-Array-Iterationsmethoden.


Array indexOf()

Durchsucht ein Array nach einem Elementwert und gibt dessen Position zurück.

Beispiel

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var a = fruits.indexOf("Apple");

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arrays</h1>
<h2>The indexOf() Method</h2>

<p id="demo"></p>

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

document.getElementById("demo").innerHTML = "Apple is found in position " + position;
</script>

</body>
</html>

Weitere Informationen finden Sie unter JS-Array-Iterationsmethoden.


Array lastIndexOf()

lastIndexOf() ist dasselbe wie indexOf(), sucht jedoch am Ende des Arrays.

Beispiel

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var a = fruits.lastIndexOf("Apple");

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arrays</h1>
<h2>The lastIndexOf() Method</h2>

<p id="demo"></p>

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

document.getElementById("demo").innerHTML = "Apple is found in position " + position;
</script>

</body>
</html>

Weitere Informationen finden Sie unter JS-Array-Iterationsmethoden.


JSON.parse()

Eine häufige Verwendung von JSON ist der Empfang von Daten von einem Webserver.

Stellen Sie sich vor, Sie hätten diese Textzeichenfolge von einem Webserver erhalten:

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

Die JavaScript-Funktion JSON.parse() wird verwendet, um den Text in ein JavaScript-Objekt zu konvertieren:

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

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>
<body>

<h2>Creating an Object from a JSON String</h2>

<p id="demo"></p>

<script>
const txt = '{"name":"John", "age":30, "city":"New York"}'
const obj = JSON.parse(txt);
document.getElementById("demo").innerHTML = obj.name + ", " + obj.age;
</script>

</body>
</html>

Lesen Sie mehr in unserem JSON-Tutorial.


JSON.stringify()

Eine häufige Verwendung von JSON besteht darin, Daten an einen Webserver zu senden.

Beim Senden von Daten an einen Webserver müssen die Daten vorhanden sein ein Faden.

Stellen Sie sich vor, wir haben dieses Objekt in JavaScript:

var obj = {name:"John", age:30, city:"New York"};

Verwenden Sie die JavaScript-Funktion JSON.stringify(), um es in einen String umzuwandeln.

var myJSON = JSON.stringify(obj);

Das Ergebnis ist eine Zeichenfolge, die der JSON-Notation folgt.

myJSON ist jetzt eine Zeichenfolge und kann an einen Server gesendet werden:

Beispiel

var obj = {name:"John", age:30, city:"New York"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>
<body>

<h2>Create a JSON string from a JavaScript object.</h2>
<p id="demo"></p>

<script>
const obj = {name: "John", age: 30, city: "New York"};
const myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;
</script>

</body>
</html>

Lesen Sie mehr in unserem JSON-Tutorial.


Date.now()

Date.now() gibt die Anzahl der Millisekunden seit dem Nulldatum (1. Januar) zurück. 1970 00:00:00 UTC).

Beispiel

var timInMSs = Date.now();

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Date.now()</h2>

<p>Date.now() is new in ECMAScript 5 (2009):</p>

<p id="demo1"></p>
<p id="demo2"></p>

<script>
document.getElementById("demo1").innerHTML = Date.now();
var d = new Date();
document.getElementById("demo2").innerHTML = d.getTime();
</script>
</body>
</html>

Date.now() gibt dasselbe zurück wie getTime(), das für ein Date-Objekt ausgeführt wird.

Erfahren Sie mehr in JS Dates.


Datum toISOString()

Die Methode toISOString() konvertiert ein Date-Objekt in eine Zeichenfolge unter Verwendung des ISO-Standardformats:

Beispiel

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

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Dates</h1>
<h2>The toISOString() Method</h2>

<p>Convert a date to a string using the ISO standard:</p>
<p id="demo"></p>

<script>
const d = new Date();
document.getElementById("demo").innerHTML = d.toISOString();
</script>

</body>
</html>

Datum toJSON()

toJSON() konvertiert ein Date-Objekt in eine Zeichenfolge, formatiert als JSON-Datum.

JSON-Daten haben das gleiche Format wie der ISO-8601-Standard: JJJJ-MM-TTTHH:mm:ss.sssZ:

Beispiel

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

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Date.toJSON()</h2>

<p id="demo"></p>

<script>
d = new Date();
document.getElementById("demo").innerHTML = d.toJSON();
</script>

</body>
</html>

Property Getter und Setter

Mit ES5 können Sie Objektmethoden mit einer Syntax definieren, die dem Abrufen oder Festlegen ähnelt Ein Besitz.

In diesem Beispiel wird ein Getter für eine Eigenschaft namens fullName erstellt:

Beispiel

 // Create an object:
var 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; 

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Getters and Setters</h2>

<p>Getters and setters allow you to get and set properties via methods.</p>

<p>This example creates a getter for a property called fullName.</p>

<p id="demo"></p>

<script>
// Create an object:
var 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;
</script>

</body>
</html>

In diesem Beispiel werden ein Setter und ein Getter für die Spracheigenschaft erstellt:

Beispiel

 var person = {
  firstName: "John",
  
  lastName : "Doe",
  language : "NO",
  
  get lang() {
    return this.language;
  },
  set lang(value) {
    
  this.language = value;
  }
};
// Set an object 
  property using a setter:
person.lang = "en";
// Display data from the 
  object using a getter:
document.getElementById("demo").innerHTML = 
  person.lang;
 

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Getters and Setters</h2>

<p>Getters and setters allow you to get and set properties via methods.</p>

<p>This example creates a setter and a getter for the language property.</p>

<p id="demo"></p>

<script>
// Create an object:
var person = {
  firstName: "John",
  lastName : "Doe",
  language : "NO",
  get lang() {
    return this.language;
  },
  set lang(value) {
    this.language = value;
  }
};
// Set an object property using a setter:
person.lang = "en";
// Display data from the object using a getter:
document.getElementById("demo").innerHTML = person.lang;
</script>

</body>
</html>

In diesem Beispiel wird ein Setter verwendet, um Aktualisierungen der Sprache in Großbuchstaben sicherzustellen:

Beispiel

 var person = {
  firstName: "John",
  
  lastName : "Doe",
  language : "NO",
  set lang(value) {
    
  this.language = value.toUpperCase();
  }
};
// Set an object 
  property using a setter:
person.lang = "en";
// Display data from the 
  object:
document.getElementById("demo").innerHTML = 
  person.language;
 

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Getters and Setters</h2>

<p>Getters and setters allow you to get and set properties via methods.</p>

<p>This example has a modified setter to secure upper case uppdates of language.</p>

<p id="demo"></p>

<script>
// Create an object:
var person = {
  firstName: "John",
  lastName : "Doe",
  language : "",
  set lang(value) {
     this.language = value.toUpperCase();
  }
};
// Set an object property using a setter:
person.lang = "en";
// Display data from the object:
document.getElementById("demo").innerHTML = person.language;
</script>

</body>
</html>

Erfahren Sie mehr über Gettes und Setter in JS-Objektzugriffsfunktionen


Object.defineProperty()

Object.defineProperty() ist eine neue Objektmethode in ES5.

Sie können damit eine Objekteigenschaft definieren und/oder den Wert einer Eigenschaft ändern und/oder Metadaten.

Beispiel

 // Create an Object:
var person = {
  firstName: 
  "John",
  lastName : "Doe",
  language : "NO", 
};

  // Change a Property:
Object.defineProperty(person, "language", {
    
  value: "EN",
  writable : true,
  enumerable : true,
  configurable : true
});
// 
  Enumerate Properties
var txt = "";
for (var x in person) {
    
  txt += person[x] + "<br>";
}
document.getElementById("demo").innerHTML = 
  txt;
 

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>

<head>
<meta content="text/html; charset=iso-8859-2" http-equiv="Content-Type">
</head>

<body>

<h2>JavaScript defineProperty()</h2>

<p id="demo"></p>

<script>
// Create an Object:
var person = {
  firstName: "John",
  lastName : "Doe",
  language : "NO", 
};
// Change a Property:
Object.defineProperty(person, "language", {
  value: "EN",
  writable : true,
  enumerable : true,
  configurable : true
});
// Enumerate Properties
txt = "";
for (var x in person) {
  txt += person[x] + "<br>";
}
document.getElementById("demo").innerHTML = txt;
</script>

</body>
</html>

Das nächste Beispiel ist derselbe Code, außer dass die Spracheigenschaft vor der Aufzählung ausgeblendet wird:

Beispiel

 // Create an Object:
var person = {
  firstName: 
  "John",
  lastName : "Doe",
  language : "NO", 
};

  // Change a Property:
Object.defineProperty(person, "language", {
    
  value: "EN",
  writable : true,
  enumerable : false,
  configurable : true
});
// 
  Enumerate Properties
var txt = "";
for (var x in person) {
    
  txt += person[x] + "<br>";
}
document.getElementById("demo").innerHTML = 
  txt;
 

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript defineProperty()</h2>

<p id="demo"></p>

<script>
// Create an Object:
var person = {
  firstName: "John",
  lastName : "Doe",
  language : "NO", 
};
// Change a Property:
Object.defineProperty(person, "language", {
  value: "EN",
  writable : true,
  enumerable : false,
  configurable : true
});
// Enumerate Properties
txt = "";
for (var x in person) {
  txt += person[x] + "<br>";
}
document.getElementById("demo").innerHTML = txt;
</script>

</body>
</html>

In diesem Beispiel werden ein Setter und ein Getter erstellt, um Aktualisierungen der Sprache in Großbuchstaben sicherzustellen:

Beispiel

 // Create an Object:
var person = {
  firstName: "John",
    lastName : 
  "Doe",
  language : "NO"
};
// Change a Property:
  Object.defineProperty(person, "language", {
  get : function() { return 
  language },
  set : function(value) { language = value.toUpperCase()}
});

  // Change Language
person.language = "en";
// Display Language
  document.getElementById("demo").innerHTML = person.language;

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript defineProperty()</h2>

<p id="demo"></p>

<script>
// Create an Object:
var person = {
  firstName: "John",
  lastName : "Doe",
  language : "NO"
};
// Change a Property:
Object.defineProperty(person, "language", {
  get : function() { return language },
  set : function(value) { language = value.toUpperCase()}
});
// Change language
person.language = "en";
// Display language
document.getElementById("demo").innerHTML = person.language;
</script>

</body>
</html>

E5-Objektmethoden

ES5 hat JavaScript viele neue Objektmethoden hinzugefügt:

Objekte verwalten

// Create object with an existing object as prototype
Object.create(parent, donor)

// Adding or changing an object property
Object.defineProperty(object, property, descriptor)

// Adding or changing object properties
Object.defineProperties(object, descriptors)

// Accessing Properties
Object.getOwnPropertyDescriptor(object, property)

// Returns all properties as an array
Object.getOwnPropertyNames(object)

// Accessing the prototype
Object.getPrototypeOf(object)

// Returns enumerable properties as an array
Object.keys(object)

Objekte schützen

// Prevents adding properties to an object
Object.preventExtensions(object)

// Returns true if properties can be added to an object
Object.isExtensible(object)

// Prevents changes of object properties (not values)
Object.seal(object)

// Returns true if object is sealed
Object.isSealed(object)

// Prevents any changes to an object
Object.freeze(object)

// Returns true if object is frozen
Object.isFrozen(object)

Erfahren Sie mehr in Object ECMAScript5.


Funktion Bind()

Mit der Methode bind() kann ein Objekt eine Methode von einem anderen Objekt ausleihen.

In diesem Beispiel werden zwei Objekte erstellt (Person und Mitglied).

Das Member-Objekt leiht sich die Fullname-Methode vom Person-Objekt:

Beispiel

const person = {
  firstName:"John",
  lastName: "Doe",
    fullName: function () {
    return this.firstName + " " + this.lastName;
    }
}

const member = {
  firstName:"Hege",
  lastName: "Nilsen",
}

let fullName = person.fullName.bind(member);

Probieren Sie es selbst aus →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Function bind()</h1>

<p>This example creates 2 objects (person and member).</p>
<p>The member object borrows the fullname method from person:</p> 

<p id="demo"></p>

<script>
const person = {
  firstName:"John",
  lastName: "Doe",
  fullName: function() {
    return this.firstName + " " + this.lastName;
  }
}

const member = {
  firstName:"Hege",
  lastName: "Nilsen",
}

let fullName = person.fullName.bind(member);

document.getElementById("demo").innerHTML = fullName();
</script>

</body>
</html>

Weitere Informationen finden Sie unter Funktion bind().


Nachgestellte Kommas

ES5 erlaubt nachgestellte Kommas in Objekt- und Array-Definitionen:

Objektbeispiel

person = {
  firstName: "John",
  lastName: "
Doe",
	age: 46,
}

Array-Beispiel

points = [
  1,
  5,
  10,
  25,
  40,
  100,
];

WARNUNG !!!

JSON erlaubt keine abschließenden Kommas.

JSON-Objekte:

 //
  Allowed:
var person = '{"firstName":"John", "lastName":"Doe", 
  "age":46}'
JSON.parse(person)
// Not allowed:
var person = '{"firstName":"John", 
  "lastName":"Doe", "age":46,}'
JSON.parse(person)

JSON-Arrays:

   //
    Allowed:
points = [40, 100, 1, 5, 25, 10]
// Not allowed:
points = 
    [40, 100, 1, 5, 25, 10,]