Visualizzazione dei risultati da 1 a 3 su 3

Discussione: arrow function e this

  1. #1
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520

    arrow function e this

    var v=[1,2,3];

    Array.prototype.f1 = function () {console.log(this)};
    Array.prototype.f2 = () => console.log(this);

    v.f1();
    v.f2();



    //OUTPUT
    [ 1, 2, 3 ]
    {}

    chi mi sa spiegare il perchè di questa cosa?

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    La questione è semplice, a differenza delle funzioni tradizionali, le funzioni freccia non hanno una propria variabile this, per cui il valore di this fa riferimento allo scope in cui la funzione stessa è eseguita.

    Tecnicamente le arrow function non dovrebbero essere usate come metodi di di oggetti.

    Vedi Arrow function expressions su MDN
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    grazie mille

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.