Co wprowadziło ES7 do JS

Co wprowadziło ES7 do JavaScript

Podziel się ze znajomymi

Od wprowadzenia ES2015, ECMA corocznie dokonuje aktualizacji specyfikacji na podstawie której dokonywane są zmiany w JavaScript. Dlatego w tym wpisie przedstawię Wam zmiany wprowadzone w ES7 (oficjalna nazwa ES2016). Jeśli jeszcze nie widzieliście wpisów omawiających zmiany w ES6, zachęcam Was do zapoznania się z nimi:

Array.prototype.includes

Przed wprowadzeniem standardu ES7 programiści chcąc sprawdzić czy dana wartość występuje w tablicy wykorzystywali metodę indexOf, która zwraca index znalezionego elementu w tabeli lub -1, gdy nie znaleziono szukanej wartości. Poniżej przedstawiam kod z wykorzystaniem metody indexOf.

const fruits = ['banana', 'apple', 'orange']
if (fruits.indexOf('banana')) {
  console.log('banana')
}

 

Metoda ta powodowała problem, ponieważ w przypadku, kiedy zwracany był index 0 warunek przyjmował wartość false. Dlatego trzeba było stosować pewne obejście, które pozwalało na poprawne działanie kodu. Przykład z zastosowaniem obejścia.

const fruits = ['banana', 'apple', 'orange']
if (fruits.indexOf('banana')) {
  console.log('banana')
}
if (fruits.indexOf('banana') !== -1) {
  console.log('banana')
}

 

Metoda include unika omówionego problemu, ponieważ zwraca wartość boolean. W przypadku znalezienia wartości zwracana jest wartość true, zaś kiedy nie ma elementu wartość false. W argumentach wywołania umożliwia przekazywanie szukanej wartości oraz miejsca rozpoczęcia poszukiwania. Dodatkowo pozwala także na pracę z wartością NaN. Poniżej przykład z użycie metody include.

const fruits = ['banana', 'apple', 'orange', NaN]
if (fruits.includes('banana')) {
  console.log('banana')
}
if (fruits.includes(NaN)) {
  console.log('NaN')
}

 

Operator potęgowania (Exponentiation Operator)

W ES6 aby osiągnąć potęgowanie należało utworzyć pętlę, funkcję rekurencyjną lub wykorzystać Math.pow().

console.log(Math.pow(7,12))
console.log(Math.pow(2,10))

 

Wraz ze standardem ES7 wprowadzony został operator potęgowania. Głównie wykorzystywany jest przez programistów zajmujących się matematyką, grafiką 3D, wirtualną rzeczywistością lub wizualizacji danych. Można także korzystać z przypisywania operacji. Rozwiązanie to jest zaczerpnięte z innych języków, np. Python. Poniżej przedstawiam przykładowy kod z wykorzystaniem nowego operatora.

console.log(7 ** 12)
console.log(2 ** 10)
const a = 7 ** 12
const b = 2 ** 10
let c = 7
c **= 12
let d = 2
d **= 7
console.log(c)
console.log(d)

 

Podsumowanie

Jak mogliśmy zobaczyć w ES7 zostały wprowadzone dwa ciekawe rozwiązania. Wprowadzenie metody include bardzo ułatwiło prace z tablicami i nie ma już potrzeby stosowania różnego rodzaju obejść. Z operatora potęgowania jak na razie korzystałem tylko w jednym projekcie, który realizowałem na potrzeby zaliczenia przedmiotu studenckiego. W nadchodzących wpisach będziecie mogli poznać kolejne odsłony specyfikacji ECMA.

3 thoughts on “Co wprowadziło ES7 do JavaScript

    1. Dziękuję za komentarz i uwagę dotyczącą listingów. Wcześniej nie zauważyłem tam błędów. W najbliższych tygodnia będą pojawiały się kolejne materiały związane z nowszymi wersjami JS 🙂

  1. Coś mało tych informacji. Postaraj się bardziej, bo wygląda jak spam. Jeszcze ten popup. Ta strona to są jakieś jaja. Nie pozdrawiam.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *