Szukaj…


Wprowadzenie

Węzeł 6 staje się nową wersją węzła LTS. Możemy zobaczyć wiele ulepszeń języka dzięki nowym standardom ES6. Omówimy niektóre z wprowadzonych nowych funkcji i przykłady ich wdrożenia.

Domyślne parametry funkcji

function addTwo(a, b = 2) {
    return a + b;
}

addTwo(3) // Returns the result 5

Dzięki dodaniu domyślnych parametrów funkcji możesz teraz ustawić argumenty jako opcjonalne i ustawić je na wartość domyślną do wyboru.

Parametry odpoczynku

function argumentLength(...args) {
    return args.length;
}

argumentLength(5) // returns 1
argumentLength(5, 3) //returns 2
argumentLength(5, 3, 6) //returns 3

Przez poprzedzenie ostatniego argumentu funkcji znakiem ... wszystkie argumenty przekazane do funkcji są odczytywane jako tablica. W tym przykładzie otrzymujemy wiele argumentów i otrzymujemy długość tablicy utworzonej z tych argumentów.

Spread Operator

function myFunction(x, y, z) { }
var args = [0, 1, 2];
myFunction(...args);

Składnia rozprzestrzeniania umożliwia rozwinięcie wyrażenia w miejscach, w których oczekuje się wielu argumentów (dla wywołań funkcji) lub wielu elementów (dla literałów tablicowych) lub wielu zmiennych. Podobnie jak pozostałe parametry, po prostu wprowadź tablicę za pomocą ...

Funkcje strzałek

Funkcja strzałki to nowy sposób definiowania funkcji w ECMAScript 6.

// traditional way of declaring and defining function
var sum = function(a,b)
{
    return a+b;
}

// Arrow Function
let sum = (a, b)=> a+b;

//Function defination using multiple lines 
let checkIfEven = (a) => {
    if( a % 2 == 0 )
        return true;
    else
        return false;
}

„to” w funkcji strzałki

Ta funkcja dotyczy przykład obiektu używanych do wywoływania tej funkcji, ale o tym strzałki funkcji jest równa w tym funkcji, w których funkcja strzałek jest zdefiniowana.

Rozumiem za pomocą diagramu zakres leksykalny tej funkcji strzałki

Zrozumienie za pomocą przykładów.

var normalFn = function(){
   console.log(this) // refers to global/window object.
}

var arrowFn = () => console.log(this); // refers to window or global object as function is defined in scope of global/window object
    
var service = {

    constructorFn : function(){

        console.log(this); //  refers to service as service object used to call method.

        var nestedFn = function(){
            console.log(this); // refers window or global object because no instance object was used to call this method.
        }
        nestedFn();
    },
    
    arrowFn : function(){
        console.log(this); // refers to service as service object was used to call method.
        let fn = () => console.log(this); // refers to service object as arrow function defined in function which is called using instance object.
        fn();
    } 
}

// calling defined functions
constructorFn();
arrowFn();
service.constructorFn();
service.arrowFn();

W zależności strzałką, jest zakres słownikowa których zakres funkcji gdzie strzałka funkcja jest określona.
Pierwszym przykładem jest tradycyjny sposób definiowania funkcji, a więc odnosi się do globalnego okiennej / obiektu.
W drugim przypadku jest on stosowany funkcja strzałki wewnątrz a więc odnosi się do zakresu, w którym jest określone (który jest okna lub globalny obiektu). W trzecim przykładzie jest to obiekt usługi jako przedmiot usługa jest wykorzystywana do wywołania funkcji.
W czwartym przykładzie funkcja strzałki jest zdefiniowana i wywołana z funkcji, której zasięg jest usługą , dlatego wypisuje obiekt usługi .

Uwaga: - obiekt globalny jest drukowany w Node.Js i obiekt Windows w przeglądarce.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow