JavaScript ES6

Vad är ECMAScript 6?

ECMAScript 6 kallas också ES6 och ECMAScript 2015.

Vissa kallar det JavaScript 6.

Detta kapitel introducerar några nya egenskaper i ES6.

  • JavaScript let
  • JavaScript const
  • Potens (**)
  • Standardvärden för parametrar
  • Array.find()
  • Array.findIndex()

Webbläsarstöd för ES6 (ECMAScript 2015)

Safari 10 och Edge 14 var de första webbläsarna som fullständigt stödde ES6:

Chrome 58 Edge 14 Firefox 54 Safari 10 Opera 55
Jan 2017 Aug 2016 Mar 2017 Jul 2016 Aug 2018

JavaScript let

let-satser tillåter dig att deklarera variabler med block-scope.

Exempel

var x = 10;
// Här är x 10
{ 
  let x = 2;
  // Här är x 2
return x * y;
// Här är x 10

Prova själv

JavaScript const

const En statement som tillåter dig att deklarera konstanter (JavaScript variabler med konstanta värden).

Konstanter liknar let Variabler kan ändras, men inte deras värden.

Exempel

var x = 10;
// Här är x 10
{ 
  const x = 2;
  // Här är x 2
return x * y;
// Här är x 10

Prova själv

på vår JavaScript Let / Const Läs mer om let och const innehållet.

exponentiell operator

Tag potensoperatorn (**)lyfter den första operanden till den andra operandens potens.

Exempel

var x = 5;
var z = x ** 2;          // Resultatet är 25

Prova själv

x ** y resultatet är lika med Math.pow(x,y) Samma:

Exempel

var x = 5;
var z = Math.pow(x,2);   // Resultatet är 25

Prova själv

Standardvärden för parametrar

ES6 Funktioner kan ha standardvärden för parametrar.

Exempel

function myFunction(x, y = 10) {
  // y är 10 om inte angiven eller undefined
  return x + y;
return x * y;
myFunction(5); // Returnerar 15

Prova själv

Array.find()

find() Metoden returnerar värdet för den första elementet i den testade arrayen.

Detta exempel söker (returnerar) det första elementet (värdet) som är större än 18:

Exempel

var numbers = [4, 9, 16, 25, 29];
var first = numbers.find(myFunction);
function myFunction(value, index, array) {
  return value > 18;
return x * y;

Prova själv

Observera att denna funktion accepterar 3 parametrar:

  • Projektvärde
  • Projektindex
  • Arrayen själv

Array.findIndex()

findIndex() Metoden returnerar indexet för den första elementet i den testade arrayen.

Detta exempel bestämmer indexet för den första elementet som är större än 18:

Exempel

var numbers = [4, 9, 16, 25, 29];
var first = numbers.findIndex(myFunction);
function myFunction(value, index, array) {
  return value > 18;
return x * y;

Prova själv

Observera att denna funktion accepterar 3 parametrar:

  • Projektvärde
  • Projektindex
  • Arrayen själv

Nya numeriska egenskaper

ES6 har lagt till följande egenskaper till Number-objektet:

  • EPSILON
  • MIN_SAFE_INTEGER
  • MAX_SAFE_INTEGER

Exempel

var x = Number.EPSILON;

Prova själv

Exempel

var x = Number.MIN_SAFE_INTEGER;

Prova själv

Exempel

var x = Number.MAX_SAFE_INTEGER;

Prova själv

Nya numeriska metoder

ES6 har lagt till 2 nya metoder till Number-objektet:

  • Number.isInteger()
  • Number.isSafeInteger()

Number.isInteger() metoden

om parametern är ett heltal Number.isInteger() isNaN() metoden returnerarobjektmethoder.

Exempel

Number.isInteger(10);        // Återger true
Number.isInteger(10.5);      // Återger false

Prova själv

Number.isSafeInteger() metoden

Säkra heltal kan exakt representeras som en dubbelprecisionstal.

om parametern är en säker heltal Number.isSafeInteger() isNaN() metoden returnerarobjektmethoder.

Exempel

Number.isSafeInteger(10);    // Återger true
Number.isSafeInteger(12345678901234567890);  // Återger false

Prova själv

Säkra heltal är alla heltal från -(253 - 1) till +(253 - 1).

Detta är säkert: 9007199254740991. Detta är osäkert: 9007199254740992.

Nya globala metoder

ES6 har också lagt till 2 nya globala numeriska metoder:

  • isFinite()
  • om värdet är

isFinite() metoden

om parametern är Infinity eller NaNglobalt isFinite() Metoden returnerar false.

Annars returnerar true:

Exempel

isFinite(10/0);       // Återger false
isFinite(10/1);       // Återger true

Prova själv

isNaN() metoden

om argumentet är NaNglobalt om värdet är isNaN() metoden returnerartrue annars returnerarfalse

Exempel

:

Prova själv

isNaN("Hello"); // Returnerar true

pilarfunktioner (Arrow Function)

pilarfunktioner tillåter användning av en kortare syntax för att skriva funktionsexpressioner. du behöver inte functionreturn nyckelord ochnyckelord samtobjektmethoder.

Exempel

klamrar
// ES5
   var x = function(x, y) {
return x * y;
}
// ES6

Prova själv

const x = (x, y) => x * y; pilarfunktioner har intethisDe är inte lämpliga för att definieraobjektmethoder.

.pilarfunktioner har inte höjts upp. De måste användasföre

att definiera. const jämfört med att använda var säkrare, eftersom funktionsexpressioner alltid är konstanta värden.

Om funktionen är en enda mening, kan den endast utelämnas return Nyckelord och klamrar. Därför kan det vara en bra vana att behålla dem:

Exempel

const x = (x, y) => { return x * y };

Prova själv