JavaScript ES5


Obsah

    Zobrazit obsah

ECMAScript 2009, také známý jako ES5, byl první velkou revizí JavaScriptu.

Tato kapitola popisuje nejdůležitější funkce ES5.

Vlastnosti ES5

  • "použij přísné"

  • Řetězec [číslo] přístup

  • Víceřádkové řetězce

  • String.trim()

  • Array.isArray()

  • Pole pro každého()

  • Mapa pole()

  • Array filter()

  • Array reduction()

  • Array reductionRight()

  • Pole každé()

  • Seřadit nějaké()

  • Array indexOf()

  • Pole lastIndexOf()

  • JSON.parse()

  • JSON.stringify()

  • Date.now()

  • Datum do ISOString()

  • Datum do JSON()

  • Zajišťovatelé a seřizovači nemovitostí

  • Vyhrazená slova jako názvy vlastností

  • Objektové metody

  • Object defineProperty()

  • Funkce bind()

  • Koncové čárky


Podpora prohlížeče

ES5 je plně podporován ve všech moderních prohlížečích:

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

Směrnice "použít striktně".

"use strict" definuje, že kód JavaScript by měl být spouštěn v "přísném režimu".

S přísným režimem můžete například nepoužívat nedeklarované proměnné.

Přísný režim můžete použít ve všech svých programech. Pomáhá vám psát čistší kód, jako bránit vám v používání nedeklarovaných proměnných.

"use strict" je pouze řetězcový výraz. Staré prohlížeče nevyhodí chybu, pokud jí nerozumí.

Přečtěte si více v přísném režimu JS.


Přístup k vlastnostem na řetězcích

Metoda charAt() vrací znak v zadané hodnotě index (pozice) v řetězci:

Příklad

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

Zkuste to sami →

<!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 umožňuje přístup k vlastnostem řetězců:

Příklad

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

Zkuste to sami →

<!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>

Přístup k vlastnosti na řetězci může být trochu nepředvídatelný.

Přečtěte si více v části Metody řetězců JS.


Řetězce Přes Více řádků

Příklad

 "Hello \
Dolly!";

Zkuste to sami →

<!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>

Metoda\nemusí mít univerzální podporu.
Starší prohlížeče mohou léčit mezery kolem zpětného lomítka jinak.
Některé starší prohlížeče ano nepovolovat mezery za znakem \.

Bezpečnějším způsobem, jak rozdělit řetězcový literál, je použít řetězec přidání:

Příklad

 "Hello " + 
"Dolly!";

Zkuste to sami →

<!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>

Vyhrazená slova jako názvy vlastností

ES5 umožňuje vyhrazená slova jako názvy vlastností:

Příklad objektu

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

Zkuste to sami →

<!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>



Řetězec trim()

Metoda trim() odstraňuje mezery z obou stran řetězce.

Příklad

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

Zkuste to sami →

<!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>

Přečtěte si více v části Metody řetězců JS.



Array.isArray()

Metoda isArray() kontroluje, zda je objekt pole.

Příklad

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

Zkuste to sami →

<!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>

Přečtěte si více v JS Arrays.


Pole forEach()

Metoda forEach() volá funkci jednou pro každý prvek pole.

Příklad

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

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

Zkuste to sami →

<!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>

Další informace naleznete v části Metody iterace pole JS.


Pole map()

Tento příklad vynásobí každou hodnotu pole 2:

Příklad

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

Zkuste to sami →

<!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>

Další informace naleznete v části Metody iterace pole JS.


Pole filtr()

Tento příklad vytvoří nové pole z prvků s hodnotou větší než 18:

Příklad

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

Zkuste to sami →

<!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>

Další informace naleznete v části Metody iterace pole JS.


Pole reduce()

Tento příklad najde součet všech čísel v poli:

Příklad

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

Zkuste to sami →

<!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>

Další informace naleznete v části Metody iterace pole JS.


Pole reduceRight()

Tento příklad také najde součet všech čísel v poli:

Příklad

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

Zkuste to sami →

<!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>

Další informace naleznete v části Metody iterace pole JS.


Pole every()

Tento příklad kontroluje, zda jsou všechny hodnoty vyšší než 18:

Příklad

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

Zkuste to sami →

<!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>

Další informace naleznete v části Metody iterace pole JS.


Pole some()

