Przedstawiamy nowe funkcje, które ECMAScript 2016 (ES7) dodaje do JavaScript

przez Sanket Meghani

od czasu wydania ECMAScript 2015 (znanego również jako ES6) wprowadził on ogromny zestaw nowych funkcji. Obejmują one funkcje strzałek, zestawy, mapy, klasy i destrukcję i wiele więcej. Pod wieloma względami ES2015 jest prawie jak nauka nowej wersji JavaScript.

Komitet Techniczny Ecma 39 reguluje specyfikację ECMA. Postanowili wydać nową wersję ECMAScript co roku, począwszy od 2015 roku. Coroczna aktualizacja oznacza koniec z dużymi wydaniami, takimi jak ES6.

ECMAScript 2016 wprowadził tylko dwie nowe funkcje:

  • Array.prototyp.includes ()
  • Operator wykładnika

Array.prototyp.zawiera()

Array.prototype.includes() sprawdza tablicę pod kątem wartości value przekazanej jako argument. Zwraca true, jeśli tablica zawiera value, w przeciwnym razie zwraca false.

wcześniej musieliśmy użyć Array.prototype.indexOf(), aby sprawdzić, czy dana tablica zawiera element, czy nie.

let numbers = ;
if(numbers.indexOf(2) !== -1) { console.log('Array contains value');}

z ECMA2016 możemy napisać:

if(numbers.includes(2)) { console.log('Array contains value');}

Array.prototype.includes() uchwyty NaNlepsze niż Array.prototype.indexOf(). Jeżeli tablica zawiera NaN, wtedy indexOf()nie zwraca poprawnego indeksu podczas wyszukiwania NaN.

Array.prototype.includes() zwraca poprawną wartość podczas wyszukiwania NaN.

NaN jest właściwością obiektu globalnego JavaScript i przedstawia wartość, która nie jest liczbą. Istnieją znane dziwactwa podczas porównywania NaN z inną wartością. Są one adresowane w Array.prototype.includes(), ale nie w Array.protoype.indexOf.

let numbers = ;
console.log(numbers.indexOf(NaN)); //Prints -1console.log(numbers.includes(NaN)); //Prints true

Operator wykładniczy

JavaScript obsługuje już wiele operatorów arytmetycznych, takich jak +, -, * i więcej.

ECMAScript 2016 wprowadził operator wykładniczy **.

ma ten sam cel co Math.pow(). Zwraca pierwszy argument podniesiony do potęgi drugiego argumentu.

let base = 3;let exponent = 4;let result = base**exponent;
console.log(result); //81

wniosek

nowe funkcje wprowadzone przez ECMA2016 zapewniają wygodną alternatywę dla istniejących funkcjonalności.

patrząc w przyszłość, ECMA2017 został sfinalizowany w czerwcu tego roku. Nowe funkcje obejmują async/await, SharedArrayBufferi kilka przydatnych metod do Object.prototype.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.