Guest User

Untitled

a guest
Jan 22nd, 2018
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.04 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta name="description" content="Arrow Functions - Acessando propriedades de classes">
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width">
  7. <title>Arrow Functions - Acessando propriedades de classes</title>
  8. </head>
  9. <body>
  10.  
  11. <script id="jsbin-javascript">
  12. // Um exemplo de classe problemática.
  13. // Queremos continuar acessando propriedades e métodos "de fora",
  14. // usando uma instância, mas os próprios métodos da classe tem
  15. // dificuldade de acessar as próprias propriedades.
  16. // Como resolver usando Arrow Functions () => {}, e porque funciona?
  17. const ReqOperations = function() {
  18.  
  19. this.airportList = { golAirportList: ['CWD', 'GRU'] };
  20.  
  21. this.addDestinations = function(destinationList) {
  22. return destinationList.map(function(dest, index) {
  23. // esta linha dá erro
  24. return this.airportList.golAirportList[index]+' > '+dest;
  25. });
  26. };
  27. };
  28.  
  29. let x = new ReqOperations();
  30.  
  31. // deve exibir ["CWD", "GRU"]
  32. console.log(x.airportList.golAirportList);
  33.  
  34. // deve exibir ["CWD > AMD", "GRU > GIG"], mas dá erro
  35. console.log(x.addDestinations(['AMD', 'GIG']));
  36. </script>
  37.  
  38.  
  39.  
  40. <script id="jsbin-source-javascript" type="text/javascript">// Um exemplo de classe problemática.
  41. // Queremos continuar acessando propriedades e métodos "de fora",
  42. // usando uma instância, mas os próprios métodos da classe tem
  43. // dificuldade de acessar as próprias propriedades.
  44. // Como resolver usando Arrow Functions () => {}, e porque funciona?
  45. const ReqOperations = function() {
  46.  
  47. this.airportList = { golAirportList: ['CWD', 'GRU'] };
  48.  
  49. this.addDestinations = function(destinationList) {
  50. return destinationList.map(function(dest, index) {
  51. // esta linha dá erro
  52. return this.airportList.golAirportList[index]+' > '+dest;
  53. });
  54. };
  55. };
  56.  
  57. let x = new ReqOperations();
  58.  
  59. // deve exibir ["CWD", "GRU"]
  60. console.log(x.airportList.golAirportList);
  61.  
  62. // deve exibir ["CWD > AMD", "GRU > GIG"], mas dá erro
  63. console.log(x.addDestinations(['AMD', 'GIG'])); </script></body>
  64. </html>
Add Comment
Please, Sign In to add comment