Tento příklad kontroluje, zda jsou některé hodnoty vyšší než 18:

Příklad

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

Zkuste to sami →

<!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>

Další informace naleznete v části Metody iterace pole JS.


Pole indexOf()

Vyhledá v poli hodnotu prvku a vrátí její pozici.

Příklad

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

Zkuste to sami →

<!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>

Další informace naleznete v části Metody iterace pole JS.


Pole lastIndexOf()

lastIndexOf() je stejný jako indexOf(), ale vyhledává od konce pole.

Příklad

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

Zkuste to sami →

<!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>

Další informace naleznete v části Metody iterace pole JS.


JSON.parse()

Běžným použitím JSON je příjem dat z webového serveru.

Představte si, že jste obdrželi tento textový řetězec z webového serveru:

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

Funkce JavaScript JSON.parse() se používá k převodu textu na objekt JavaScript:

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

Zkuste to sami →

<!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>

Přečtěte si více v našem kurzu JSON.


JSON.stringify()

Běžným použitím JSON je odesílání dat na webový server.

Při odesílání dat na webový server musí být data řetězec.

Představte si, že máme tento objekt v JavaScriptu:

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

K převodu na řetězec použijte JavaScriptovou funkci JSON.stringify().

var myJSON = JSON.stringify(obj);

Výsledkem bude řetězec následující za zápisem JSON.

myJSON je nyní řetězec a je připraven k odeslání na server:

Příklad

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

Zkuste to sami →

<!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>

Přečtěte si více v našem kurzu JSON.


Date.now()

Date.now() vrací počet milisekund od nulového data (1. ledna. 1970 00:00:00 UTC).

Příklad

var timInMSs = Date.now();

Zkuste to sami →

<!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() vrátí totéž jako getTime() provedené na objektu Date.

Více se dozvíte v JS Dates.


Datum toISOString()

Metoda toISOString() převede objekt Date na řetězec pomocí standardního formátu ISO:

Příklad

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

Zkuste to sami →

<!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() převede objekt Date na řetězec formátovaný jako datum JSON.

Data JSON mají stejný formát jako standard ISO-8601: RRRR-MM-DDTHH:mm:ss.sssZ:

Příklad

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

Zkuste to sami →

<!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>

Vlastnost Getters a Setters

ES5 umožňuje definovat objektové metody se syntaxí, která vypadá jako získávání nebo nastavení nemovitost.

Tento příklad vytvoří getter pro vlastnost s názvem fullName:

Příklad

 // 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; 

Zkuste to sami →

<!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>

Tento příklad vytvoří setter a getter pro vlastnost language:

Příklad

 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;
 

Zkuste to sami →

<!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>

Tento příklad používá setter k zabezpečení aktualizací jazyka velkými písmeny:

Příklad

 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;
 

Zkuste to sami →

<!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>

Další informace o Gettes a Setters v JS Object Accessors


Object.defineProperty()

Object.defineProperty() je nová metoda Object v ES5.

Umožňuje vám definovat vlastnost objektu a/nebo změnit hodnotu vlastnosti a/nebo metadata.

Příklad

 // 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;
 

Zkuste to sami →

<!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>

Dalším příkladem je stejný kód, kromě toho, že skrývá vlastnost jazyka před výčtem:

Příklad

 // 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;
 

Zkuste to sami →

<!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>

Tento příklad vytvoří setter a getter pro zabezpečení aktualizací jazyka velkými písmeny:

Příklad

 // 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;

Zkuste to sami →

<!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 Objektové metody

ES5 přidal do JavaScriptu spoustu nových objektových metod:

Správa objektů

// 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)

Ochrana objektů

// 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)

Další informace najdete v Object ECMAScript5.


Funkce Bind()

Pomocí metody bind() si může objekt vypůjčit metodu od jiného objektu.

Tento příklad vytvoří 2 objekty (osoba a člen).

Členský objekt si vypůjčí metodu celého jména z objektu person:

Příklad

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);

Zkuste to sami →

<!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>

Další informace najdete v Function bind().


Koncové čárky

ES5 umožňuje koncové čárky v definicích objektů a polí:

Příklad objektu

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

Příklad pole

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

VAROVÁNÍ !!!

JSON nepovoluje koncové čárky.

Objekty JSON:

 //
  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)

Pole JSON:

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